DEV Community

Cover image for QBESync Setup Guide — UAE E-Invoicing for QuickBooks Desktop and Online
Perfonec Computers
Perfonec Computers

Posted on

QBESync Setup Guide — UAE E-Invoicing for QuickBooks Desktop and Online

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:

  1. Perfonec initiates QBESync → QB Online OAuth
  2. Client authorises in QB Online
  3. QBESync stores refresh token
  4. REST API polling interval configured
  5. 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:

  1. Normal invoice flow after go-live
    (no change — confirm invoice as usual)

  2. Checking Peppol delivery status in QuickBooks
    (new status field on every B2B invoice)

  3. Handling a rejection
    (how to read the rejection reason and fix)

  4. Raising credit note type 381
    (different from standard credit memo — walk-through)

  5. 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)