Salta al contingut
Log in

ZATCA

La Resolució de facturació electrònica de la ZATCA (Zakat, Tax and Customs Authority) estableix que les empreses que operen a l’Aràbia Saudita han de generar i enviar factures electròniques en format UBL XML. La REST API de B2Brouter permet que la teva empresa compleixi totalment amb la ZATCA, gestionant per tu la generació de l’XML, l’encadenament de hash i el procés de clearance.

Què és la facturació electrònica ZATCA?

Section titled “Què és la facturació electrònica ZATCA?”

La facturació electrònica ZATCA (Fatoorah) requereix:

  • Generar factures en format UBL 2.1 XML, amb extensions específiques de l’Aràbia Saudita.
  • Calcular una cadena hash SHA-256 que enllaci cada factura amb l’anterior.
  • Enviar cada factura a la Clearance API de la ZATCA perquè sigui validada i signada digitalment.
  • Incrustar a la factura emesa el codi QR retornat per la ZATCA.

Amb B2Brouter pots descarregar-te de tot això. Emets factures o crees declaracions fiscals mitjançant crides REST, i B2Brouter s’encarrega de l’encadenament, el clearance i la generació del codi QR.

Les factures ZATCA són emeses per empreses saudites. El compte ha de tenir country: "sa". Els camps següents són obligatoris per als comptes SA:

Paràmetre APIDescripcióNotes
nameNom legal de l’empresaObligatori
countryHa de ser "sa"Obligatori
addressNom del carrerObligatori
address2Número de l’edificiObligatori: enter de 4 dígits
cityCiutatObligatori
postalcodeCodi postalObligatori
provinceDistricteObligatori
tin_valueNúmero de registre d’IVA (15 dígits)Obligatori
tin_schemeHa de ser 9760 (IVA saudita)Obligatori

Nota: Els camps address2 i province corresponen, respectivament, als conceptes saudites de número d’edifici i districte. Fes servir address2 i province com a noms de paràmetre a l’API; l’API retornarà errors fent referència a aquests noms.

Els contactes (compradors) de les factures ZATCA també han de tenir les dades d’adreça correctes. Els camps següents apliquen quan country és "sa":

Paràmetre APIDescripcióNotes
nameNom legal del compradorObligatori
countryCodi de país ISO-2Obligatori
addressNom del carrerObligatori per a contactes SA amb ZATCA activat
address2Número de l’edificiObligatori per a contactes SA amb ZATCA activat
cityCiutatObligatori per a contactes SA amb ZATCA activat
postalcodeCodi postalObligatori per a contactes SA amb ZATCA activat
provinceDistricteObligatori per a contactes SA amb ZATCA activat
tin_valueNúmero de registre d’IVAObligatori per a factures B2B
tin_scheme9760 per a IVA saudita; consulta Tipus d’identificador del comprador per a compradors estrangersObligatori

Les factures ZATCA fan servir SAR (riyal saudita) com a moneda. Els impostos han d’utilitzar name: "VAT" i category: "S" per al tipus estàndard del 15%.

Exemple mínim de factura:

Finestra del terminal
curl --request POST \
--url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/invoices \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'Content-Type: application/json' \
--data '{
"send_after_import": true,
"invoice": {
"date": "2025-01-15",
"number": "INV-001",
"currency": "SAR",
"payment_method": 1,
"contact": {
"name": "Buyer Company Ltd",
"address": "King Fahd Road",
"address2": "1234",
"city": "Riyadh",
"postalcode": "12345",
"province": "Riyadh",
"country": "sa",
"tin_value": "310175397400003",
"tin_scheme": 9760,
"language": "en",
"currency": "SAR"
},
"invoice_lines_attributes": [
{
"quantity": 1.0,
"description": "Professional services",
"price": 100.0,
"taxes_attributes": [
{
"name": "VAT",
"percent": 15.0,
"category": "S"
}
]
}
]
}
}'

La ZATCA defineix quatre categories d’IVA. Per a les categories E (exempt) i Z (tipus zero), un codi vàlid de motiu d’exempció (comment a la línia d’impost) és obligatori; la factura serà rebutjada si no s’inclou.

CategoriaDescripcióTipusCal codi d’exempció?
STipus estàndard15%No
EExempt d’IVA0%: VATEX-SA-29, VATEX-SA-29-7 o VATEX-SA-30
ZTipus zero0%: consulta la taula següent
OFora d’àmbit0%No

El codi d’exempció s’estableix al camp comment de la línia d’impost:

{
"name": "VAT",
"percent": 0.0,
"category": "Z",
"comment": "VATEX-SA-32"
}
CodiDescripció
VATEX-SA-29Serveis financers esmentats a l’article 29 del Reglament de l’IVA
VATEX-SA-29-7Serveis d’assegurança de vida esmentats a l’article 29 del Reglament de l’IVA
VATEX-SA-30Operacions immobiliàries esmentades a l’article 30 del Reglament de l’IVA
CodiDescripció
VATEX-SA-32Exportació de béns
VATEX-SA-33Exportació de serveis
VATEX-SA-34-1Transport internacional de béns
VATEX-SA-34-2Transport internacional de passatgers
VATEX-SA-34-3Serveis directament connectats i accessoris a un subministrament de transport internacional de passatgers
VATEX-SA-34-4Subministrament d’un mitjà de transport qualificat
VATEX-SA-34-5Qualsevol servei relacionat amb el transport de béns o passatgers (article 25 del Reglament de l’IVA)
VATEX-SA-35Medicaments i equipament mèdic
VATEX-SA-36Metalls qualificats
VATEX-SA-EDUEducació privada a ciutadans
VATEX-SA-HEAAssistència sanitària privada a ciutadans
VATEX-SA-MLTRYSubministrament de béns militars qualificats
VATEX-SA-DIPLOMATSubministraments qualificats a missions diplomàtiques
VATEX-SA-DUTYFREESubministrament qualificat de béns a la zona duty free
VATEX-SA-32(bis)Subministrament sota un règim de suspensió duanera
VATEX-SA-ROYALDECREESubministrament sobre el qual el Govern assumeix l’IVA
CodiDescripció
VATEX-SA-OOSServeis fora de l’àmbit de l’impost / No subjectes a IVA (text lliure segons el cas)

Per a compradors estrangers (no SA), fes servir tin_scheme per indicar el tipus d’identificador:

tin_schemeDescripció
9760Número de registre d’IVA saudita
0002Número d’IVA de la UE
0003Número de passaport
0004Identificador oficial (país de residència)
0005Certificat de residència
0006Altre document
0007No registrat

Després de crear o enviar una factura, el clearance de ZATCA és asíncron. El tax_report estarà inicialment en estat processing.

Supervisa el progrés mitjançant:

Mapeig de camps: Invoice API → XML ZATCA

Section titled “Mapeig de camps: Invoice API → XML ZATCA”
Camp de l’Invoice APIElement XML ZATCA
numbercbc:ID
datecbc:IssueDate
company.tin_valuecbc:CompanyID del proveïdor
company.address2cbc:BuildingNumber del proveïdor
company.provincecbc:District del proveïdor
contact.tin_valuecbc:CompanyID del client
contact.address2cbc:BuildingNumber del client
contact.provincecbc:District del client
tax.percentcbc:Percent
tax.categorycbc:ID a cac:TaxCategory
tax.commentcbc:TaxExemptionReasonCode
invoice.totalcbc:TaxInclusiveAmount
invoice.subtotalcbc:TaxExclusiveAmount