BeforeMay docs
Developer reference

System architecture

How Workpapers, practice data, processing services and AI providers fit together.

Source reviewed Engineering documentation

Workpapers uses BeforeMay accounts, practice membership and client records. Its screens connect to account, team, file and workpaper-processing services.

Main boundaries

Practice system architectureWorkpapers uses account and client modules. Normal data access is scoped by membership; server functions coordinate privileged operations, Australian processing and external integrations.

Loading diagram…

Diagram source
flowchart TB
  accTitle: Practice system architecture
  accDescr: Workpapers uses account and client modules. Normal data access is scoped by membership; server functions coordinate privileged operations, Australian processing and external integrations.
  A[Workpapers]
  A --> P[Shared account, team, client and product modules]
  P -->|Authorised account queries| D[(Authentication, practice data and private storage)]
  P -->|Privileged or integration requests| F[Server functions: caller and practice checks]
  F --> D
  F -->|Queue work| W[Australian worker and recognition services]
  W --> D
  W --> G[Outbound identifier controls]
  G --> AI[Configured external AI providers]
  AI -->|Stage results| W
  F --> E[Connected services]
  class F,G control

Arrows show responsibilities and principal connections, not every request or deployment unit. See data flow for processing locations.

LayerResponsibility
Browser applicationsUser interaction, previews, local file parsing and authorised requests
Database and private storagePractice-scoped records, membership, source documents and output files
Server functionsValidate callers, enforce privileged operations and coordinate integrations
Australian processing servicesRecognise documents, apply outbound identifier controls and run the workpaper process
External providersThe configured AI steps and connected services described in the Privacy Policy

Workpapers' AI provider credentials remain server-side. A browser application's publishable connection configuration is not a privileged credential. Access must stay within the caller's authorised practice and permitted action.

A workpaper's route

  1. An authorised upload creates evidence in private storage and case metadata.
  2. Recognition and analysis prepare the document information used by the case.
  3. A build run reads the case evidence and generates a draft workbook.
  4. The selected review/repair stages and delivery policy determine release; some remaining findings can accompany a delivered workbook.
  5. The delivered/current version is available for the accountant's review, permitted edits and download.

A rendered draft and a delivered workbook are distinct states. The public MCP download tool exposes delivered output, not the earlier draft. Provider and model choices can change by stage through configuration; a vendor name in a historical architecture note is not the current runtime setting.

Read data flow for destinations and access controls for credentials. Maintainers should use the repository's source and current configuration for module, deployment and incident details.

On this page