Disclosure: I am Akanksha Surana, CEO of Perfonec Computers in Dubai. Perfonec developed QBESync — the UAE Peppol e-invoicing connector for QuickBooks. We are the Authorised QuickBooks Dealer and Pro Advisor in UAE. This guide is written to help UAE QuickBooks users understand the complete setup process.
The Problem — QuickBooks Has No Native UAE Peppol Support
UAE mandatory e-invoicing requires every VAT-registered business to send B2B invoices through the UAE Peppol network in PINT AE XML format from 2027. QuickBooks does not have this built in.
QBESync is consequently the connector that bridges QuickBooks and the UAE Peppol network. Without it — or another approved connector — UAE QuickBooks users cannot comply with the mandatory requirement.
This guide covers the complete QBESync setup — all 9 steps, the full PINT AE data audit with field-by-field QuickBooks fixes, the 7-invoice pilot testing checklist, and what happens at go-live.
Quick Reference
Product: QBESync — UAE Peppol e-invoicing connector for QuickBooks
Developer: Perfonec Computers — Authorised QuickBooks Dealer UAE
QB versions: Desktop 2017–2024 | QuickBooks Online | QB Enterprise
Setup time: 4 to 8 weeks (data audit is the longest step)
Pilot phase: Open from 1 Jul 2026 — ZERO fines during testing
Deadline 1: 1 Jan 2027 — revenue above AED 50M
Deadline 2: 1 Jul 2027 — all other VAT-registered SMEs
Contact: +971 4 386 6199 | sales@perfonec.com
Website: www.qbeinvoice.com
Architecture — How QBESync Works
Before the setup steps, here is what QBESync actually does under the hood:
QuickBooks (Desktop or Online)
│
│ Invoice confirmed
▼
QBESync
│
├── Reads invoice data via SDK API (Desktop) or REST API (Online)
├── Maps fields to PINT AE XML schema (17 mandatory fields)
├── Validates XML against UAE PINT AE business rules
├── Signs and packages for Peppol transmission
│
▼
ASP (Approved Service Provider)
│
▼
UAE Peppol Network
│
▼
Buyer's ERP / Accounting System
│
▼
Delivery confirmation → back to QBESync → status updated in QuickBooks
QB Desktop connection: Local SDK API — more stable, faster for bulk data operations during setup.
QB Online connection: Intuit REST API (OAuth 2.0) — cloud-based, suitable for remote teams.
The 17 Mandatory PINT AE Fields
Every UAE B2B invoice must contain these 17 fields in the PINT AE XML. Missing or incorrect values cause rejection at the ASP or Peppol network level.
BT-1 Invoice number
BT-2 Invoice issue date
BT-3 Invoice type code (380 = invoice, 381 = credit note)
BT-5 Invoice currency code
BT-25 Preceding invoice reference (credit notes only)
BT-29 Seller TRN (Tax Registration Number)
BT-35 Seller street address
BT-36 Seller city
BT-38 Seller country code (AE)
BT-46 Buyer TRN
BT-50 Buyer street address
BT-51 Buyer city
BT-53 Buyer country code
BT-110 Invoice total VAT amount
BT-112 Invoice total amount with VAT
BT-130 Item unit code (UN/CEFACT)
BT-151 VAT category code (S / Z / E / O)
BT-152 VAT rate (5 / 0)
BT-153 Item description
All 9 Setup Steps
Step 1 — Version Check (Day 1)
QB Desktop 2017 ✅ Supported — local SDK API
QB Desktop 2018 ✅ Supported — local SDK API
QB Desktop 2019 ✅ Supported — local SDK API
QB Desktop 2020 ✅ Supported — local SDK API
QB Desktop 2021 ✅ Supported — local SDK API
QB Desktop 2022 ✅ Supported — local SDK API
QB Desktop 2023 ✅ Supported — local SDK API
QB Desktop 2024 ✅ Supported — local SDK API
QB Online ✅ Supported — Intuit REST API
QB Enterprise ✅ Supported — confirm with Perfonec
QB Desktop 2016- ❌ Not supported — upgrade required
Perfonec runs this check on Day 1 at no cost.
Step 2 — PINT AE Data Audit (Week 1–3)
This is the longest step and the most important. Between 20 and 40 percent of UAE QuickBooks customer records are typically missing BT-46 (buyer TRN). Furthermore, generic item descriptions, unstructured addresses, and non-standard unit codes all cause schema validation failure.
Here is the full audit table — what to check in QuickBooks, the common problem, and the fix:
BT-46 — Buyer TRN
Where: Customer record → Tax Registration No field
Problem: Missing from 20–40% of UAE customer records
Fix: Collect UAE TRN from all VAT-registered customers
Risk: HIGH — invoice rejects immediately without buyer TRN
BT-153 — Item Description
Where: Products and Services → Name field
Problem: Services, Goods, Item, Consulting — too generic
Fix: Rename to specific: "IT Support Monthly",
"Steel Pipe 48mm x 6m", "Warehouse Storage per Pallet"
Risk: HIGH — FTA business rules reject generic descriptions
BT-130 — Unit Code
Where: Products → Unit of Measure field
Problem: Each, Box, Lot, Piece — not valid UN/CEFACT codes
Fix: Map to UN/CEFACT standard codes:
EA = each/unit
KGM = kilogram
MTR = metre
LTR = litre
HUR = hour
DAY = day
MTQ = cubic metre
Risk: HIGH — schema validation fails on invalid unit codes
BT-35 — Seller Street Address
Where: Company settings → address fields
Problem: Full address stored as one unstructured text block
Fix: Split into street name, city, country code (AE)
Risk: MEDIUM — address structure required by PINT AE schema
BT-50 — Buyer Street Address
Where: Customer record → billing address
Problem: Full address in one text block per customer
Fix: Split into street, city, country code
across every customer record
Risk: MEDIUM — same schema requirement as seller address
BT-151 — VAT Category Code
Where: Tax code on each product or service
Problem: Standard 5% applied to zero-rated or exempt supplies
Fix: S = Standard rate 5%
Z = Zero-rated (international freight, exports)
E = Exempt
O = Out of scope (outside UAE VAT)
Risk: HIGH — wrong category causes FTA rejection
Free Zone Beneficiary Field
Where: Customer record → custom free zone flag
Problem: Missing for JAFZA, DMCC, IFZA, DIFC, RAKEZ buyers
Fix: Tag all free zone customers — QBESync populates
the PINT AE free zone field automatically
Risk: HIGH — free zone invoices reject without this field
BT-5 — Currency / AED Equivalent
Where: Invoice currency setting
Problem: AED equivalent missing on USD and EUR invoices
Fix: No manual fix needed — QBESync calculates and
populates AED equivalent automatically per V1.1
Risk: LOW — QBESync handles this automatically
Step 3 — Data Quality Fixes (Week 2–4)
The client team works through the fix list Perfonec produces after the audit. Perfonec orders fixes by rejection risk — HIGH risk first, MEDIUM second, LOW last.
Typical fix timeline by business size:
Small business (<100 customers, <50 products): 3–5 days
Medium business (100–500 customers): 1–2 weeks
Large business (500+ customers, many products): 2–3 weeks
The bottleneck is almost always collecting missing buyer TRNs — not renaming items or fixing addresses. Getting TRNs from customers requires chasing accounts contacts. Consequently, start this step as early as possible.
Step 4 — ASP Registration (Week 2–3)
Perfonec registers the business with an Approved Service Provider. The ASP provisions:
- Company Peppol participant ID
- Peppol network endpoint (SMP registration)
- Digital certificate for invoice signing
- ASP connection credentials for QBESync configuration
Perfonec handles this step entirely. The client team does not interact with the ASP directly. Registration takes 3 to 5 business days after submission.
Step 5 — QBESync Installation and Configuration (Week 3–4)
QB Desktop installation:
bash
QBESync installs as a Windows service
Connects to QuickBooks via local SDK API
Requires QuickBooks to be open on the same machine
or accessible on the same local network
QBESync_config.json settings covered:
- ASP endpoint URL and credentials
- Company TRN
- VAT code mappings (S / Z / E / O)
- Free zone customer tags
- Multi-currency AED equivalent rules
- Invoice type settings (all 7 types)
- Incoming Peppol invoice endpoint
QB Online connection:
OAuth 2.0 flow:
- Perfonec initiates QBESync → QB Online OAuth
- Client authorises in QB Online
- QBESync stores refresh token
- REST API polling interval configured
- ASP webhook endpoint configured
Configuration takes 1 to 2 days once all data fixes are complete.
Step 6 — Pilot Phase Testing (Week 4–6)
The pilot phase opened 1 July 2026. Zero fines apply to any failure during pilot. The same failure after go-live triggers AED 100 per invoice.
Test all 7 invoice types:
Type 1 — Standard B2B invoice
How: Raise sales invoice to UAE VAT-registered test customer
Check: PINT AE XML generated ✓
All 17 fields populated ✓
Schema validation passed ✓
Peppol status: Delivered ✓
Type 2 — Credit note (type 381)
How: Issue credit memo in QuickBooks against test invoice
Check: BT-3 = 381 ✓
BT-25 = original invoice number ✓
Peppol status: Delivered ✓
Type 3 — Advance payment invoice
How: Raise deposit invoice before full order invoice
Check: Advance payment flag per V1.1 ✓
Correct amounts and VAT treatment ✓
Type 4 — Zero-rated export invoice
How: Raise invoice to overseas buyer (country code ≠ AE)
Check: BT-151 = Z ✓
BT-152 = 0 ✓
BT-53 ≠ AE ✓
VAT amount = 0 ✓
Type 5 — Free zone invoice
How: Raise invoice to JAFZA or DMCC test customer
Check: Free zone beneficiary field populated ✓
Peppol status: Delivered ✓
Type 6 — Multi-currency invoice (USD / EUR)
How: Raise USD or EUR invoice to international customer
Check: BT-5 = USD or EUR ✓
AED equivalent amounts populated ✓
Exchange rate applied per V1.1 ✓
Type 7 — Incoming supplier Peppol invoice
How: Ask test supplier to send Peppol invoice to your endpoint
Check: QBESync receives XML ✓
Validates against PINT AE schema ✓
Creates bill in QuickBooks ✓
Step 7 — Fix Pilot Issues (Week 5–7)
Every rejection during pilot produces a specific error code. The most common rejection codes and fixes:
BT-46 missing or invalid
→ Check customer TRN — re-collect if wrong
BT-153 fails business rules
→ Item description still too generic — rename
BT-130 invalid unit code
→ UN/CEFACT mapping missed — re-map
BT-151 / BT-152 mismatch
→ VAT category and rate do not match — fix tax code
Free zone beneficiary missing
→ Customer not tagged as free zone — tag and retest
AED equivalent calculation error
→ Exchange rate source misconfigured — fix in QBESync config
Most pilot issues resolve within 1 to 3 days of receiving the rejection report.
Step 8 — Team Training (Week 6–7)
Perfonec trains the accounts team on:
Normal invoice flow after go-live
(no change — confirm invoice as usual)Checking Peppol delivery status in QuickBooks
(new status field on every B2B invoice)Handling a rejection
(how to read the rejection reason and fix)Raising credit note type 381
(different from standard credit memo — walk-through)Incoming supplier Peppol invoice workflow
(how to find, review, and post to QuickBooks)
Training takes half a day. Perfonec provides a written reference guide for the accounts team afterwards.
Step 9 — Go-Live (Week 7–8)
After all 7 types pass pilot and training is complete — go live.
Go-live checklist:
✅ All 7 invoice types passed pilot
✅ Team training complete
✅ ASP production credentials active
✅ QBESync switched from sandbox to production
✅ First live B2B invoice confirmed and transmitted
✅ Delivery confirmation received from buyer
✅ Incoming supplier Peppol endpoint tested live
Perfonec monitors the first two weeks of production — watching delivery status, resolving any production issues, and confirming the first live invoice of each type transmits correctly.
UAE E-Invoicing Deadlines
Revenue > AED 50M:
ASP deadline: 30 Oct 2026
Go-live: 1 Jan 2027
Fines begin: 2 Jan 2027
All other VAT SMEs:
ASP deadline: 31 Mar 2027
Go-live: 1 Jul 2027
Fines begin: 2 Jul 2027
Pilot phase (all businesses):
Open from: 1 Jul 2026
Fines: ZERO during pilot
Fines after deadline:
Non-implementation: AED 5,000/month (no cap)
Per non-compliant invoice: AED 100 (capped AED 5,000/month)
Maximum combined: AED 10,000/month
Common Questions
Why does the data audit take longer than the technical setup?
The technical setup is predictable — 1 to 2 days regardless of business size. The data audit depends on years of QuickBooks usage and data entry habits. Furthermore, collecting missing buyer TRNs requires chasing customer contacts — which is outside Perfonec’s control. Consequently, starting early is the most impactful thing a UAE QuickBooks business can do right now.
QB Desktop or QB Online for QBESync?
QB Desktop is consequently recommended for higher invoice volumes and larger customer databases — the local SDK API is more stable and bulk data editing during the audit is significantly faster. QB Online works well for lower-volume businesses and remote teams.
What if a customer refuses to provide their TRN?
If a UAE VAT-registered buyer refuses to provide their TRN — the invoice cannot go through Peppol. The responsibility to provide a TRN is on the buyer. Furthermore, without their TRN, the invoice will reject at the ASP validation stage regardless of all other fields being correct. Consequently, collecting TRNs from all UAE VAT-registered customers before go-live is a commercial priority — not just a technical one.
Resources
Full guide with downloadable PDF:
https://perfonec.com/qbesync-setup-guide-uae-einvoicing-quickbooks/
What Is QBESync:
https://perfonec.com/what-is-qbesync-uae-peppol-quickbooks/
UAE E-Invoicing Complete Guide:
https://perfonec.com/uae-einvoicing-2027-complete-business-guide/
Free readiness check:
📞 +971 4 386 6199
📧 sales@perfonec.com
💬 WhatsApp: +971 56 408 5594
🌐 www.qbeinvoice.com
QuickBooks is a product of Intuit Inc. Based on UAE Ministry of Finance Electronic Invoicing Guidelines Version 1.1 (June 2026), Ministerial Decisions No. 243 and 244 of 2025, and Cabinet Decision No. 106 of 2025. For general information only — not legal or tax advice.
Top comments (0)