Go to file
johnnyq bb44ecec3f Trips UI/UX - Move Client at the end column for consistency 2025-05-28 18:13:44 -04:00
.github swap donate link for sponsor services link 2025-02-05 15:15:28 +00:00
ajax Only show 8 notifications at a time instead of 10 2025-05-28 17:43:03 -04:00
api/v1 Start recording ticket source (API, Email, Portal, Agent) 2025-04-28 14:51:38 +01:00
client Stripe - Remove the locally stored payment identifiers (expiry/last 4) from the database when the client removes the stripe pm 2025-05-27 19:29:03 +01:00
css Quotes / Invoicing 2025-05-14 10:41:32 +01:00
guest More UI updates to Guest Pay 2025-05-23 18:25:09 -04:00
includes Don't show Checkbox columns when ticket is closed, compact ticket list now matches round pills for status and priority 2025-05-28 17:02:50 -04:00
js More UI updates to Guest Pay 2025-05-23 18:25:09 -04:00
modals Migrated contact link models to the new ajax models this fixes the issue of the overlapping var contact_name and improves page load and performance in contact details 2025-05-21 12:18:42 -04:00
plugins Bump stripe-php from 16.4.0 to 17.2.1 2025-05-22 12:37:35 -04:00
post Admin mail settings 2025-05-27 14:00:25 +01:00
scripts Cron mail queue - fix app_log_type not being one of available enums 2025-05-27 14:05:09 +01:00
uploads
xcustom
.gitignore Add .zed to the .gitignore 2025-02-27 11:46:29 -05:00
.htaccess Hide the .git and .github folders as well as config.php 2025-01-24 19:30:22 +00:00
CHANGELOG.md Don't show Checkbox columns when ticket is closed, compact ticket list now matches round pills for status and priority 2025-05-28 17:02:50 -04:00
CODE_OF_CONDUCT.md
LICENSE
README.md Update README.md 2025-04-11 14:31:01 +01:00
SECURITY.md Update security supported versions 2025-05-26 20:34:01 +01:00
accounts.php More Migration to AJAX Modal 2025-02-17 16:44:29 -05:00
admin_api.php Moved all modals into /modals and updated all require links 2025-01-12 13:55:31 -05:00
admin_app_log.php Simplify / rework some of the filter header logic and update filter vars in the rest of the code 2025-01-22 18:55:05 -05:00
admin_audit_log.php Simplify / rework some of the filter header logic and update filter vars in the rest of the code 2025-01-22 18:55:05 -05:00
admin_backup.php Update the backup code to be a full backup zip file download of uploads and db dump along with version meta data file. Also allow to restore a single file in setup currently hidden 2025-05-07 15:37:57 -04:00
admin_category.php Show archived categories properly 2025-05-20 14:51:12 +01:00
admin_custom_link.php Migrated Tax, custom link edit over to the new AJAX model function 2025-02-18 18:47:28 -05:00
admin_debug.php Get a more accurate count of Tables rows in Debug using count instead of relying on show table status as this is not accurate all the time. 2025-05-24 13:45:27 -04:00
admin_document_template.php Changed header names from logins to credentials in asset and contact details, migrated more items to the new AJAX modal function 2025-02-18 20:25:02 -05:00
admin_document_template_details.php Changed header names from logins to credentials in asset and contact details, migrated more items to the new AJAX modal function 2025-02-18 20:25:02 -05:00
admin_mail_queue.php Added data-modal-size to the new ajax generic modal functin to define modal size if left blank it will use standard md, also moved Email Message View to use the new ajax modal 2025-02-15 17:02:35 -05:00
admin_project_template.php Moved all modals into /modals and updated all require links 2025-01-12 13:55:31 -05:00
admin_project_template_details.php Moved all modals into /modals and updated all require links 2025-01-12 13:55:31 -05:00
admin_role.php Removed the prepended user_ from the fields in the user_roles table, moved user_role_id from user_settings directly to users table, rename table user_permissions to user_client_permissions, removed unused Sessions vars in login. This upedate will require to update using update_cli.php --db_update 2025-03-10 15:57:16 -04:00
admin_settings_ai.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
admin_settings_company.php Tidy Phone Country code add + placeholder 2025-03-31 17:30:33 -04:00
admin_settings_custom_fields.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
admin_settings_default.php Remove Phone Masking option in favor of Country Codes 2025-03-26 11:10:51 -04:00
admin_settings_integration.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
admin_settings_invoice.php Renamed Recurring to recurring_invoices updated a large portion of code, and updated many other fields to reflect recurring_invoice and not just recurring 2025-03-11 22:08:37 -04:00
admin_settings_localization.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
admin_settings_mail.php Admin mail settings 2025-05-27 14:00:25 +01:00
admin_settings_module.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
admin_settings_notification.php In-App alerts are spawned 1,7 and 45 days instead of 1,7,14,30 and 90 2025-02-24 17:03:29 -05:00
admin_settings_online_payment.php - Finish updating URLs from /portal to /client 2025-01-24 15:08:09 +00:00
admin_settings_online_payment_clients.php Add stripe_pm_created_at 2025-05-23 17:13:05 -04:00
admin_settings_project.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
admin_settings_quote.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
admin_settings_security.php Cron - log retention should include the new app and audit logs tables too 2025-01-14 17:48:42 +00:00
admin_settings_telemetry.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
admin_settings_theme.php Organize color theme settings into similar color rows 2025-03-10 18:46:08 -04:00
admin_settings_ticket.php fix: missing kanban ticket settings 2025-03-28 12:00:48 -03:00
admin_software_template.php Changed header names from logins to credentials in asset and contact details, migrated more items to the new AJAX modal function 2025-02-18 20:25:02 -05:00
admin_tag.php Ported users, roles, categories, tags edit to new AJAX modal function 2025-02-17 19:29:31 -05:00
admin_tax.php Migrated Tax, custom link edit over to the new AJAX model function 2025-02-18 18:47:28 -05:00
admin_ticket_status.php Ticket statuses - Allow ordering from admin settings, this can replace the need to move the Kanban columns 2025-04-23 10:22:33 +01:00
admin_ticket_template.php Moved all modals into /modals and updated all require links 2025-01-12 13:55:31 -05:00
admin_ticket_template_details.php Ticket tasks - set maxlength html attribute 2025-05-14 16:05:43 +01:00
admin_update.php Add stupidly bigger update warning to update page. Add reminder note to check ITFlow backup (one in every ten page loads) 2025-04-19 15:14:40 +01:00
admin_user.php Fix users list 2025-03-28 12:01:39 -04:00
admin_vendor_template.php Changed header names from logins to credentials in asset and contact details, migrated more items to the new AJAX modal function 2025-02-18 20:25:02 -05:00
ajax.php Ajax contacts - Enforce client access restrictions when getting client contacts 2025-05-11 12:01:23 +01:00
asset_details.php Migrated asset link models to the new ajax models this fixes the issue of the overlapping var asset_name and improves page load and performance in asset details 2025-05-21 11:51:18 -04:00
assets.php Update setup to include restore option but place it in its own nav section for seperation. Also if DB and config is configured skip and do not show checks or database in the side nav 2025-05-24 12:28:34 -04:00
blank.php Allow start interface to be named 0 2025-03-21 21:54:55 -04:00
budget.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
budget_edit.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
calendar.php Removed Patch panel tables as they share similarities with assets and assets interfaces, rename events to calendar events and event attendees to calendar even attendees 2025-03-13 16:34:38 -04:00
certificates.php Certificates page and sidebar - Only show yellow on certificates 7 days (blanket, not just for LE) 2025-03-27 12:27:08 +00:00
client_document_details.php Added TCPDF for PDFs and allow document export to PDF 2025-03-26 19:35:27 -04:00
client_documents.php Combined client_quotes.php and quotes.php into one file quotes.php checks if get client_id var is set and which chooses to display client top header and client side nav or global nav 2025-02-18 17:04:49 -05:00
client_files.php Only store optimized WebP images, so only 1 image is stored and used for thumnails and viewing, removed fields has_preview and has_thumbnail as these are no longer needed, fixed issue when optimizing portrait images the bottom half would get cropped out 2025-03-18 16:48:05 -04:00
client_overview.php Add Phone Country code in more places for proper phone number formatting 2025-03-26 13:36:56 -04:00
client_racks.php Updated asset details Link in rack, fixed opening asset details modal when clicking on a connected asset in asset details page 2025-02-23 15:48:47 -05:00
clients.php Added Search by client Abbreviation to client and global search 2025-03-26 17:56:40 -04:00
contact_details.php Migrated contact link models to the new ajax models this fixes the issue of the overlapping var contact_name and improves page load and performance in contact details 2025-05-21 12:18:42 -04:00
contacts.php Asset and Contact Links now goto the details page instead of the details modal 2025-04-16 18:51:53 -04:00
credentials.php Fix Tags 2025-03-22 20:49:37 -04:00
dashboard.php Fix Dashboard following DB Update 1.9.7 2025-04-08 05:02:46 +01:00
database_updates.php Add stripe_pm_created_at 2025-05-23 17:13:05 -04:00
db.sql DB Dump 2025-05-24 13:23:41 -04:00
domains.php Limit Client Selection to clients that have an emtity in client filters 2025-03-22 14:11:27 -04:00
expenses.php UI/UX Expenses - Combined Category and Description Column with secondary text seperation and expanded Truncation of Description from 50 chars to 60 chars 2025-05-28 18:08:08 -04:00
favicon.ico
functions.php Cron mail queue - fix $config_smtp_encryption being set to None in IF statement 2025-05-27 14:46:50 +01:00
get_credential.php
global_search.php Global search - assets 2025-04-04 15:12:32 +01:00
index.php Redirect the blank index page to the start page 2025-04-11 14:53:02 +01:00
invoice.php Fix Invoice Header Button 2025-05-23 18:34:25 -04:00
invoices.php Add back batch payment when in client view for invoices 2025-03-22 21:01:55 -04:00
keepalive.php
locations.php Add Phone Country code in more places for proper phone number formatting 2025-03-26 13:36:56 -04:00
login.php Moved files check_login.php, get_settings.php, settings_localization_array.php, inc_set_timezone.php into the includes folder, we also moved /client/check_login.php into client/includes/ 2025-03-13 17:55:31 -04:00
mfa_enforcement.php Update Changelog and app version 2025-04-01 11:33:04 -04:00
networks.php Fixed a few debug errors where client was not checked to see if it was set in some of the create modals, replaced old url_query_strings_sb var to the correct new var url_query_strings_sort. 2025-03-27 12:01:10 -04:00
notifications.php Fix Notifications 2025-03-03 15:36:32 -05:00
payments.php Simplified Client URL Handling in global client header logic 2025-02-19 15:58:43 -05:00
post.php Moved files check_login.php, get_settings.php, settings_localization_array.php, inc_set_timezone.php into the includes folder, we also moved /client/check_login.php into client/includes/ 2025-03-13 17:55:31 -04:00
products.php Added Quick Category/Tag Add throughout utilizes the new ajax modal 2025-02-25 17:05:34 -05:00
project_details.php Project - Require CSRF token to delete a project 2025-05-11 12:25:13 +01:00
projects.php Project - Require CSRF token to delete a project 2025-05-11 12:25:13 +01:00
quote.php Fix quote top navbar options not showing following perms work 2025-05-20 11:29:26 +01:00
quotes.php Updated Client Access Permissions to use the defined in check_login.php 2025-02-22 14:25:24 -05:00
recurring_expenses.php Migrated project, transfer and quote edit to the new AJAX modal function 2025-02-16 23:14:32 -05:00
recurring_invoice.php Added SortableJS Library, and updated Invoice, Quote and Recurring to use it. Added Grab Bar Icons next to action buttons. Will now sort in Mobile much more efficiently, update ajax vars for recurring invoice 2025-04-13 13:29:16 -04:00
recurring_invoices.php Recurring invoices 2025-03-31 08:28:22 +01:00
recurring_tickets.php Rename the remain items from Scheduled Tickets to Recurring Tickets 2025-03-11 18:32:24 -04:00
report_budget.php Move reports perms to new role system 2025-02-05 14:51:53 +00:00
report_clients_with_balance.php Fix broken client link for the report clients with a balance 2025-03-02 21:03:02 -05:00
report_credential_rotation.php Completely renamed everything login to credential including tables added cascading deletion to the multi to multi tables 2025-03-12 21:28:50 -04:00
report_expense_by_vendor.php Move reports perms to new role system 2025-02-05 14:51:53 +00:00
report_expense_summary.php Move reports perms to new role system 2025-02-05 14:51:53 +00:00
report_income_by_client.php Move reports perms to new role system 2025-02-05 14:51:53 +00:00
report_income_summary.php Move reports perms to new role system 2025-02-05 14:51:53 +00:00
report_overview.php Create report landing page from nav menu 2025-02-05 14:50:21 +00:00
report_profit_loss.php Move reports perms to new role system 2025-02-05 14:51:53 +00:00
report_recurring_by_client.php Fix Recurring Income by Client Report with the updated recurring invoice vars 2025-03-12 11:36:51 -04:00
report_tax_summary.php Added Recurring Ticket Reference to Tickets 2025-03-12 13:56:36 -04:00
report_ticket_by_client.php Move reports perms to new role system 2025-02-05 14:51:53 +00:00
report_ticket_summary.php Move reports perms to new role system 2025-02-05 14:51:53 +00:00
report_tickets_unbilled.php Update more links rearrange Client Overview Side menu to match client side nav, define 0 for the post vars now defined in form. update unbilled tickets report 2025-02-20 21:07:53 -05:00
report_time_by_tech.php Hyperlink the report_time_by_tech report. Need to add a monthly version. 2025-03-19 14:07:07 +00:00
revenues.php Migrated Edit Recurring Invoice, Revenue over to the new AJAX modal 2025-02-17 11:57:10 -05:00
robots.txt
services.php Limit Client Selection to clients that have an emtity in client filters 2025-03-22 14:11:27 -04:00
setup.php Redirect to login when itflow restore completes 2025-05-24 13:30:49 -04:00
software.php Limit Client Selection to clients that have an emtity in client filters 2025-03-22 14:11:27 -04:00
ticket.php Ticket tasks - set maxlength html attribute 2025-05-14 16:05:43 +01:00
tickets.php UI/UX Expenses - Combined Category and Description Column with secondary text seperation and expanded Truncation of Description from 50 chars to 60 chars 2025-05-28 18:08:08 -04:00
tickets_compact.php Don't show Checkbox columns when ticket is closed, compact ticket list now matches round pills for status and priority 2025-05-28 17:02:50 -04:00
tickets_kanban.php Change the button handlebar class 2025-04-13 15:11:37 -04:00
tickets_list.php Don't show Checkbox columns when ticket is closed, compact ticket list now matches round pills for status and priority 2025-05-28 17:02:50 -04:00
transfers.php Migrated project, transfer and quote edit to the new AJAX modal function 2025-02-16 23:14:32 -05:00
trips.php Trips UI/UX - Move Client at the end column for consistency 2025-05-28 18:13:44 -04:00
user_activity.php User activity 2025-04-01 08:46:22 +01:00
user_details.php Feature: Added User Signature preferences, currently appends signature to ticket replies / comments 2025-03-24 12:49:47 -04:00
user_preferences.php Update some UI elements in User Preferences 2025-01-17 17:05:41 -05:00
user_security.php Further improve the MFA process, now when verification fails the modal will stay open and the secret remain the same 2025-01-28 16:34:07 -05:00
vendor_details.php Structure rework: Moved most php files that are included to /includes renamed pagination.php to filter_footer.php, updated all file to reference new filter_footer and includes 2025-01-11 14:47:32 -05:00
vendors.php Add Phone Country code in more places for proper phone number formatting 2025-03-26 13:36:56 -04:00

