|
|
||
|---|---|---|
| .github | ||
| api/v1 | ||
| css | ||
| dist | ||
| js | ||
| plugins | ||
| uploads | ||
| vendor | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| account_add_modal.php | ||
| account_edit_modal.php | ||
| accounts.php | ||
| admin_side_nav.php | ||
| alerts.php | ||
| alerts_archived.php | ||
| api.php | ||
| api_key_add_modal.php | ||
| api_key_edit_modal.php | ||
| api_keys.php | ||
| assets.php | ||
| base32static.php | ||
| blank.php | ||
| calendar_add_modal.php | ||
| calendar_event_add_modal.php | ||
| calendar_event_edit_modal.php | ||
| calendar_events.php | ||
| campaign.php | ||
| campaign_add_modal.php | ||
| campaign_edit_modal.php | ||
| campaign_test_modal.php | ||
| campaign_track.php | ||
| campaigns.php | ||
| categories.php | ||
| category_add_modal.php | ||
| category_edit_modal.php | ||
| category_quick_add_modal.php | ||
| check_login.php | ||
| client.js | ||
| client.php | ||
| client_add_modal.php | ||
| client_asset_add_modal.php | ||
| client_asset_edit_modal.php | ||
| client_asset_import_modal.php | ||
| client_assets.php | ||
| client_certificate_add_modal.php | ||
| client_certificate_edit_modal.php | ||
| client_certificates.php | ||
| client_contact_add_modal.php | ||
| client_contact_details_modal.php | ||
| client_contact_edit_modal.php | ||
| client_contacts.php | ||
| client_delete_modal.php | ||
| client_document_add_modal.php | ||
| client_document_edit_modal.php | ||
| client_document_tags_modal.php | ||
| client_document_view_modal.php | ||
| client_documents.php | ||
| client_domain_add_modal.php | ||
| client_domain_edit_modal.php | ||
| client_domains.php | ||
| client_edit_modal.php | ||
| client_events.php | ||
| client_file_add_modal.php | ||
| client_file_view_modal.php | ||
| client_files.php | ||
| client_invoices.php | ||
| client_location_add_modal.php | ||
| client_location_edit_modal.php | ||
| client_locations.php | ||
| client_login_add_modal.php | ||
| client_login_edit_modal.php | ||
| client_logins.php | ||
| client_logs.php | ||
| client_network_add_modal.php | ||
| client_network_edit_modal.php | ||
| client_networks.php | ||
| client_payments.php | ||
| client_print.php | ||
| client_quotes.php | ||
| client_recurring_invoices.php | ||
| client_routes.php | ||
| client_service_add_modal.php | ||
| client_service_edit_modal.php | ||
| client_service_view_modal.php | ||
| client_services.php | ||
| client_side_nav.php | ||
| client_software.php | ||
| client_software_add_modal.php | ||
| client_software_edit_modal.php | ||
| client_tickets.php | ||
| client_trips.php | ||
| client_vendors.php | ||
| clients.php | ||
| companies.php | ||
| company_add_modal.php | ||
| company_edit_modal.php | ||
| cron-mailer.php | ||
| cron.php | ||
| custom_link_add_modal.php | ||
| custom_link_edit_modal.php | ||
| custom_links.php | ||
| dashboard_financial.php | ||
| db.sql | ||
| expense_add_modal.php | ||
| expense_copy_modal.php | ||
| expense_edit_modal.php | ||
| expense_export_modal.php | ||
| expense_refund_modal.php | ||
| expenses.php | ||
| footer.php | ||
| functions.php | ||
| get_credential.php | ||
| get_settings.php | ||
| global.css | ||
| global_search.php | ||
| guest_checkout.php | ||
| guest_footer.php | ||
| guest_header.php | ||
| guest_pay_invoice.php | ||
| guest_post.php | ||
| guest_view_invoice.php | ||
| guest_view_quote.php | ||
| header.php | ||
| index.php | ||
| invoice.php | ||
| invoice_add_modal.php | ||
| invoice_copy_modal.php | ||
| invoice_edit_modal.php | ||
| invoice_note_modal.php | ||
| invoice_payment_add_modal.php | ||
| invoice_recurring_add_modal.php | ||
| invoices.php | ||
| item_edit_modal.php | ||
| login.php | ||
| logs.php | ||
| pagination.php | ||
| payments.php | ||
| post.php | ||
| product_add_modal.php | ||
| product_edit_modal.php | ||
| products.php | ||
| quote.php | ||
| quote_add_modal.php | ||
| quote_copy_modal.php | ||
| quote_edit_modal.php | ||
| quote_note_modal.php | ||
| quote_to_invoice_modal.php | ||
| quotes.php | ||
| recurring_invoice.php | ||
| recurring_invoice_add_modal.php | ||
| recurring_invoice_edit_modal.php | ||
| recurring_invoice_note_modal.php | ||
| recurring_invoices.php | ||
| report_expense_summary.php | ||
| report_income_summary.php | ||
| report_profit_loss.php | ||
| report_tax_summary.php | ||
| revenue_add_modal.php | ||
| revenue_edit_modal.php | ||
| revenues.php | ||
| rfc6238.php | ||
| robots.txt | ||
| scheduled_ticket_add_modal.php | ||
| scheduled_ticket_edit_modal.php | ||
| scheduled_tickets.php | ||
| settings-alerts.php | ||
| settings-backup.php | ||
| settings-defaults.php | ||
| settings-general.php | ||
| settings-invoice-quotes.php | ||
| settings-mail.php | ||
| settings-nav.php | ||
| settings-online-payment.php | ||
| settings-ticket.php | ||
| settings-update.php | ||
| settings-user.php | ||
| setup.php | ||
| side_nav.php | ||
| tag_add_modal.php | ||
| tag_edit_modal.php | ||
| tags.php | ||
| tax_add_modal.php | ||
| tax_edit_modal.php | ||
| taxes.php | ||
| test_calendar_domains.php | ||
| test_client_payments_by_invoice.php | ||
| test_client_print_side_nav.php | ||
| test_contacts.php | ||
| test_delete_confirm_modal.php | ||
| test_domains.php | ||
| test_export_excel_example.php | ||
| test_noclients.php | ||
| test_print_profit_loss.php | ||
| test_report_income_summary_2.php | ||
| test_starter_new.php | ||
| test_totp-test.php | ||
| test_totp-test2.php | ||
| test_transactions.php | ||
| ticket.php | ||
| ticket_add_modal.php | ||
| ticket_edit_modal.php | ||
| ticket_merge_modal.php | ||
| ticket_reply_edit_modal.php | ||
| tickets.php | ||
| top_nav.php | ||
| transfer_add_modal.php | ||
| transfer_edit_modal.php | ||
| transfers.php | ||
| trip_add_modal.php | ||
| trip_copy_modal.php | ||
| trip_edit_modal.php | ||
| trip_export_modal.php | ||
| trips.php | ||
| user_add_modal.php | ||
| user_clients_modal.php | ||
| user_companies_modal.php | ||
| user_edit_modal.php | ||
| user_logs.php | ||
| users.php | ||
| vendor_add_modal.php | ||
| vendor_edit_modal.php | ||
| vendors.php | ||
README.md
ITFlow
IT Documentation, Accounting and Invoicing System for Small MSPs.
View demo
Username: demo@demo | Password: demo
Docs
·
Forum
·
Report Bug
·
Request Feature
About

