Overview
The UAE Federal Tax Authority (FTA) mandates e-invoicing for all VAT-registered businesses. This comprehensive guide covers FTA regulations, technical implementation, and FinSanad integration for compliant online invoicing.
FTA E-Invoicing Requirements
Regulatory Framework
| Requirement | Details | Status |
|---|---|---|
| Digital Invoicing Phase 1 | B2B invoices must be in digital format (XML/JSON) | Phased rollout — verify current phase with FTA |
| Digital Invoicing Phase 2 | B2C & Export invoices in digital format | Later phase — verify timeline with FTA |
| XML/UBL 2.1 Compliance | All invoices must use UBL 2.1 or UBLTR format | Mandatory |
| Digital Signatures | All invoices must be digitally signed with X.509 certificates | Mandatory |
| QR Code | Invoices must include FTA-compliant QR code | Mandatory |
| Record Retention | Keep digital records for minimum 5 years | Mandatory |
Invoice Types
Standard Invoice
Commercial invoice for B2B & B2C transactions with full details
MandatorySimplified Invoice
Retail invoices with limited data for B2C (AED 2,000 limit)
MandatoryDebit Note
Document increasing amount owed due to errors/changes
ConditionalCredit Note
Reduction or refund of original invoice amount
MandatoryTechnical Requirements
1. XML Invoice Structure
All invoices must follow UBL 2.1 standard with these mandatory elements:
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:ID>INV-2024-001</cbc:ID>
<cbc:IssueDate>2024-01-15</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="VAT">AE123456789012345</cbc:ID>
</cac:PartyIdentification>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID schemeID="VAT">AE987654321098765</cbc:ID>
</cac:PartyIdentification>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity>1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount>100.00</cbc:LineExtensionAmount>
<cac:TaxTotal>
<cbc:TaxAmount>5.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:Percent>5</cbc:Percent>
</cac:TaxSubtotal>
</cac:TaxTotal>
</cac:InvoiceLine>
<cac:LegalMonetaryTotal>
<cbc:TaxInclusiveAmount>105.00</cbc:TaxInclusiveAmount>
</cac:LegalMonetaryTotal>
</Invoice>
2. Mandatory Invoice Fields
| Field | Type | Requirement | Example |
|---|---|---|---|
| Invoice Number | String | Unique, sequential | INV-2024-001 |
| Invoice Date | Date | Issue date (YYYY-MM-DD) | 2024-01-15 |
| Due Date | Date | Payment due date | 2024-02-15 |
| Supplier VAT | String | VAT registration number | AE123456789012345 |
| Customer VAT | String | VAT or ID (if B2C use ID) | AE987654321098765 |
| Description | String | Item/service description | Professional Services |
| Quantity | Decimal | Item quantity | 1.00 |
| Unit Price | Decimal | Price per unit (excl. VAT) | 100.00 |
| VAT Amount | Decimal | Tax amount (5% standard) | 5.00 |
| Total Amount | Decimal | Total including VAT | 105.00 |
3. QR Code Requirements
Invoices must include a QR code containing:
- Seller Name: Company/business name
- Seller VAT ID: UAE VAT registration number
- Invoice Date: Date in DD-MM-YYYY format
- Total with VAT: Amount including VAT
- Total VAT Amount: VAT charged
- Digital Signature: Base64 encoded signature
4. Digital Signatures
| Requirement | Specification |
|---|---|
| Certificate Type | X.509 v3 digital certificate |
| Key Algorithm | RSA 2048-bit or higher |
| Hash Algorithm | SHA-256 |
| Signature Format | XMLDSig (XML Digital Signature) |
| Certificate Issuer | Approved CA (local or international) |
FTA Integration & APIs
1. FTA API Endpoints
Connect with FTA through these endpoints:
Base URL: https://api.invoicing.fa.uae.gov.ae
Endpoints:
- POST /api/v2/invoices - Submit invoice
- POST /api/v2/invoices/batch - Batch submission
- GET /api/v2/invoices/{id} - Get invoice status
- GET /api/v2/invoices/compliance/status - Compliance check
2. Invoice Submission Process
Create UBL 2.1 compliant XML invoice with all mandatory fields
Sign XML with X.509 certificate (RSA 2048-bit, SHA-256)
Create QR code with seller name, VAT, date, amounts, and signature
POST signed XML to FTA API with authentication token
FTA returns UUID and compliance status
Retain XML, signature, and FTA response for 5 years
3. Error Handling & Compliance
| Error Code | Meaning | Action |
|---|---|---|
| INVALID_XML | XML structure doesn't match UBL 2.1 | Validate against XSD schema |
| MISSING_FIELD | Required field is missing | Review mandatory fields list |
| INVALID_SIGNATURE | Digital signature is invalid | Re-sign with valid certificate |
| INVALID_VAT | VAT ID format incorrect | Use AE followed by 15 digits |
| DUPLICATE_INVOICE | Invoice number already exists | Use new sequential number |
VAT Compliance
VAT Rates
| Category | Rate | Examples |
|---|---|---|
| Standard Rate | 5% | Most goods and services |
| Zero-Rated | 0% | Exports, medical supplies |
| Exempt | - | Financial services, healthcare |
Invoice VAT Declaration
• Standard rate (5%) must be clearly shown
• Zero-rated items marked as "0%" VAT
• Exempt items marked as "Exempt"
• Reverse charge when applicable
• VAT recovery tracking for business purposes
Implementation in FinSanad
FinSanad E-Invoicing Features — Implementation Status
Online Invoicing
Sales invoices, bills, credit/debit notes with line items, sequential numbering, auto GL posting
✅ ImplementedUAE VAT Engine
5% standard, zero-rated and exempt categories; input VAT recovery; VAT201 return generation
✅ ImplementedCompliance Controls
Period locking, finalized-return audit trail, 5-year digital record retention
✅ ImplementedUBL 2.1 XML Generation
Generate FTA-format XML from invoice data
⏳ Planned — Phase 2Digital Signing & QR Codes
X.509 / SHA-256 signing and FTA QR codes — requires an approved CA certificate
⏳ Planned — Phase 2FTA API Submission
Direct/batch submission — requires FTA portal registration & API credentials
⏳ Planned — Phase 2Setup Steps
- Register with FTA: Get API credentials and digital certificate
- Configure Certificate: Upload X.509 certificate to FinSanad (Phase 2)
- Set VAT Parameters: Configure VAT rates and exemptions
- Enable E-Invoicing: Turn on e-invoicing in FinSanad invoice settings (Phase 2)
- Test Submission: Test with sample invoice before going live
- Production Deployment: Switch to production FTA API
Best Practices
• Always keep digital signatures and XML copies
• Maintain sequential invoice numbering
• Don't edit invoices after submission to FTA
• Use credit notes for corrections
• Monitor FTA compliance status regularly
• Keep certificates updated and valid
Invoice Retention Policy
- Keep digital XML files for 5 years minimum
- Store FTA submission confirmations
- Maintain digital signatures and certificates
- Document any corrections with credit notes
- Regular backup of invoice data
Testing Checklist
- ☐ XML validates against UBL 2.1 XSD schema
- ☐ All mandatory fields are populated
- ☐ VAT calculations are correct (5% standard rate)
- ☐ Digital signature is valid
- ☐ QR code encodes all required data
- ☐ FTA API accepts submission
- ☐ Compliance check returns success
- ☐ Invoice appears in FTA system
Troubleshooting
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| XML Validation Fails | Schema mismatch or missing fields | Validate against UBL 2.1 XSD, add missing fields |
| Signature Invalid | Certificate expired or algorithm mismatch | Renew certificate, verify SHA-256 algorithm |
| QR Code Won't Scan | Data encoding issue or size too small | Check encoding, ensure minimum size (2x2 inches) |
| FTA Rejects Invoice | Duplicate number or compliance issue | Check for duplicates, verify VAT calculations |
References & Resources
Official FTA Resources
- FTA Website: https://www.fta.gov.ae
- E-Invoicing Portal: https://invoicing.fa.uae.gov.ae
- API Documentation: https://developer.invoicing.fa.uae.gov.ae
- UBL Standard: OASIS Universal Business Language 2.1
Standards & Formats
- Invoice Format: UBL 2.1 XML (ISO/IEC 19845)
- Digital Signature: XMLDSig (W3C standard)
- Certificate Standard: X.509 v3
- Hash Algorithm: SHA-256
- Encryption: RSA 2048-bit