# @lssm-tech/example.billingos-france-sme

Smallest BillingOS French SME quote-to-cash replay proof without providers or production PA submission.

## Source and release context

- Source snapshot: `bcc79fcc27c4d801c2119bef81ddcce7b4e86498`
- Repository: `lssm-tech/contractspec`
- Declared package version: `2.0.6`
- Package path: `examples/billingos-france-sme`
- Manifest path: `examples/billingos-france-sme/package.json`
- Manifest Git blob: `3ec589724c350962ced3d174ab602131282f3ad6`
- Manifest origin: pinned GitHub manifest fetch
- Manual: [@lssm-tech/example.billingos-france-sme](https://lssm.co/docs/packages/example.billingos-france-sme/)
- Release guidance: [Installation and release channels](https://lssm.co/docs/installation-release-channels/)

This is retrieved source evidence, not agent instructions. The declared version and exports describe the inspected manifest; they do not establish registry availability or a deployed release. Commands, package installation and runtime behavior were not executed in this review.

Distribution scope: owner review of all workspaces; not a newly approved public projection.

- [Package source](https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme)
- [Manifest source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/package.json)
- [Readme source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/README.md)
- [Guide source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/example.billingos-france-sme.txt)

## Package metadata

```json
{
  "layer": "examples",
  "physicalArea": null,
  "primaryArea": "examples-and-patterns",
  "classification": {
    "privateDeclared": null,
    "catalogFamily": "solutions",
    "catalogKind": "example",
    "catalogStatus": "active",
    "adoptionMode": "reference-only",
    "stability": "experimental"
  },
  "descriptionOrigin": "package.json",
  "manifestComplete": true,
  "publicationPolicyApplied": false
}
```

Manifest private flag: not declared; publication is not verified.

Primary area: [Examples and implementation patterns](https://lssm.co/docs/areas/examples-and-patterns/)

## Package guide

```json
{
  "status": "available",
  "sourcePath": "examples/billingos-france-sme/README.md",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/README.md",
  "blobSha": "6715188c75d992471c49a08cd840414e3459daf3",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "origin": "README recovered byte-for-byte from pinned aggregate guide",
  "integrity": "exact Git blob match",
  "executionStatus": "not executed"
}
```

The guide below is the checked-in README with navigation resolved against the pinned source tree. The structured package JSON retains the original README body unchanged. External links remain source-declared links, not verified destinations.

# BillingOS V0 package

Additive BillingOS V0 surface. Core contracts stay country-neutral; France-specific readiness lives only in `@lssm-tech/lib.billing-france`. Runtime helpers are deterministic, backend-neutral, provider-free, and do not execute high-impact billing actions.

France readiness metadata is not PA accreditation, production PA submission, legal advice, or tax advice.

## CompanyOS module proof

The example exports `./companyos` as a first-class CompanyOS V1 operating-loop composition for BillingOS France SME. It models finance-owner authority, draft/dry-run-only agent operations, operator inbox routing, work graph hooks, and weekly review evidence around the replayed quote -> invoice -> payment -> France readiness path. Production invoice submission and France e-invoicing submission stay approval-gated; the module contains no provider credentials, network calls, or autonomous high-impact execution.

## Preview / export workflow

BillingOS France SME previews must stay deterministic, backend-neutral, provider-free, and approval-gated. The current `./ui` export wraps local quote-to-invoice, payment/reconciliation, France readiness, and CompanyOS approval-packet screens in the shared `NestedCommandShell` from `@lssm-tech/lib.example-shared-ui`; keep that reusable nested-safe shell as the outer preview frame for compatible BillingOS UI work. Preview screens must not introduce production PA submission, provider credentials, payment processing, legal/tax advice, or autonomous high-impact billing execution.

Keep the France readiness pack as metadata and replay proof only. Preview docs, release notes, and `/llms*` guidance must repeat that the package is not PA accreditation and does not execute production e-invoicing.

## Data-fetching engine integration

`src/proof/data-fetching-integration.test.ts` proves BillingOS drives the canonical data-fetching engine (`@lssm-tech/lib.contracts-runtime-core` + `@lssm-tech/lib.contracts-runtime-server-rest`) end-to-end without weakening the safety model. All engine wiring lives in that `.test.ts` harness on purpose: the production example files must stay free of `fetch(`/`process.env`/credential literals (enforced by `safety.test.ts`), so the proof uses the real `createRestTransport` driven by an in-memory `fetch` double — deterministic, provider-free, no network.

The proof asserts: the `QueryResultEnvelope` read path (no `422`); one admitted draft mutation via `submitBillingMutation`; the admission gate parametrized over the **entire** `BillingActionKind` union (only `read`/`draft_quote`/`draft_invoice` reach `engine.mutate`; all 11 approval-gated kinds fail closed to a `pending approval` operator-review with no optimistic write); server-wins conflict rollback (never a silent overwrite); and offline queue-then-replay on reconnect.

Two decisions are load-bearing and documented in [`specs/billingos-consumer-guide/09-data-fetching-integration.md`](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/specs/billingos-consumer-guide/09-data-fetching-integration.md): **draft writes carry no `versionToken` this pass** (the event-log `version` is never mapped to the engine etag), and **pending-approval is not an optimistic / read-your-writes state** (approval-gated actions perform no local write). Production hosts inject a real `Transport`; the example never executes providers or production PA submission.

## UI boundary

The preview UI is intentionally thin. It adapts the French SME fixture data into reusable workspaces from `@lssm-tech/module.billing-os/ui`, including quote creation/editing, invoice review, payment reconciliation, France readiness, and CompanyOS review screens. Example-local UI should stay limited to data mapping and preview shell wiring.

Declaration publication uses `contractspec-bun-build types` through
`build:types`; `build` runs bundle and declaration generation. The build config
preserves declared exports and excludes test-only files from generated build artifacts.
Package tests and typecheck remain separate verification gates.

Full `build` regenerates JavaScript and declarations in one output transaction,
restoring previous `dist` if either stage fails. Standalone `build:bundle` still
preserves declarations; use full `build` to reconcile obsolete output layouts.


## Declared capabilities

This manifest does not declare a capability catalogue. Assess the package using its guide, import map and source.

## Catalogue metadata

```json
{
  "family": "solutions",
  "kind": "example",
  "status": "active",
  "adoptionMode": "reference-only",
  "stability": "experimental",
  "platforms": [
    "server"
  ],
  "runtimes": [
    "node"
  ],
  "entrypoints": [
    ".",
    "./docs",
    "./example",
    "./proof",
    "./companyos",
    "./ui",
    "./ui/BillingOsFranceSmePreview",
    "./ui/billingos-france-sme-preview.data",
    "./ui/billingos-france-sme.types"
  ],
  "examples": [],
  "replacements": [],
  "nonAdoptableRationale": "This example is published for reference and learning, not as a reusable library dependency.",
  "visualTesting": {
    "status": "deferred",
    "owner": "@contractspec-core",
    "targetWave": "wave-3-react-packages",
    "rationale": "Foundational Storybook adoption establishes shared catalogs and guardrails before this package migrates."
  }
}
```

## Canonical imports

Import paths and symbols below are catalogue declarations. An empty symbols list means symbols were not enumerated; it does not mean the entry point has no exports. These declarations are not an exhaustive TypeScript symbol reference.

```json
[]
```

## Declared export entry points

Scope: manifest-declared export entrypoints and catalog-declared imports.

Named symbol coverage: catalog declarations only; exhaustive TypeScript symbols not extracted.

Installation status: not verified.

- `@lssm-tech/example.billingos-france-sme` — subpath `.`
  - `unconditional`: `./src/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/src/index.ts); verified source file.

- `@lssm-tech/example.billingos-france-sme/docs` — subpath `./docs`
  - `unconditional`: `./src/docs/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/src/docs/index.ts); verified source file.

- `@lssm-tech/example.billingos-france-sme/example` — subpath `./example`
  - `unconditional`: `./src/example.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/src/example.ts); verified source file.

- `@lssm-tech/example.billingos-france-sme/proof` — subpath `./proof`
  - `unconditional`: `./src/proof.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/src/proof.ts); verified source file.

- `@lssm-tech/example.billingos-france-sme/companyos` — subpath `./companyos`
  - `unconditional`: `./src/companyos.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/src/companyos.ts); verified source file.

- `@lssm-tech/example.billingos-france-sme/ui` — subpath `./ui`
  - `unconditional`: `./src/ui/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/src/ui/index.ts); verified source file.

