itflow/README.md

3.7 KiB

IT Documentation Accounting and Invoicing System for Small Managed IT Companies

Features

  • Manage Clients

    • Contacts
    • Locations
    • Vendors
    • Assets (Laptop, Workstations, Routers, Switches, Access Points, phones, etc)
    • Password Manager (AES Encrypted in DB)
    • Domain Names
    • Applications
    • Networks
    • Files
    • Documentation
    • Tickets
    • Single Downloadable PDF of all documentation for a client to give them.
  • Invoicing

    • Automatically Emails Past Due Invoices to clients
    • Auto Email Receipts upon receiving payments
    • Recurring Invoices
  • Quotes / Estimates

    • Automated customer approval
    • Turn Quotes into invoices with a click
  • Vendors

  • Accounting

    • Expense Tracking
    • Profit and Loss Reports (Quarterly and Annually)
    • Income/Expense Summary
    • Travel Mileage Tracking
    • Account Transfers / Deposits
    • Accounts
  • Alerting/Notifications

    • Low Account Balances
    • Domains to expire
    • Password reset reminder for customers
    • Past Due Invoices
    • Software License Expiring
  • Calendar Integration

    • Schedule Jobs
    • Overview of Invoices Domains that are expiring
    • Schedule Events
    • Automatic Email Reminders of upcoming calendar events to customers
  • Dashboard

    • Gives a clear overview of your business financials using graphs and such
  • 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 Email Lists
    • Check account Balances using FreePBX IVR
  • Multi-Tenant - One Instance Multiple Companies and Users

  • Audit Logging - Logs actions of users on the system

  • 2 Factor Authentication (TOTP)

Installation Instructions

  • Change directory to your webroot
  • git clone https://github.com/johnnyq/pittpc_crm.git .
  • Create a MySQL database
  • Point your browser to your web Server
  • Go through the Setup Process
  • Login
  • Start inputing some data

Requirements

  • Webserver (Apache, NGINX)
  • PHP7+
  • MySQL or MariaDB

Technologies Used

  • PHP/MySQL
  • AdminLTE3
  • fontawesome
  • chart.js
  • moments.js
  • Jquery
  • PHPmailer
  • mPDF
  • FullCalendar.io
  • Select2
  • Date Range Picker
  • Bootstrap Typeahead
  • SummerNote

API Calls

  • Caller ID lookup (Great for integrating with your phone system like FreePBX, and having your VOIP phone return the client thats calling) - /api.php?api_key=[API_KEY]&cid=[PHONE_NUMBER] - Returns a name
  • XML Phonebook Download (Great for using with VOIP Phones so phpnes have an up to date directory) - /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 blanace is) - /api.php?api_key=[API_KEY]&client_id=[CLIENT_ID] - Returns Account Balance 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 Integation to assign devices to assets and easily access remote desktop within the app, as well as pull vital information such as asset make, model, serial, hostname, Operating System,
  • CalDAV to integrate with 3rd party calendars
  • CardDAV to integrate with 3rd party Address books
  • Stripe Integration for online payments
  • Client Portal
  • 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.
  • Built-in mailing list used for alerts and marketing
  • WebAuthn Support for passwordless auth (TPM Fingerprint), (USB Hardware keys such as Yubikey)