SDK 3.4.3- Queries

In the newly released version of the SDK 3.4.3

  1. Introduce a new flag for B2G invoices. - provide more information on this and how would it effect the EInvoice XML to be sent to ZATCA
  2. Introduce a new validation rule BR-KSA-92, enforcing Contract ID (BT-12) for B2G invoices. - the XML Implementation standard does not show any such rule. Please share the rule to us.
  3. Introduce a new flag for continuous supply invoices. - provide more information on this and how would it effect the EInvoice XML to be sent to ZATCA
1 Like

Dear @Ankit.K.Tiwari Could you please provide clarity on the mentioned query as no documentation available for the new flags introduced in 3.4.3. i.e. B2G Invoices, Continuous supply.

@harishkumar @Sanjay The Invoice Type Transaction Code (KSA-2) can now accommodate two additional flags - 8th digit for identifying “Continuous Supplies” and 9th digit to identify “B2G supplies”. There is no impact on the invoices sent with only 7 digits as it is today. These new tags will take effect from the date updated data dictionary and XML implementation standards are published.

Regarding the new validation rule BR-KSA-92, it requires that when 9th digit of Invoice Type Transaction Code is true (1), then the field “Contract ID (BT-12) < cac:ContractDocumentReference / cbc:ID > becomes mandatory.

So, as per your explanation, please correct me if the following is correct:

The name attribute of the InvoiceTypeCode will be exactly 9 numeric characters, with each position indicating a specific flag:

Positions: 1–2 3 4 5 6 7 8 9

Structure: NN P N E S B C G

NN (positions 1–2) — Invoice subtype

o 01 = Tax Invoice (standard, B2B)

o 02 = Simplified Tax Invoice (for B2C)

P (position 3) — Third‑party invoice flag

o 0 = not 3rd‑party

o 1 = third‑party invoicing

N (position 4) — Nominal invoice flag

o 0 = not nominal

o 1 = nominal invoice

·E (position 5) — Export invoice flag

o 0 = domestic

o 1 = export transaction

S (position 6) — Summary invoice flag

o 0 = not summary

o 1 = summary invoice (allowed for simplified only)

B (position 7) — Self‑billed invoice flag

o 0 = not self‑billed

o 1 = self‑billed invoice

o Note: Not allowed when Export flag (position 5) = 1

C (position 8) — Continuous Supply invoice flag

o 0 = not Continuous Supply invoice

o 1 = Continuous Supply invoice

G (position 9) — B2G Supplies invoice flag

o 0 = not B2G Supplies invoice

o 1 = B2G Supplies invoice

o Note: If equals 1 then the Contract ID (BT-12) should be filled.

can we still send 7 digits after the implementation date of the above, or we should send 9 digits?, and how we will know the actual date of implementation? as now they announced the new SDK but they didn’t give any dates or example documents as the have said in the SDK version details.

@basazz your understanding is correct. Yes, you can still send 7 digits, there is no impact on existing invoices. It is already deployed to Production.

@Ankit.K.Tiwari By when can we expect the new, updated data dictionary and XML implementation standards documents?

By when can we expect the new, updated data dictionary and XML implementation standards documents, and details regarding the C (position 8) — Continuous Supply invoice flag & G (position 9) — B2G Supplies invoice flag