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.
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
AuthOS
Implement identity, roles, permissions, sessions, and tenant-safe access decisions as a reusable domain.
BillingOS mobile implementation
Project BillingOS into mobile apps with compact billing state, resumable payment handoffs, and provider evidence boundaries.
Why ContractSpec
Keep educational and comparison content reachable without letting it define the primary OSS learning path.