README.md

Contributors Stargazers Commits GPL License

ITFlow

IT documentation, ticketing and accounting system for small MSPs.

View demo
Username: demo@demo | Password: demo

About · Docs · Forum · Report Bug · Request Feature · Security

About

A comprehensive, free & open-source documentation, ticket management, and accounting platform.

ITFlow

The Problem

  • You're a small but busy managed service provider with 101 things to do. Information about your clients is unorganised, unstructured and outdated.
  • For some work, you seem to spend longer looking for the relevant documentation than actually working on the issue/project.
  • On top of the technical day to day, you also have to take care of the financial side of the business - consistent pricing, quotes/invoicing, and accounting.

The Solution: ITFlow

  • ITFlow consolidates common MSP needs (documentation, ticketing and billing) into one unified system.

Getting Started

Self Hosting

  • The best installation method is to use the install script on Ubuntu/Debian. A video walk through is available here.
  wget -O itflow_install.sh https://github.com/itflow-org/itflow-install-script/raw/main/itflow_install.sh
  bash itflow_install.sh
  • Other manual installation methods are available in the docs.

Managed Hosting

Key Features

  • Client documentation - assets, contacts, domains, docs, files, passwords, and more
  • Accounting / Billing - finance dashboard, quotes, invoices, accounting, expenses, etc
  • Client Portal - self service quote/invoice/ticket management for clients
  • Alerting - account balance, invoices, domain/SSL renewals
  • Completely free & open-source alternative to ITGlue and Hudu

Roadmap / Future to-do

We track the implementation of confirmed features and bugs via TaskFlow. Use the forum to request features or raise bug reports.

Support & Contributions

Forum

For help using ITFlow, bugs, feature requests, and general ideas / discussions please use the community forum.

Contributing

If you want to improve ITFlow, feel free to fork the repo and create a pull reques. Make sure to discuss significant changes or new features with fellow contributors on the forum first. This helps ensure that your contributions are aligned with project goals, and saves time for everyone. All contributions should follow our code standards. See the contributing guide.

Contributors

Supporters

Were incredibly grateful to the organizations and individuals who support the project - a big thank you to:

  • CompuMatter
  • F1 for HELP
  • JetBrains (PhpStorm)

License

ITFlow is distributed "as is" under the GPL License, WITHOUT WARRANTY OF ANY KIND. See LICENSE for details.

Security

  • As of 2025, we now have a stable release of the project.
  • Whilst we are confident in the safety of the code, no system is risk-free. Nearly all software has bugs. Use your best judgement before storing highly confidential information in ITFlow.
  • If you have a security concern, privately report it here.