itflow/README.md

123 lines
4.9 KiB
Markdown

## IT Documentation, Accounting and Invoicing System for Small MSPs.
### Online Demo
* https://demo.itflow.org
* USERNAME: demo@demo
* PASSWORD: demo
### Notice
* This project is still in early Beta stages 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.
### 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.)
* Tickets
* Client Documentation (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)
### Installation Instructions
* Change directory to your webroot
* git clone https://github.com/johnnyq/itflow.git .
* Create a MariaDB database (Note MySQL is broken)
* Point your browser to your Web Server
* Go through the Setup Process
* Login
* Start inputting some data
#### Requirements
* Webserver (Apache, NGINX)
* PHP7+
* MariaDB (MySQL is broken)
### Technologies Used
* Backend / PHP libs
* PHP
* MariaDB
* PHPMailer
* CSS
* Bootstrap
* AdminLTE
* fontawesome
* JS Libraries
* chart.js
* moments.js
* jQuery
* pdfmake
* Select2
* SummerNote
* FullCalendar.io
### API Calls
* 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.
### Future Todo
* 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)