billing frontend for mariadb. setup as otb_billing for outsidethebox.top accounting. also involved with outsidethedb
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

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:

http://192.168.0.24:5050


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:

http://192.168.0.24:5050


Notes

Always update this file when:

• version changes • architecture changes • major features are added • deployment changes