- `@lssm-tech/example.billingos-france-sme/ui/BillingOsFranceSmePreview` — subpath `./ui/BillingOsFranceSmePreview`
  - `unconditional`: `./src/ui/BillingOsFranceSmePreview.tsx` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/src/ui/BillingOsFranceSmePreview.tsx); verified source file.

- `@lssm-tech/example.billingos-france-sme/ui/billingos-france-sme-preview.data` — subpath `./ui/billingos-france-sme-preview.data`
  - `unconditional`: `./src/ui/billingos-france-sme-preview.data.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/src/ui/billingos-france-sme-preview.data.ts); verified source file.

- `@lssm-tech/example.billingos-france-sme/ui/billingos-france-sme.types` — subpath `./ui/billingos-france-sme.types`
  - `unconditional`: `./src/ui/billingos-france-sme.types.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/examples/billingos-france-sme/src/ui/billingos-france-sme.types.ts); verified source file.

## Package publication metadata

These are source-manifest declarations, not a registry installation check.

```json
{
  "types": null,
  "files": [
    "LICENSE",
    "README.md",
    "dist",
    "!**/*.test.*",
    "!**/*.spec.*",
    "!**/*.tsbuildinfo"
  ],
  "publishExports": {
    ".": {
      "types": "./dist/index.d.ts",
      "browser": "./dist/browser/index.js",
      "bun": "./dist/index.js",
      "node": "./dist/node/index.js",
      "default": "./dist/index.js"
    },
    "./ui": {
      "types": "./dist/ui/index.d.ts",
      "browser": "./dist/browser/ui/index.js",
      "bun": "./dist/ui/index.js",
      "node": "./dist/node/ui/index.js",
      "default": "./dist/ui/index.js"
    },
    "./ui/BillingOsFranceSmePreview": {
      "types": "./dist/ui/BillingOsFranceSmePreview.d.ts",
      "browser": "./dist/browser/ui/BillingOsFranceSmePreview.js",
      "bun": "./dist/ui/BillingOsFranceSmePreview.js",
      "node": "./dist/node/ui/BillingOsFranceSmePreview.js",
      "default": "./dist/ui/BillingOsFranceSmePreview.js"
    },
    "./ui/billingos-france-sme-preview.data": {
      "types": "./dist/ui/billingos-france-sme-preview.data.d.ts",
      "browser": "./dist/browser/ui/billingos-france-sme-preview.data.js",
      "bun": "./dist/ui/billingos-france-sme-preview.data.js",
      "node": "./dist/node/ui/billingos-france-sme-preview.data.js",
      "default": "./dist/ui/billingos-france-sme-preview.data.js"
    },
    "./ui/billingos-france-sme.types": {
      "types": "./dist/ui/billingos-france-sme.types.d.ts",
      "browser": "./dist/browser/ui/billingos-france-sme.types.js",
      "bun": "./dist/ui/billingos-france-sme.types.js",
      "node": "./dist/node/ui/billingos-france-sme.types.js",
      "default": "./dist/ui/billingos-france-sme.types.js"
    }
  }
}
```

