Go to file
Johnny 5c5e2fd85b
Merge pull request #330 from wrongecho/cert-domain
Add functionality to allow associating a domain to a certificate
2022-01-29 10:15:28 -05:00
.github
css
dist
js
plugins
uploads
vendor
.gitignore
LICENSE
README.md
accounts.php
add_account_modal.php
add_asset_csv_modal.php
add_asset_modal.php
add_calendar_event_modal.php
add_calendar_modal.php
add_category_modal.php
add_certificate_modal.php Add functionality to allow associating a domain to a certificate 2022-01-29 13:53:54 +00:00
add_company_modal.php
add_contact_modal.php Now you can assign contacts to locations 2022-01-25 13:39:48 -05:00
add_custom_link_modal.php
add_document_modal.php
add_domain_modal.php
add_expense_copy_modal.php
add_expense_modal.php
add_expense_refund_modal.php
add_file_modal.php
add_invoice_copy_modal.php
add_invoice_modal.php
add_invoice_recurring_modal.php
add_location_modal.php
add_login_modal.php
add_network_modal.php
add_payment_modal.php
add_quick_modal.php
add_quote_copy_modal.php
add_quote_modal.php
add_quote_to_invoice_modal.php
add_recurring_modal.php
add_revenue_modal.php
add_scheduled_ticket_modal.php
add_software_modal.php
add_tag_modal.php
add_tax_modal.php
add_transfer_modal.php
add_trip_copy_modal.php
add_trip_modal.php
add_user_modal.php
add_vendor_modal.php
admin_side_nav.php
alerts.php
alerts_archived.php
api.php
assets.php
base32static.php
blank.php
calendar_events.php
campaign.php Fix guest invoice caused issues with the alert Query on certain client names, will need reworking and testing in other areas of the code as well 2022-01-28 20:38:48 -05:00
campaign_add_modal.php Added Location Column to client networks, more work on Campaigns 2022-01-25 13:22:26 -05:00
campaign_edit_modal.php Finished Campaign Test Email and some other fixups 2022-01-24 22:07:50 -05:00
campaign_test_modal.php Finished Campaign Test Email and some other fixups 2022-01-24 22:07:50 -05:00
campaign_track.php DB Structure update on Mailing list Campaign Removed click and open count from campaigns as they are in the campaign_messages 2022-01-24 18:30:29 -05:00
campaigns.php Added Location Column to client networks, more work on Campaigns 2022-01-25 13:22:26 -05:00
categories.php
check_login.php
checkout.php
client.js
client.php
client_add_modal.php
client_assets.php
client_certificates.php Add functionality to allow associating a domain to a certificate 2022-01-29 13:53:54 +00:00
client_contact_details_modal.php
client_contacts.php Now you can assign contacts to locations 2022-01-25 13:39:48 -05:00
client_delete_modal.php
client_documents.php
client_domains.php
client_edit_modal.php
client_events.php
client_files.php
client_invoices.php
client_locations.php
client_logins.php
client_networks.php Added Location Column to client networks, more work on Campaigns 2022-01-25 13:22:26 -05:00
client_payments.php
client_print.php
client_quotes.php
client_recurring.php
client_routes.php
client_services.php Add service edit functionality 2022-01-28 22:20:40 +00:00
client_side_nav.php
client_software.php
client_tickets.php Removed circle from edit location and client photo, fixed location phone number not saving when you add a client 2022-01-25 15:28:57 -05:00
client_trips.php
client_vendors.php
clients-test.php
clients.php Fix guest invoice caused issues with the alert Query on certain client names, will need reworking and testing in other areas of the code as well 2022-01-28 20:38:48 -05:00
companies.php
create.php
cron-mailer.php
cron.php
custom_links.php
dashboard.php
db.sql Add functionality to allow associating a domain to a certificate 2022-01-29 13:53:54 +00:00
edit_account_modal.php
edit_asset_modal.php
edit_calendar_event_modal.php
edit_category_modal.php
edit_certificate_modal.php Add functionality to allow associating a domain to a certificate 2022-01-29 13:53:54 +00:00
edit_company_modal.php
edit_contact_modal.php Removed circle from edit location and client photo, fixed location phone number not saving when you add a client 2022-01-25 15:28:57 -05:00
edit_custom_link_modal.php
edit_document_modal.php
edit_domain_modal.php
edit_expense_modal.php
edit_invoice_modal.php
edit_item_modal.php
edit_location_modal.php Removed circle from edit location and client photo, fixed location phone number not saving when you add a client 2022-01-25 15:28:57 -05:00
edit_login_modal.php
edit_network_modal.php
edit_quote_modal.php
edit_recurring_modal.php
edit_revenue_modal.php
edit_software_modal.php
edit_tag_modal.php
edit_tax_modal.php
edit_transfer_modal.php
edit_trip_modal.php
edit_user_modal.php
edit_vendor_modal.php
expenses.php
export_expenses_modal.php
export_trips_modal.php
footer.php
functions.php
get_credential.php
get_settings.php
global.css
global_search.php
guest_footer.php
guest_header.php
guest_pay_invoice.php
guest_post.php
guest_view_invoice.php Fix guest invoice caused issues with the alert Query on certain client names, will need reworking and testing in other areas of the code as well 2022-01-28 20:38:48 -05:00
guest_view_quote.php
header.php
index.php
invoice.php
invoice_note_modal.php
invoices.php
login.php
logs.php
manage_document_tags_modal.php
pagination.php
payments.php
post.php Add functionality to allow associating a domain to a certificate 2022-01-29 13:53:54 +00:00
product_add_modal.php
product_edit_modal.php
products.php
quote.php
quote_note_modal.php
quotes.php
recurring.php
recurring_invoice.php
recurring_note_modal.php
report_expense_summary.php
report_income_summary.php
report_profit_loss.php
report_tax_summary.php
revenues.php
rfc6238.php
robots.txt
scheduled_tickets.php
service_add_modal.php Add functionality to delete service 2022-01-27 22:21:58 +00:00
service_edit_modal.php Add service edit functionality 2022-01-28 22:20:40 +00:00
service_view_modal.php Fix network vlan duplicating 2022-01-28 22:46:19 +00: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
settings-user.php
setup.php
side_nav.php
tags.php
taxes.php
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_transactions.php
ticket.php
ticket_add_modal.php
ticket_edit_modal.php
ticket_merge_modal.php
ticket_reply_edit_modal.php
tickets.php Removed circle from edit location and client photo, fixed location phone number not saving when you add a client 2022-01-25 15:28:57 -05:00
top_nav.php
totp-test.php
totp-test2.php
transfers.php
trips.php
user_clients_modal.php
user_companies_modal.php
user_logs.php
users.php
vendors.php
view_document_modal.php
view_file_modal.php

README.md

IT Documentation, Accounting and Invoicing System for Small MSPs.

Online 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)