Skip to content
Tax codes, SST and what LHDN actually sees · presentation 5 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.

Tax codes, SST and what LHDN actually sees · presentation 5 of 5

Proving a tax setup from the only place that can prove it

You can put a tax configuration together in the order the platform requires, say what each screen can and cannot tell you afterwards…

The order that works

Step 1 — Put the accounts in before the codes

You will avoid the failure that catches everyone first.

Screen capture pending the demo tenant

Organization applet, a company open on its Default GL Code list, showing the output and input tax links with their subledgers

Step 2 — Create the codes, and mind what delete means

You will not paint yourself into a corner.

What you do
  1. Create the tax codes you need with whole-percent rates
  2. Delete is a soft delete: the row stays in the table with a deleted…
  3. Choose code strings you can live with…

Step 3 — Switch the items on, then check the tick rather than the code

You will know which item question actually matters.

What you do
  1. Set the tax codes on the items that need them, and tick Tax Applicable…

Why the screens cannot prove it

Step 4 — Accept what the setup screens cannot tell you

You will stop treating a clean configuration as a result.

Where this step sits
    flowchart TD
  s1["1. Put the accounts in before the…"]
  s2["2. Create the codes, and mind what…"]
  s3["3. Switch the items on…"]
  s4["4. Accept what the setup screens cannot…"]
  s5["5. Run the check that does prove…"]
  s6["6. Treat acceptance as the weakest evidence…"]
  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 — Run the check that does prove it

You will have a test that closes the loop.

  • Look at three things on that line: the rate…
Screen capture pending the demo tenant

My E-Invoice Admin, an internal submission open at line level, showing tax rate, tax amount and taxable type

What accepted does not mean

Step 6 — Treat acceptance as the weakest evidence you have

You will know why you cannot wait to be told.

Where this step sits
    flowchart TD
  s1["1. Put the accounts in before the…"]
  s2["2. Create the codes, and mind what…"]
  s3["3. Switch the items on…"]
  s4["4. Accept what the setup screens cannot…"]
  s5["5. Run the check that does prove…"]
  s6["6. Treat acceptance as the weakest evidence…"]
  s1 --> s2
  s2 --> s3
  s3 --> s4
  s4 --> s5
  s5 --> s6
  classDef here fill:#1e40af,stroke:#1e40af,color:#ffffff,font-weight:bold;
  class s6 here;
  

NarrationSlide 1 of 10

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.