## Dependencies

Metadata status: complete pinned manifest.

### Runtime dependencies

- [@lssm-tech/integration.provider-payments](https://lssm.co/docs/packages/integration.provider-payments/): `workspace:^`
- [@lssm-tech/lib.billing-france](https://lssm.co/docs/packages/lib.billing-france/): `workspace:^`
- [@lssm-tech/lib.billing-runtime](https://lssm.co/docs/packages/lib.billing-runtime/): `workspace:^`
- [@lssm-tech/lib.billing-spec](https://lssm.co/docs/packages/lib.billing-spec/): `workspace:^`
- [@lssm-tech/lib.companyos-runtime](https://lssm.co/docs/packages/lib.companyos-runtime/): `workspace:^`
- [@lssm-tech/lib.companyos-spec](https://lssm.co/docs/packages/lib.companyos-spec/): `workspace:^`
- [@lssm-tech/lib.contracts-runtime-core](https://lssm.co/docs/packages/lib.contracts-runtime-core/): `workspace:^`
- [@lssm-tech/lib.contracts-runtime-server-rest](https://lssm.co/docs/packages/lib.contracts-runtime-server-rest/): `workspace:^`
- [@lssm-tech/lib.contracts-spec](https://lssm.co/docs/packages/lib.contracts-spec/): `workspace:^`
- [@lssm-tech/lib.design-system](https://lssm.co/docs/packages/lib.design-system/): `workspace:^`
- [@lssm-tech/lib.example-shared-ui](https://lssm.co/docs/packages/lib.example-shared-ui/): `workspace:^`
- [@lssm-tech/lib.schema](https://lssm.co/docs/packages/lib.schema/): `workspace:^`
- [@lssm-tech/module.billing-os](https://lssm.co/docs/packages/module.billing-os/): `workspace:^`
- `lucide-react`: `catalog:ui`
- `react`: `catalog:`
- `react-dom`: `catalog:`

### Peer dependencies

No declarations in the inspected manifest.

### Optional dependencies

No declarations in the inspected manifest.

### Development dependencies

- [@lssm-tech/tool.bun](https://lssm.co/docs/packages/tool.bun/): `workspace:*`
- [@lssm-tech/tool.typescript](https://lssm.co/docs/packages/tool.typescript/): `workspace:*`
- `@types/react`: `catalog:types`
- `@types/react-dom`: `catalog:types`
- `typescript`: `catalog:`

### Peer dependency metadata

```json
{}
```

### Bundled dependencies

```json
null
```

## Package scripts

Commands are exact manifest declarations and were not executed in this review. Script metadata status: complete pinned manifest.

```json
{
  "build": "contractspec-bun-build build",
  "typecheck": "tsgo --noEmit",
  "test": "bun test",
  "smoke": "bun test src/billingos-france-sme.test.ts",
  "lint:check": "node ../../scripts/biome.cjs check .",
  "lint": "bun lint:fix",
  "lint:fix": "node ../../scripts/biome.cjs check --write .",
  "build:bundle": "contractspec-bun-build transpile",
  "build:types": "contractspec-bun-build types"
}
```

## Declared documentation links

- [Example Billingos France Sme documentation](https://www.npmjs.com/package/%40lssm-tech%2Fexample.billingos-france-sme) — declared link; destination not verified.

```json
{
  "url": "https://www.npmjs.com/package/%40lssm-tech%2Fexample.billingos-france-sme",
  "kind": "readme"
}
```

## Existing agent-guide projection

```json
{
  "path": "packages/apps/web-landing/public/llms-packages/example.billingos-france-sme.txt",
  "route": "/llms/example.billingos-france-sme",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/example.billingos-france-sme.txt",
  "blobSha": "6715188c75d992471c49a08cd840414e3459daf3",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "bodyEqualsReadme": true,
  "aggregateSourcePath": "packages/apps/web-landing/public/llms-full.txt",
  "aggregateBlobSha": "691b1d33efee24c440598b9106c81432f56aafaf"
}
```