ITFlow is a free & open-source solution for IT service management, documentation, and accounting.
The Problem
- You're a busy MSP with 101 things to do.
- Information about your clients is unorganised and unstructured: scattered in random tickets or folders - when you do eventually find it, it's out of date.
- For some tickets, you spend longer looking for the relevant documentation than actually working the ticket.
- 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 (ticketing, wiki/docs, CMDB and accounting) into one system to help you do what you do best - IT.
In Beta
- This project is still in early beta and is considered a work in progress. Many changes are being performed and may cause breakage upon updates.
- We strongly recommend against storing confidential information like passwords in ITFlow at this time.
- We are hoping to have a stable 1.0 release by July 2022.
Built With
-
Backend / PHP libs
- PHP
- MariaDB
- PHPMailer
-
CSS
- Bootstrap
- AdminLTE
- fontawesome
-
JS Libraries
- chart.js
- moments.js
- jQuery
- pdfmake
- Select2
- SummerNote
- FullCalendar.io
Getting Started
ITFlow is self-hosted. There is a full installation guide in the docs, but the main steps are:
Prerequisites
- Git
sudo apt install git - Apache
sudo apt install apache2 - PHP
sudo apt install php libapache2-mod-php - MariaDB
sudo apt install mariadb-server
Installation
- Login to your server, change directory to your web root
- Clone the repo
git clone https://github.com/johnnyq/itflow.git . - Create a MariaDB Database
- Point your browser to your HTTPS web server to begin setup
Features
-
Client Documentation
- Contacts - Keep track of important individuals
- Locations (Head Quarters, Satellite locations)
- Vendors (ISP, WebHost, MailHost, Software Company, VOIP company, etc.)
- Assets (Laptop, Workstations, Routers, Switches, Access Points, phones, etc.)
- Password Manager (AES Encrypted in database)
- Domain Names & SSL Certificates
- Software (Manage Applications Licenses, Renewals etc.)
- Networks
- Files (PDF Contracts, Manuals, Firewall Backup Configs, etc.)
- Documents (Tech Docs, How-tos, Processes, Procedures, Notes, etc.)
- Services (Relate all of the above together, e.g. Active Directory, a web app, etc.)
- Tickets
- Single Downloadable IT Documentation for a client
-
Client Portal
- Invoice, Quotes and Payment information
- More to come soon...
-
Invoicing
- Automatically Emails Past Due Invoices to clients
- Automatically Email Receipts upon marking invoices paid
- Automatic Recurring Invoices
-
Quotes
- Automated customer approval process using a link that is sent via email to the primary contact
- One Click turn Quotes into Invoices
-
Accounting
- Expense Tracking (Track internal business expenses such as Office Supplies, Professional Services, Equipment, etc.)
- Profit and Loss Reports
- Income/Expense Summaries
- Travel Mileage Tracking
- Accounts (Manage several accounts including cash on hand, bank accounts, etc.)
- Account Transfers (Keep track of money transfers from account to account including deposits)
-
Alerting/Notifications
- Low Account Balances
- Domains to expire
- Password reset reminder for customers
- Past Due Invoices
- Software License Expiration
-
Calendar
- Schedule Jobs
- Overview of Invoices, Domains, Asset Warranty Expiry, etc.
- Schedule Events
- Automatic Email Reminders of upcoming calendar events to customers
-
Dashboard
- Overview of business financials
-
Mailing List - Notify users of upcoming change controls, marketing, etc.
-
API
- XML Phonebook download for VOIP Phones
- FreePBX Integrated called ID (When call comes in it queries the Database and displays the company name on your caller ID as well as alerts you in the CRM)
- Pull Emails for Mailing list Integration
- Check account Balances using FreePBX IVR
-
Multi-Tenant - One Instance Multiple Companies and Users
-
Audit Logging - Logs detailed actions of users and events
-
Permissions / Roles
-
2FA Login Support (TOTP)
API
- Caller ID lookup (Great for integrating with your phone system like FreePBX, and having your VOIP phone return the client's name thats calling in) - /api.php?api_key=[API_KEY]&cid=[PHONE_NUMBER] - Returns a name
- XML Phonebook Download - /api.php?api_key=[API_KEY]&phonebook
- Client Email (great for mailing lists) - /api.php?api_key=[API_KEY]&client_emails - Returns Client Name - Email Address
- Account Balance for Client (can be integrated into multiple places for example in FreePBX Press 3 to check account balance, please enter your client ID your balance is) - /api.php?api_key=[API_KEY]&client_id=[CLIENT_ID] - Returns Account Balance
- Add new asset for a client - /api.php?api_key=[API_KEY]&client_id=ClientID&add_asset=Name&type=[Desktop|Laptop|Server]&make=Make&model=Model&serial=Serial&os=OS
- Required: api_key, client_id, add_asset (name)
- NOTE: [API_KEY] - is auto generated when a company is created and shows up in General Settings, this can also be changed manually.
Roadmap / Future to-do
- MeshCentral / TacticalRMM (Export Assets Info to ITFlow, Exports common software applications to Software)
- CalDAV to integrate with 3rd party calendars
- CardDAV to integrate with 3rd party Address books
- Stripe Integration for online payments
- Toast Alerts with recent caller that matches caller ID in database which allows you to click on the toast alerts and bring up the clients account right away.
- FIDO2 WebAuthn Support for passwordless auth (TPM Fingerprint), (USB Hardware keys such as Yubikey)
See the forum and the open issues for a full list of proposed features & known issues.
Support & Contributions
Forum
For assistance using ITFlow, feature requests, and general ideas/discussions please use the community forum. For bugs, please raise an issue.
Contributing
If you are able to make a contribution that would make ITFlow better, please fork the repo and create a pull request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature) - Commit your Changes (
git commit -m 'Add some') - Push to the Branch (
git push origin feature) - Open a Pull Request
Contributors
License
ITFlow is distributed under the GPL License in the hope that it will be useful, but WITHOUT ANY WARRANTY. See LICENSE.txt for details.