itflow/README.md

9.3 KiB

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 php-intl
    
  • 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.