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 '-').
225 B
225 B