OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

AI index

Domain docs

BillingOS

Plans, subscriptions, invoices, payments, entitlements, and financial evidence across web and mobile, with a France-ready quote-to-cash issuance path.

Source packages

Start with packages/modules/billing-os, then use the spec and runtime packages as compatibility boundaries.

  • packages/libs/billing-spec

  • packages/libs/billing-runtime

  • packages/libs/billing-france

  • packages/integrations/provider-einvoicing

  • packages/libs/crypto-payments-spec

Platform stance

Define the domain once. Render web and mobile with platform-native shells after contract, role, tenant, and policy resolution.

Canonical surfaces

  • Plan and entitlement contracts

  • Checkout and invoice workflows

  • Quote → issue → Factur-X → PDP/e-reporting → reconcile → credit-note (avoir) operator flow

  • Additive invoice-issuance contracts (billing.invoice.issue, billing.invoice.submit, billing.invoice.submitted, billing.creditNote.issue)

  • France compliance: Factur-X / EN16931 / CIUS-FR generation, NF203 inalterability hash-chain, gapless Europe/Paris numbering

  • Payment-provider and PDP (Plateforme de Dématérialisation Partenaire) bindings

  • Mobile-safe billing state views

Implementation notes

  • Keep provider redirects, PDP submission, and native purchase flows behind explicit integration boundaries; production PDP submission stays fail-closed until a certified-PDP partner is wired.

  • Hold France legal behavior — TVA rate table (20/10/5.5/2.1 plus exemption, autoliquidation, intra-EU), per-rate-group half-up rounding, mandatory mentions, gapless numbering, NF203 hash-chain, and avoir derivation/immutability — in the France pack, not in the country-neutral core.

  • Generate EN16931/CIUS-FR documents through the provider-einvoicing FacturXGeneratorPort and submit via PdpSubmissionPort with an idempotent guard; go-live is EUR-only and aligned to the 2026/2027 e-invoicing/e-reporting schedule.

  • Redact SIREN/SIRET/VAT identifiers, secrets, and amounts in observability, propagate a correlation id, and enforce tenant-isolation RLS on every billing table.

  • Treat mobile as a first-class shell with compact state, resumable payment handoffs, and offline-safe invoice evidence.

BillingOS is web and mobile compatible

Use the same billing contracts for browser checkout, mobile plan management, invoices, entitlements, and payment evidence. Mobile hosts should keep handoffs resumable, avoid hiding payment state behind provider redirects, and expose compact entitlement state for offline-sensitive screens.

Open the mobile guide