BR-KSA-DEC-01 🧮 Tax & Line Calculations error

BR-KSA-DEC-01: Allowance / Discount Percentage Must Have Maximum 2 Decimals

BR-KSA-DEC-01: نسبة الخصم يجب ألا تتجاوز خانتين عشريتين وبدون رمز %

Official ZATCA Specification:

The allowance percentage values (BT-94, BT-138) must be from 0.00 to 100.00, with maximum two decimal places. Only numerals are accepted, the percentage symbol (%) is not allowed.

XPath Context: /ubl:Invoice/cac:AllowanceCharge/cbc:MultiplierFactorNumeric

📌 Overview & Impact

Allowance and discount percentage values (BT-94, BT-138) must be numeric from 0.00 to 100.00 with max 2 decimals. The '%' symbol is forbidden.

الوصف بالعربية: نسبة الخصم يجب أن تكون قيمة رقمية من 0.00 إلى 100.00 بحد أقصى خانتين عشريتين، ويحظر إدخال رمز النسبة المئوية (%).

⚠️ Common Causes for Rejection

  • Including '%' in the numeric field (e.g. '10%')
  • Using more than two decimal places (e.g. '10.555')
  • Setting a negative percentage or a value exceeding 100

How to Fix & Resolve

1

Round to 2 Decimal Places

Format discount multipliers to 2 decimals (e.g. 10.00 or 15.50).

2

Strip Percentage Sign

Pass raw numeric text in <cbc:MultiplierFactorNumeric>.

💻 Code Comparison: Invalid vs Compliant UBL 2.1 XML

❌ Invalid XML (Rejected by ZATCA) Invalid Payload
<cbc:MultiplierFactorNumeric>15%</cbc:MultiplierFactorNumeric>
✓ Valid XML (Compliant UBL 2.1) Valid Payload
<cbc:MultiplierFactorNumeric>15.00</cbc:MultiplierFactorNumeric>

Verify Your Invoice XML Online

Use Qeemah's free developer tools to inspect transforms, C14N digests, and Phase 2 QR codes.

Frequently Asked Questions

How is a fixed amount discount formatted vs percentage discount?

For a fixed amount discount, provide <cbc:Amount> directly without MultiplierFactorNumeric. For a percentage discount, provide BaseAmount * MultiplierFactorNumeric / 100 = Amount.

Stop Fighting Cryptic ZATCA XML Errors

Qeemah handles Phase 2 e-invoicing, cryptographic signing, and real-time clearance automatically. Integrate in minutes.