Beacon

Configure fiscal compliance

View as Markdown

Configure fiscal compliance

Self-service checklist to close Beacon fiscal onboarding before production.

howto • updated 2026-03-17

Prerequisites

  • Organization on an eligible paid plan.
  • Owner/admin operating in the correct mode (test or live).
  • setup-state available with no manual customer secrets.

Step-by-step

  1. 11) Prepare fiscal engine

    Run Beacon-managed provisioning and confirm setup-state.
  2. 22) Configure TA in live

    Use POST /api/fiscal/setup/at?org=<slug>&mode=live to store encrypted credentials and validate access only in live.
  3. 33) Configure profile and context

    Fill the fiscal profile and use state.issuanceContextOptions from GET /api/fiscal/setup-state to confirm the default establishment and series.
  4. 44) Clear blocked states

    Use series/communicate, saft/automatic, and setup/self-heal until the environment reaches ready.
  5. 55) Test issuance

    Generate setup/preview, issue documents in test, and validate the first controlled issuance in live.

Quality gate before live

  1. Confirm the frontend relies only on GET /api/fiscal/setup-state?org=<slug>&mode=<mode> for CTAs and state.issuanceContextOptions.
  2. Verify the frontend reads the functional state from the state field in the response, without parallel endpoints.
  3. Verify reconciliation between Stripe events and issued fiscal documents.
  4. Ensure runbooks exist for stuck provisioning, KEK rotation, and fiscal backlog.

Canonical frontend endpoint

Always use GET /api/fiscal/setup-state?org=<slug>&mode=<mode>. The current public response is an envelope { ok, state, context }.

Frequent errors

SignalCauseMitigation
blocked:at_credentials_invalidinvalid TA credentialsreconfigure TA and rerun diagnostics
blocked:series_not_reporteddefault series not reported yetcommunicate the series and validate again
blocked:provider_unavailabletemporary outagewait for nextRetryAt and retry