feat(billing): NexaCloud invoice ledger — ingest invoices to account.move

Odoo becomes the accounting SoR by ingesting NexaCloud's real Stripe
invoices (read-only via the existing DSN) into native account.move
customer invoices: per-service-family income accounts, tax derived to
match the source invoice.tax, Stripe payments reconciled via
account.payment.register (invoice shows paid), idempotent on
x_fc_nexacloud_invoice_id, draft-first with bulk-post + a daily cron
(inactive). Plus a prune helper for the now-obsolete metered shadow data.
73 tests green on odoo-trial. Account codes use dots (Odoo 19 rejects '-').
This commit is contained in:
gsinghpal
2026-05-27 16:50:31 -04:00
parent f6518b4d7e
commit 72d3130c88
9 changed files with 456 additions and 0 deletions

View File

@@ -49,6 +49,7 @@ reference files from the container before implementing subscription/account inte
"security/ir.model.access.csv",
"data/ir_cron.xml",
"views/import_wizard_views.xml",
"views/invoice_ledger_views.xml",
],
"installable": True,
"application": False,