- added My tickets - showing total of assigned tickets to user
- added Unassigned tickets - showing all open tickets not assigned and ready to be grabbed by anyone available
- added Task - this can be left at it is or to be renamed to Alerts/Notification - used for 3rd party emails fetched as tickets ( backups notification, domain/ssl expiry, check central etc)
Future to do:
- when click on My tickets, to show all the tickets assigned to user (open/answered, unanswered, closed by user)
- when click on My Tickets - Unanswered - to show tickets assigned to user with status open but not replied to customer
- when click on My Tickets - Open/Answered - to show tickets assigned to user and replied by the agent (work in progress)
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.)
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.