Browse / Support and bookkeeping
ITFlow
Ticketing, client documentation, quotes, invoices, and expenses for small MSPs, with a keyed REST API.
ITFlow is a GPL PHP app that puts an MSP's tickets, client assets, credentials, domains, quotes, invoices, payments, and expenses in one place, with a client portal and Stripe payments. It spans both halves of this vertical. The Builder documents an API at /api/v1/{module}/{function}.php authenticated by API key, with read access across the modules, create for tickets and locations, and create plus update for clients, contacts, assets, documents, and credentials.
- we are a small MSP and want tickets, client docs, and invoicing in one free system our agent can read and create tickets in
- we want our agent to pull unpaid invoices and open tickets per client for a weekly account review without a paid PSA
- API is read-only for billing modules; invoices, quotes, expenses, and payments cannot be created by an agent
- API key is passed as a query parameter, so it lands in web server logs
- Managed hosting is marked coming soon; self-host on Ubuntu/Debian is the supported path
- GPL-3.0; stable release only since Jan 2025 per README security note
Last activity Sep 2, 2026. Fit: adaptable 2, operable 2.
Editions
Free (self-hosted) · Free open source
- Clone
git clone https://github.com/itflow-org/itflow - Install
wget -O itflow_install.sh https://github.com/itflow-org/itflow-install-script/raw/main/itflow_install.sh && bash itflow_install.sh
Managed hosting · Free closed source
- HostedOpen the hosted app
Adaptable: what is yours to change
Make it yours
Config only1 thing to edit
The installer writes config.php (gitignored) with database credentials, the encryption key, and base URL; everything else an MSP changes is in the Settings UI: company details, invoice numbering and templates, tax rates, ticket statuses, email (IMAP/SMTP), and API keys per client or all-client. There are no env vars or prompt files. Code changes are only needed for new modules; PRs from the community are currently paused.
- Env vars
- none
- Config files
config.php- Prompt files
- none
- Accounts you need
- Stripe (optional, for online payments)SMTP/IMAP mailbox for ticket email
Source
- github.com/itflow-org/itflow
- GPL-3.0 license
- Last commit Sep 2, 2026
- 994 stars
Operable: what an agent can drive
Interface
OfficialAPIpublished by the builderlocal
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
Reach
Partial coverage. 5 of 10 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Create and read tickets | Reachable | docs.itflow.org/api: Tickets is Read + Create; api/v1/tickets and ticket_replies directories in repo |
| Manage clients and contacts | Reachable | docs.itflow.org/api: Clients and Contacts support read, create, and update; archive/unarchive not listed on the docs page |
| Document client assets, networks, domains, certificates | Reachable | Assets, Certificates, Locations, Documents are Read + Create; Domains, Networks read-only |
| Store and retrieve client credentials | Reachable | Credentials Read + Create; every call needs api_key_decrypt_password |
| Read invoices, quotes, payments, and expenses | Reachable | Invoices, Quotes, Payments, Expenses are read-only modules |
| Create and send quotes and invoices | Not reachable | Invoices and Quotes endpoints are read-only per the API docs |
| Record expenses and payments | Not reachable | Expenses and Payments are read-only |
| Take online payments with Stripe | Not reachable | Stripe runs through the client portal, no API endpoint |
| Alert on domain and SSL expiry | Not reachable | cron-driven; API only reads Domains and Certificates |
| Client portal self-service | Not reachable | portal is a separate login UI, not covered by the API |
Code stack
- Languages
- PHPJavaScript
- Frameworks
- none
- Package manager
- –
- Database
- MariaDBMySQL
- Hosting target
- self-host (Ubuntu/Debian install script)
- Built
- Human-written (recorded, never ranked)
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: install script on Ubuntu/Debian, PHP app | 95% |
| executionModel | no model dependencies; feature list is documentation, ticketing, billing | 90% |
| operability | docs.itflow.org/api: 'API Key via query parameter ?api_key=YOUR_KEY' (JSON body for POST), keys created under Admin Settings > API Keys, scoped to all clients or one client; no browser session needed. URL pattern /api/v1/{module}/{function}.php. | 95% |
| effort | .gitignore lists config.php; no other config or env files in the tree | 80% |
| editions | README: free and open source; services.itflow.org hosting coming soon | 80% |
| active | gh api: pushed 2026-09-02, 994 stars | – |
| reach | 85% |
Open questions
- Managed hosting price when it launches
- Whether ticket_replies API supports creating replies (directory exists; docs page did not list it)
Sources
- github.com/itflow-org/itflow sourcing:support-bookkeeping:curated
- docs.itflow.org/api sourcing:support-bookkeeping:curated