3.9 KiB
OTB Billing — Project State
Last Updated: 2026-03-08
Version: v0.2.1
Server: outsidethedb
IP: 192.168.0.24
Port: 5050
Project Purpose
OTB Billing is a self-hosted billing and accounting system for the OutsideTheBox infrastructure services.
The system is intended to replace SaaS accounting tools (such as QuickBooks) with a fully self-controlled platform capable of managing:
• Hosting clients
• Service subscriptions
• Infrastructure billing
• RPC / blockchain services
• IPFS storage services
• consulting / development work
The system will integrate with the broader OutsideTheBox ecosystem.
Current Deployment
Location:
/home/def/otb_billing
Server:
outsidethedb
192.168.0.24
Backend:
python3 backend/app.py
Port:
5050
Access URL:
Current Version
v0.2.1
Features Implemented
Clients
Create, edit and list clients.
Pages:
/clients
/client/new
/client//edit
Services
Service catalog for billable items.
Pages:
/services
/service/new
/service//edit
Invoices
Invoices can be created and edited until payments are applied.
Pages:
/invoices
/invoice/new
/invoice/
Rule:
Invoices with payments become locked and cannot be edited.
Corrections must be handled using:
• adjustments
• credits
• returns
This preserves accounting integrity.
Payments
Payments can be added and edited.
Pages:
/payments
/payment/new
/payment//edit
Payments automatically update invoice balances.
Client Ledger
Each client has a ledger showing:
• charges
• payments
• credits
• running balance
Ledger link is visible from:
• clients list • client edit page
Ledger Color Coding
Ledger link color indicates balance:
Green → positive balance
Blue → zero balance
Red → negative balance
This allows quick visual scanning of account status.
Time Handling
Database storage:
UTC
Display:
Eastern Time (Toronto)
Money Formatting
All monetary values are formatted as:
$123.45
Across:
• invoices
• payments
• ledger
• dashboard
Footer
Pages display version:
OTB Billing v0.2.1
Accounting Rules
Invoices are historical documents.
If a payment exists on an invoice:
The invoice becomes locked.
Future corrections must use ledger credits or adjustment documents.
Planned Features
Overpayment Credit
If payment exceeds invoice total:
Excess amount becomes client ledger credit.
Audit Trail
Track:
• who changed data
• when it changed
• previous values
Multi-Currency
Currencies planned:
CAD (base ledger)
USD
EUR
Conversion fees may be applied.
Ledger will settle to CAD.
Email Invoices
Future capability to send invoices directly from the system.
PDF Invoice Generation
Invoices will be exportable as PDF documents.
Tax Support
Support for Canadian tax handling:
HST
GST
PST (if needed)
Health Monitoring
Future /health endpoint similar to outsidethedb.
Will report:
• application uptime
• server uptime
• memory usage
• disk usage
• database connection status
Relationship to OutsideTheBox
This billing system is part of the broader infrastructure platform:
outsidethebox.top
Services billed through this system may include:
• hosting services
• RPC endpoints
• blockchain nodes
• explorer hosting
• IPFS storage
• consulting and development
Development Philosophy
The system must remain:
• self-hosted
• auditable
• infrastructure friendly
• independent from SaaS platforms
The goal is long-term replacement of external billing tools.
Restart Instructions
Start server:
python3 backend/app.py
Then access:
Notes
Always update this file when:
• version changes • architecture changes • major features are added • deployment changes