0300·A numeric value is invalid
Data formatCommon
What this means
Every numeric field must carry an actual non-negative number. Optional fields are optional in the sense that they may be zero — not in the sense that they may be omitted or null. The response usually names the offending field and line.
Why it happens
- An optional field such as discount, extra tax, or further tax was left null rather than set to zero.
- A number was serialised as a quoted string.
- A credit adjustment produced a negative value.
- An empty string was submitted where a value was not applicable.
How to fix it
- 1Default every optional numeric field to zero rather than null.
- 2Serialise numbers as JSON numbers, not strings.
- 3Handle reductions through credit notes rather than negative line values.
- 4Read the error text — it identifies which field and which line failed.
How Ordyoo handles this
The payload builder defaults all optional numeric fields to zero and is covered by tests running against a specification-accurate local mock, so null leakage is caught before it reaches FBR.
Scenarios where this appears
Sandbox scenarios that commonly produce 0300.
Related errors
Stop debugging FBR payloads by hand
Ordyoo builds and submits compliant invoices so most of these rejections never reach you. Start free.
