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| Stage | What happens |
|---|---|
| Draft | Document generated internally, awaiting confirmation |
| Uploaded | Awaiting data extraction |
| Extracted | Data extracted, being validated |
| Validated | Amounts and dates verified, in qualification |
| Qualified | Deductibility and VAT determined, in bank reconciliation |
| Reconciled | Reconciled with the bank, ready for posting |
| Posted | Journal entry recorded |
| Done | Path completed |
Periods — the life cycle of the accounting period itself:
| Stage | What happens |
|---|---|
| Open | Period in progress, journal entries accumulate |
| Closed | Closed (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:
| State | What happens |
|---|---|
| Prepared | Return built or working draft |
| Ready | Return reviewed and ready to be submitted |
| Submitted | Return confirmed as submitted by you |
| Needs revision | Data modified after preparation, review needed |
| Rectified | Amended return processed |
| Archived | Old 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:
-
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.
-
Manual — you provide the expected information through a structured form. Depending on the block, this form takes different shapes:
| Form type | Use |
|---|---|
| Confirmation | Simple validation (acknowledgment) |
| Choice | Selection between options (confirm/reject, supplier/client) |
| Structured fields | Correct an amount, a date, an account |
| Editable table | Bank 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- Detection — Simon identifies which entities were touched by the action
- Re-evaluation — for each modified entity, all blocks are recomputed
- Advancement — if no block remains, the document automatically progresses to the next stage
- 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:
| Group | What it contains |
|---|---|
| Validation | Documents awaiting extraction or with validation errors |
| Qualification | Documents to qualify (deductibility, VAT) |
| Bank reconciliation | Unreconciled bank transactions |
| Accounting | Documents to post |
| Return | Closing and return blocks (ICNE, IS, VAT…) |
| Setup | Remaining 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.