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.
 
 
 

1.4 KiB

OTB Billing Design Notes

Current Version

0.0.2

Purpose

OTB Billing is the billing and payment tracking component for OutsideTheBox.

It is intended to:

  • track clients
  • track services
  • issue invoices
  • record payments
  • support bookkeeping visibility
  • integrate with outsidethedb while keeping billing records logically separate

Supported payment directions

  • Square
  • Interac e-Transfer
  • Crypto

Multi-currency design

The schema supports multi-currency from day one.

Current intended currencies:

  • CAD
  • ETHO
  • EGAZ
  • ALT

Rule

Store both:

  • actual payment currency and amount
  • CAD-equivalent snapshot when relevant

Example:

  • payment_currency = EGAZ
  • payment_amount = 12.50000000
  • cad_value_at_payment = 47.82

This keeps both crypto-native records and bookkeeping-friendly reporting.

Core tables

  • clients
  • services
  • invoices
  • invoice_items
  • payments
  • audit_log

Relationship flow

client -> service -> invoice -> invoice_items -> payment

Notes

  • services are linked to clients
  • invoices are linked to clients and optionally to services
  • invoice items can optionally reference services
  • payments reference both invoice and client
  • audit_log provides change history for future accountability and troubleshooting

Planned future additions

  • recurring invoice generation
  • reminders / overdue handling
  • dashboard counts
  • service suspension workflow
  • integration hooks to outsidethedb
  • client verification records