Three lists, and the one that was never filled — transcript
Play this as a presentation — one slide per step, with the same narration. Every word of every step is on this page.
This lesson is for whoever is about to set e-invoice values on several thousand GadgetSphere items and wants to know what they are choosing from. The three fields on that tab are backed by three completely different kinds of list, and one of them stays empty unless somebody fills it by hand. Twelve minutes, and it will save you a failed bulk fix.
Step 1 — Look at the classification list you are choosing from
After this step you will know how much choice you have. The classification list holds forty-five codes, from breastfeeding equipment at zero-zero-one to self-billed non-monetary payments at zero-four-five. They were inserted into every tenant by a database changeset in twenty twenty-four, and the list has never grown since. Nothing adds a code to it afterwards, so you should see exactly forty-five rows unless somebody in your own business has added one. So this is not a list your tenant has drifted away from. Where your tenant runs the monthly classification clock, the wording of these forty-five is refreshed from the tax authority’s published list, but no new code is ever added. The set of codes is a photograph of what the tax authority published on one day, copied everywhere.
Reference: Doc Item Maintenance — Classifications
Step 2 — Understand what “never extended” costs you
After this step you will know what to do when the code you need is not there. The monthly clock, where your tenant has it, rewords the codes you already hold and stops there. If a code is published after that seed, your tenant will not have it, and nothing will tell you it is missing — you will simply not find it in the drop-down and will pick something close. The screen does have a Create form, taking a code, a name and a type, with the Malaysian e-invoice type as the only choice. So the answer is to add the row by hand. The consequence worth planning for is that you must add it separately for every tenant and every company you run, and nothing will remind you.
Reference: Doc Item Maintenance — Classifications
Step 3 — Compare it with the tax-type list, which behaves
After this step you will have a control to measure the others against. The taxable type list is six rows. It is small, stable and seeded properly, so it is the one of the three where what you see on your screen is certainly what a colleague sees on theirs. Keep it in mind while reading the next step, because it is the contrast that makes the next list make sense: a list that is seeded looks the same everywhere, and the next one was never seeded at all.
Reference: Doc Item Maintenance — E-Invoice tab
Step 4 — Find the list that was never filled
After this step you will know the strangest fact in this series. The unit of measure has two lists, not one. The drop-down on the E-Invoice tab is a list of roughly two thousand unit codes compiled into the applet itself — it ships with the screen, so it is always there and always identical. There is also a database table for the same thing, created by the changelog and never given any rows. Unless somebody in your business has filled it by hand, yours is empty. Nothing on any screen depends on that table, so an empty one goes unnoticed, and for typing a unit into an item it genuinely does not matter.
Reference: Doc Item Maintenance — E-Invoice tab
Step 5 — Find out where it does matter
After this step you will not lose a column in a bulk fix. The item file import resolves a unit differently from the screen. It does not use the compiled list; it looks the code up in that database table. In a tenant where the table is empty the lookup finds nothing, the failure is caught and discarded, and the unit column is quietly left off the item. No error row, no warning, no mention in the upload’s result. You will believe you have set the unit on four thousand items and the field will still be blank on all of them — and every line will go out in pieces, which is the value you were trying to correct.
Reference: Doc Item Maintenance — Troubleshooting
Step 6 — Plan the bulk fix around what each list can do
After this step you will know how to spend the effort. The classification is the field worth bulk-loading: the list is present everywhere, the import resolves it, and a correction reaches documents that have not yet been submitted. The taxable type is also resolvable and not worth setting in bulk, because the line’s tax amount decides it anyway. The unit is the one to do on the screen, or through a template on new items, unless you have first imported a single test item with a unit and opened it to see that the unit arrived. And before any of it, check whether a code you need is even in the forty-five.
Reference: Doc Item Maintenance — Import Item
How the steps fit together
flowchart TD
s1["Step 1 — Look at the classification list you are choosing from"]
s2["Step 2 — Understand what 'never extended' costs you"]
s3["Step 3 — Compare it with the tax-type list, which behaves"]
s4["Step 4 — Find the list that was never filled"]
s5["Step 5 — Find out where it does matter"]
s6["Step 6 — Plan the bulk fix around what each list can do"]
s1 --> s2
s2 --> s3
s3 --> s4
s4 --> s5
s5 --> s6
Check yourself
Three to five questions on what you just heard. Every correct answer links to the page that makes it correct, so you can check the source, not just the mark.
Answer key
- Nothing — the list is never extended (the monthly clock, where your tenant has it, only rewords codes already there), so somebody adds the row by hand — Doc Item Maintenance — Classifications
- From a list compiled into the applet, which is why it is never empty — Doc Item Maintenance — E-Invoice tab
- The column is dropped silently and the items keep a blank unit — Doc Item Maintenance — Troubleshooting
- The classification — the list is the same seeded forty-five everywhere and a late fix still reaches unsubmitted documents — Doc Item Maintenance — Import Item
Next: Getting a catalogue ready, and proving it · Back to the series · Play this as a presentation