Skip to content
Finalise: what the button starts, and what it writes · presentation 1 of 5 · for the whole-system operator — you run the books Read the transcript · Back to the series

These slides need JavaScript to advance one at a time. Without it every slide is shown below, one after another, each with its own player — or read the transcript, which carries the same steps and every word.

Finalise: what the button starts, and what it writes · presentation 1 of 5

Finalise is a different button, and a different endpoint

You can say exactly what happens between pressing Finalise and the screen coming back, which nine checks can refuse it…

A different call

Step 1 — Stop thinking of Finalise as a save

You will read the rest of this series correctly.

What this step names
  1. The finalise takes only the document's identifier and a posting status
  2. Runs a set of checks the save never runs
  3. Stamps a few fields
  4. Then puts one row on a work queue

Step 2 — Know the nine ways it can be refused

You will recognise a refusal instead of guessing at it.

Screen capture pending the demo tenant

Sales Invoice, the rejection banner after pressing FINAL

Step 3 — Know that three of those checks are decided by the screen, not by a setting

You will stop hunting for a company-level switch that does not exist.

Where this step sits
    flowchart TD
  s1["1. Stop thinking of Finalise as a…"]
  s2["2. Know the nine ways it can…"]
  s3["3. Know that three of those checks…"]
  s4["4. Know what it stamps before it…"]
  s5["5. Know what the shared save path…"]
  s6["6. Accept that the call returns before…"]
  s1 --> s2
  s2 --> s3
  s3 --> s4
  s4 --> s5
  s5 --> s6
  classDef here fill:#1e40af,stroke:#1e40af,color:#ffffff,font-weight:bold;
  class s3 here;
  

What the document gains

Step 4 — Know what it stamps before it queues anything

You will know why a finalised document differs from the draft you were looking at.

Where this step sits
    flowchart TD
  s1["1. Stop thinking of Finalise as a…"]
  s2["2. Know the nine ways it can…"]
  s3["3. Know that three of those checks…"]
  s4["4. Know what it stamps before it…"]
  s5["5. Know what the shared save path…"]
  s6["6. Accept that the call returns before…"]
  s1 --> s2
  s2 --> s3
  s3 --> s4
  s4 --> s5
  s5 --> s6
  classDef here fill:#1e40af,stroke:#1e40af,color:#ffffff,font-weight:bold;
  class s4 here;
  

Step 5 — Know what the shared save path rewrites on the way through

You will stop being surprised by fields that change without an editor.

Where this step sits
    flowchart TD
  s1["1. Stop thinking of Finalise as a…"]
  s2["2. Know the nine ways it can…"]
  s3["3. Know that three of those checks…"]
  s4["4. Know what it stamps before it…"]
  s5["5. Know what the shared save path…"]
  s6["6. Accept that the call returns before…"]
  s1 --> s2
  s2 --> s3
  s3 --> s4
  s4 --> s5
  s5 --> s6
  classDef here fill:#1e40af,stroke:#1e40af,color:#ffffff,font-weight:bold;
  class s5 here;
  

Step 6 — Accept that the call returns before the work is done

You will have the right mental model for everything that follows.

What this step names
  1. Finalise does not wait for the journal
  2. The stock movement
  3. The costing
  4. The e-invoice row
  5. The loyalty points

NarrationSlide 1 of 9

Left and right arrows, or the space bar, move between slides; f is full screen and Esc leaves it. Clicking the left or right half of a slide pages it. Play and pause belong to you — nothing moves on by itself unless you tick the box above.