Go to file
Marcus Hill 6b98035812 Typo 2022-02-18 08:36:52 +00:00
.github
api/v1 Add ticket read to api 2022-02-12 17:41:48 +00:00
css
dist Bump AdminLTE from 3.1 to 3.2, Bump plugins Summernote, phpMailer, clipboardjs, bootstrap, fontawesome-free, fullcalendar, inputmask, JQuery, moment, pdfmake, and more. Removed Unnessesary files from from plugins directories to reduce app size 2022-02-07 19:20:56 -05:00
js Fix Inputmask and password popovers along with Copy to Clipboard 2022-02-08 15:13:31 -05:00
plugins Fix Inputmask and password popovers along with Copy to Clipboard 2022-02-08 15:13:31 -05:00
uploads
vendor Bump AdminLTE from 3.1 to 3.2, Bump plugins Summernote, phpMailer, clipboardjs, bootstrap, fontawesome-free, fullcalendar, inputmask, JQuery, moment, pdfmake, and more. Removed Unnessesary files from from plugins directories to reduce app size 2022-02-07 19:20:56 -05:00
.gitignore
LICENSE
README.md
account_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
account_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
accounts.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
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 Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
calendar_event_add_modal.php Fix various vars and include errors 2022-02-13 15:43:51 -05:00
calendar_event_edit_modal.php Fix various vars and include errors 2022-02-13 15:43:51 -05:00
calendar_events.php Fix various vars and include errors 2022-02-13 15:43:51 -05:00
campaign.php Fix various vars and include errors 2022-02-13 15:43:51 -05:00
campaign_add_modal.php
campaign_edit_modal.php
campaign_test_modal.php
campaign_track.php
campaigns.php Fix various vars and include errors 2022-02-13 15:43:51 -05:00
categories.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
category_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
category_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
category_quick_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
check_login.php
client.js
client.php Adjust ticket count in header & side-nav to reflect open ticket count including working/onhold tickets 2022-02-14 20:29:04 +00:00
client_add_modal.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
client_asset_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_asset_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_asset_import_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_assets.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_certificate_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_certificate_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_certificates.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_contact_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_contact_details_modal.php
client_contact_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_contacts.php Fix Inputmask and password popovers along with Copy to Clipboard 2022-02-08 15:13:31 -05:00
client_delete_modal.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
client_document_add_modal.php Fix tags for new documents 2022-02-05 22:19:04 +00:00
client_document_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_document_tags_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_document_view_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_documents.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_domain_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_domain_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_domains.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_edit_modal.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
client_events.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_file_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_file_view_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_files.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_invoices.php Removed unused client_email var under invoices and client_invoices 2022-02-13 15:11:15 -05:00
client_location_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_location_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_locations.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_login_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_login_edit_modal.php Fix Inputmask and password popovers along with Copy to Clipboard 2022-02-08 15:13:31 -05:00
client_logins.php Open link in New Window instead of current windows Client Logins 2022-02-12 15:55:24 -05:00
client_logs.php Added Client Logs to client nav 2022-02-05 17:07:47 -05:00
client_network_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_network_edit_modal.php Move network edit modal data processing to AJAX 2022-02-13 18:15:51 +00:00
client_networks.php Move network edit modal data processing to AJAX 2022-02-13 18:15:51 +00:00
client_payments.php
client_print.php
client_quotes.php Removed unused client_email var under quotes and client_quotes 2022-02-13 15:13:46 -05:00
client_recurring_invoices.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_routes.php Added Client Logs to client nav 2022-02-05 17:07:47 -05:00
client_service_add_modal.php Add functionality to link certificates to services 2022-02-18 08:35:32 +00:00
client_service_edit_modal.php Add functionality to link certificates to services 2022-02-18 08:35:32 +00:00
client_service_view_modal.php Typo 2022-02-18 08:36:52 +00:00
client_services.php Add functionality to link certificates to services 2022-02-18 08:35:32 +00:00
client_side_nav.php Adjust ticket count in header & side-nav to reflect open ticket count including working/onhold tickets 2022-02-14 20:29:04 +00:00
client_software.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_software_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_software_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_tickets.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
client_trips.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
client_vendors.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
clients.php Removed Legacy AES Password conversion and old AES key from database 2022-02-05 16:41:21 -05:00
companies.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
company_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
company_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
cron-mailer.php Bump AdminLTE from 3.1 to 3.2, Bump plugins Summernote, phpMailer, clipboardjs, bootstrap, fontawesome-free, fullcalendar, inputmask, JQuery, moment, pdfmake, and more. Removed Unnessesary files from from plugins directories to reduce app size 2022-02-07 19:20:56 -05:00
cron.php Add scheduling frequency options: quarterly, biannually, annually 2022-02-13 15:10:14 +00:00
custom_link_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
custom_link_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
custom_links.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
dashboard_financial.php Added Last Years Income to Cash flow 2022-02-14 13:25:44 -05:00
db.sql Add functionality to link certificates to services 2022-02-18 08:35:32 +00:00
expense_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
expense_copy_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
expense_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
expense_export_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
expense_refund_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
expenses.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
footer.php Hide Data columns in global search that are not found also keep the search query in the global search 2022-02-12 22:34:37 -05:00
functions.php
get_credential.php
get_settings.php Removed Legacy AES Password conversion and old AES key from database 2022-02-05 16:41:21 -05:00
global.css
global_search.php Hide Data columns in global search that are not found also keep the search query in the global search 2022-02-12 22:34:37 -05:00
guest_checkout.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
guest_footer.php
guest_header.php
guest_pay_invoice.php
guest_post.php
guest_view_invoice.php
guest_view_quote.php
header.php Fix Inputmask and password popovers along with Copy to Clipboard 2022-02-08 15:13:31 -05:00
index.php
invoice.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
invoice_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
invoice_copy_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
invoice_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
invoice_note_modal.php
invoice_payment_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
invoice_recurring_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
invoices.php Removed unused client_email var under invoices and client_invoices 2022-02-13 15:11:15 -05:00
item_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
login.php Fixed current_code error on login page 2022-02-13 15:19:45 -05:00
logs.php
pagination.php
payments.php
post.php Add functionality to link certificates to services 2022-02-18 08:35:32 +00:00
product_add_modal.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
product_edit_modal.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
products.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
quote.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
quote_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
quote_copy_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
quote_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
quote_note_modal.php
quote_to_invoice_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
quotes.php Removed unused client_email var under quotes and client_quotes 2022-02-13 15:13:46 -05:00
recurring_invoice.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
recurring_invoice_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
recurring_invoice_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
recurring_invoice_note_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
recurring_invoices.php More Var Fixes 2022-02-13 15:59:27 -05:00
report_expense_summary.php Added Income Line Chart to Income Report same with Expense Report 2022-02-14 14:10:18 -05:00
report_income_summary.php Added Income Line Chart to Income Report same with Expense Report 2022-02-14 14:10:18 -05:00
report_profit_loss.php
report_tax_summary.php
revenue_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
revenue_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
revenues.php Fix various vars and include errors 2022-02-13 15:43:51 -05:00
rfc6238.php
robots.txt
scheduled_ticket_add_modal.php Add scheduling frequency options: quarterly, biannually, annually 2022-02-13 15:10:14 +00:00
scheduled_ticket_edit_modal.php Add scheduling frequency options: quarterly, biannually, annually 2022-02-13 15:10:14 +00:00
scheduled_tickets.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
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 Removed Legacy AES Password conversion and old AES key from database 2022-02-05 16:41:21 -05:00
settings-user.php Make user images fit the parent container and remove the cricle 2022-02-05 10:53:08 -05:00
setup.php
side_nav.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
tag_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
tag_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
tags.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
tax_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
tax_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
taxes.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
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 Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
test_totp-test2.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
test_transactions.php
ticket.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
ticket_add_modal.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
ticket_edit_modal.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
ticket_merge_modal.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
ticket_reply_edit_modal.php Reverted Modal Callback naming IDs, these do not follow the same logic as File Entity renaming 2022-02-05 13:43:52 -05:00
tickets.php - General reformatting 2022-02-12 22:45:39 +00:00
top_nav.php Hide Data columns in global search that are not found also keep the search query in the global search 2022-02-12 22:34:37 -05:00
transfer_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
transfer_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
transfers.php More Var Fixes 2022-02-13 15:59:27 -05:00
trip_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
trip_copy_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
trip_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
trip_export_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
trips.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
user_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
user_clients_modal.php More Var Fixes 2022-02-13 15:59:27 -05:00
user_companies_modal.php More Var Fixes 2022-02-13 15:59:27 -05:00
user_edit_modal.php Open link in New Window instead of current windows Client Logins 2022-02-12 15:55:24 -05:00
user_logs.php
users.php More Var Fixes 2022-02-13 15:59:27 -05:00
vendor_add_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
vendor_edit_modal.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00
vendors.php Finished File Entity Renaming process 2022-02-05 13:24:57 -05:00

README.md

Contributors Stargazers Issues Commits GPL License

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

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

  1. Login to your server, change directory to your web root
  2. Clone the repo
    git clone https://github.com/johnnyq/itflow.git .
    
  3. Create a MariaDB Database
  4. 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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature)
  3. Commit your Changes (git commit -m 'Add some')
  4. Push to the Branch (git push origin feature)
  5. 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.