Skip to content
English

The workflow system

The problem

An accounting document goes through many stages:

  • extraction;
  • validation;
  • qualification;
  • bank reconciliation;
  • posting.

At each stage, problems can arise: inconsistent VAT, unknown third party, unusual amount, potentially duplicate invoice.

Some problems are blocking: it is impossible to continue without a correction. Others are warnings: the document can move forward if you accept the risk.

The workflow must therefore:

  • track the state of each document;
  • detect problems at the right moment;
  • automatically advance the accounting when everything is in order.

The solution: a block-based workflow

Simon organizes the progression of your accounting around three types of entities, each with its own stages. At each transition, the system checks the conditions and reports any blocks.

Tracked entities

Documents — from reception through to complete posting:

flowchart LR
Z([Start]) --> A[Draft] --> B[Uploaded] --> C[Extracted] --> D[Validated] --> E[Qualified] --> F[Reconciled] --> G[Posted] --> H([Done])
A -.->|rejection| R[Rejected]
B -.-> R
C -.-> R
StageWhat happens
DraftDocument generated internally, awaiting confirmation
UploadedAwaiting data extraction
ExtractedData extracted, being validated
ValidatedAmounts and dates verified, in qualification
QualifiedDeductibility and VAT determined, in bank reconciliation
ReconciledReconciled with the bank, ready for posting
PostedJournal entry recorded
DonePath completed

Periods — the life cycle of the accounting period itself:

StageWhat happens
OpenPeriod in progress, journal entries accumulate
ClosedClosed (automatically creates the next period)

The “in review”, “ready” and “submitted” states are not period states: they belong to return tracking and to the computed phase of the workflow.

Returns — the progression of a tax return:

StateWhat happens
PreparedReturn built or working draft
ReadyReturn reviewed and ready to be submitted
SubmittedReturn confirmed as submitted by you
Needs revisionData modified after preparation, review needed
RectifiedAmended return processed
ArchivedOld return kept for the record

The workflow also exposes a computed phase to guide the user: missing prerequisites, missing return, return ready, pending closing decisions or closable period. This phase is a diagnostic, not a state stored on the period.

Company (onboarding) — the setup stages:

The company progresses through five stages: setup, FEC import, VAT, bank, then ready. Each stage unlocks new features.

Hard vs soft blockings

Not all blocks are equal. Simon distinguishes two levels:

Hard blockings — the document cannot move forward. The data must be corrected.

  • Inconsistent VAT (net + VAT different from gross) — correct the amounts
  • No third party identified — create or associate a supplier/client
  • Journal entry error — correct before being able to post

Soft blockings — the document can move forward if you decide so. The skip is recorded with its justification and its consequence.

  • Potential duplicate — you confirm it is intentional
  • Indeterminate orientation (supplier or client invoice?) — you specify
  • Incomplete bank coverage — acceptable during the month

Hard blockings protect accounting integrity: a journal entry must be balanced, an invoice must have an identifiable third party. Compromising on these rules would produce incorrect accounts. Soft blockings, on the other hand, inform without imposing — duplicate detection can produce false positives, automatic categorization can hesitate. You always have the final say.

Resolving blocks

Two paths to lift a block:

  1. Automatic — when an action modifies the data (correcting an amount, associating a third party), the workflow re-evaluates the conditions. If the problem has disappeared, the block lifts on its own.

  2. Manual — you provide the expected information through a structured form. Depending on the block, this form takes different shapes:

Form typeUse
ConfirmationSimple validation (acknowledgment)
ChoiceSelection between options (confirm/reject, supplier/client)
Structured fieldsCorrect an amount, a date, an account
Editable tableBank transactions, accounting lines

The agent and the interface use the same resolution forms — what you can do in the UI, the agent can generally propose too, and vice versa.

The automatic cycle

After each action that modifies the database, Simon automatically chains:

flowchart TD
A[Action executed] --> B[Detection of modified entities]
B --> C[Re-evaluation of blocks]
C --> D{Still blocks?}
D -->|No| E[Automatic advancement]
D -->|Yes| F[Awaiting resolution]
E --> G[Checklist rebuild]
F --> G
  1. Detection — Simon identifies which entities were touched by the action
  2. Re-evaluation — for each modified entity, all blocks are recomputed
  3. Advancement — if no block remains, the document automatically progresses to the next stage
  4. Checklist — the period overview is rebuilt

The period checklist

The checklist aggregates the state of all documents and blocks of a period into visual groups:

GroupWhat it contains
ValidationDocuments awaiting extraction or with validation errors
QualificationDocuments to qualify (deductibility, VAT)
Bank reconciliationUnreconciled bank transactions
AccountingDocuments to post
ReturnClosing and return blocks (ICNE, IS, VAT…)
SetupRemaining onboarding stages

When you ask “what’s left to do?”, the agent always starts by consulting this checklist. It gives a complete and structured view of the work remaining on the period.

Regression

A document can be brought back to an earlier stage. This is useful when an error is discovered downstream: rather than tinkering, you cleanly go back.

Regression automatically cleans up the artifacts created downstream:

  • From posting — deletion of the journal entries
  • From bank reconciliation — cancellation of the reconciliation groups
  • From qualification — erasure of the qualification metadata

Once the regression is done, the automatic cycle resumes from the new stage: re-evaluation of blocks, advancement if everything is in order. The document goes back through the pipeline normally.