7.6 KiB
v0.3.0 (2026-05-03)
- Clickable portal invite links
- Direct account activation from email
- Improved onboarding UX
v0.6.2 - 2026-04-23
Changes
- Continued Service Templates integration
- Template selection fully wired into service create/edit flows
- Stability improvements to service form handling
Cleanup
- Removed log files from git tracking
- Ignored patch scripts and runtime logs
Notes
- Ready for template_id linkage phase
v0.6.1 - 2026-04-18
Added
- Service Templates system (standalone pricing catalog)
- Admin UI for managing reusable service pricing
- Template selector on service create/edit pages (auto-fill fields)
Notes
- Templates are not yet linked to services via template_id (planned)
- Setup amount stored in templates for future invoice integration
- Maintains compatibility with existing services table
v0.6.0 - 2026-04-11 01:49:22
Highlights
- Added authenticated /portal/services page as a service hub
- Introduced modular route backend/routes/portal_services.py
- Created shared templates/portal_base.html layout
- Converted portal pages to base-template architecture
- Added service cards (Follow-me, Video, Miner Rentals)
- Fixed branding, nav, footer, and toggle consistency
- Corrected Follow-me external link
- External services now open in new tabs
- Improved identity display for logged-in user
Notes
- portal_base.html is now the standard structure for future pages and projects
- Billing portal is now the launch point for all OTB services
v0.5.3 - 2026-03-27 21:25:11
- Fixed stale pending crypto payment lock issue so abandoned wallet attempts no longer trap the invoice
- Confirmed crypto quote expiry and refresh flow works cleanly
- Improved wallet/payment lifecycle stability for MetaMask and Rabby
- Added retry logic for payment-received emails
- Fixed dark-mode styling for the payment method dropdown
- General crypto payment UX and recovery cleanup
2026-03-27 — v0.5.2
- Added retry logic for payment-received emails
- Payment email helper now retries up to 3 times with delay
- Added clearer retry failure logging for email send issues
2026-03-27 — v0.5.1
- Fixed crypto payment email auto-send path
- Fixed payment-received emails to attach the real invoice PDF
- Switched helper PDF generation to use the working invoice PDF route
- Added explorer link into the payment-received email body
- Improved invoice PDF payment section with time, TXID, wallet, and rate display
- Cleaned helper error handling back to safe non-debug behavior
2026-03-27 — v0.5.1
- Fixed crypto payment email auto-send failure
- Replaced internal PDF generator call with route-based PDF fetch
- Restored PDF attachments in payment emails
- Improved Payments Applied layout in invoice PDF (multi-line details + rate display)
- Stabilized send_payment_received_email() (removed debug raise, safe failure handling)
v0.5.0 - 2026-03-14 22:01:59
- Added per-invoice Square payment links
- Added Square webhook validation and automatic invoice payment application
- Added duplicate webhook protection
- Added Square reconciliation page with filters and summary cards
- Added Accountbook page with today / month / YTD totals
- Added Accountbook CSV export
- Added reminder worker logging plus systemd service/timer
- Confirmed end-to-end automatic Square payment flow updates invoice, payments table, portal state, and email notifications
v0.4.3 - 2026-03-13
Portal lifecycle features completed.
New functionality:
- Portal invite email from admin panel
- Portal password reset email from admin panel
- Single-use access code behavior clarified and enforced
- Portal password reset invalidates previous credentials
- Admin controls for portal enable/disable and code reset
- Portal access wording updated to reflect single-use token design
Existing functionality confirmed:
- Client portal login
- Forced password creation
- Invoice dashboard
- Invoice detail view
- PDF invoice download
- Deduplicated backend/app.py
This version represents the first complete client portal credential lifecycle.
v0.4.2 - 2026-03-12
- Deduped backend/app.py and removed duplicated major route/function sections.
- Removed the text_for_pdf_routes snapshot hack from active runtime path.
- Added secure portal-safe invoice PDF route.
- Confirmed portal login, dashboard, invoice detail, invoice itemization, and PDF access flow.
- This version is the first clean post-dedupe checkpoint.
v0.4.1 - 2026-03-12
-
Added secure client portal login using email plus one-time access code.
-
Added forced password setup on first portal login.
-
Added client portal dashboard with invoice listing.
-
Added portal invoice detail page.
-
Wired new and editable invoices to create invoice_items automatically.
-
Confirmed live admin edits refresh correctly in client portal views.
-
Polished invoice edit notice bar contrast for dark theme.
-
This version is the pre-refactor savepoint before cleaning duplicate sections in backend/app.py.
-
System package dependency note: install
zipon deployment hosts for release snapshot creation.
v0.4.0 - 2026-03-12
- Released stable service-managed build of OTB Billing.
- Added working /health styled page and /health.json endpoint.
- Added health backend module for app/server/db/disk/memory status reporting.
- Added .env-based runtime configuration through run_dev.sh shell loading.
- Moved runtime control to systemd via otb_billing.service.
- Confirmed reboot persistence and mintme webfront reachability through LAN bind on port 5050.
- Kept debug off and reloader disabled for stable service operation.
otb-billing
v0.3.0 — 2026-03-09
Major operational milestone release.
New Features
- Revenue reporting system
- JSON export for reports
- Batch invoice printing
- Batch CSV export
- Filtered invoice export
- Invoice logo support (PDF + print)
- Business identity settings
- Report frequency selector (monthly / quarterly / yearly)
Infrastructure
- Improved reporting backend
- Cleaner filter handling
- Settings system extended
- Print layouts stabilized
v0.3.1 — 2026-03-09
Milestone release.
Features included
- Invoice PDF generation
- Invoice email sending
- Settings/config system
- Branding/logo support
- CSV exports
- Filtered invoice export
- Batch PDF ZIP export
- Batch print
- Revenue report
- Revenue JSON export
- Accounting package ZIP export
- Email delivery for reports and accounting package
Notes
- Core billing/export/report workflow is now operational.
- Email logging/audit trail is planned for a future release.
v0.3.1 — 2026-03-10
Milestone release.
Features included
- Invoice PDF generation
- Invoice email sending
- Settings/config system
- Branding/logo support
- CSV exports
- Filtered invoice export
- Batch PDF ZIP export
- Batch print
- Revenue report
- Revenue JSON export
- Accounting package ZIP export
- Email delivery for reports and accounting package
- Email audit logging
Notes
- Core billing/export/report workflow is now operational.
- Email log table records invoice, revenue report, and accounting package sends.
Installer
From the project root:
chmod +x install.sh
./install.sh
## Installer
From the project root:
chmod +x install.sh
./install.sh
The installer will install dependencies, configure MariaDB, create the database, and start the service.
## Installer
From the project root:
chmod +x install.sh
./install.sh
The installer will:
- install Python and MariaDB dependencies
- copy the app to the target path
- create a Python virtualenv
- install requirements.txt
- create the database and import schema
- create the systemd service
- start the service