WhatsApp Us

Singapore · Xero API integration · Quoted in USD

Xero API integration in Singapore: stop retyping orders, invoices and payments

A Xero API integration in Singapore connects your online store, CRM or in-house app to Xero so sales invoices, contacts and payments arrive already coded, with the right GST tax type and currency. BtechWaleTech is three freelance developers in India who build these syncs for Singapore businesses, starting from US$600. We check first whether a ready-made Xero app already covers you, and only write custom code where it clearly pays for itself.

  • Custom Xero syncFrom US$600, 2–4 weeks
  • Integration inside a portal or appFrom US$900, 6–12 weeks
  • Store plus Xero linkFrom US$750, 4–8 weeks
  • Support after launchFrom US$120/mo after 2 free months
  • Auth method in SingaporeOAuth 2.0 code flow or PKCE
  • Who owns the Xero appYou: client ID, secret and code
  • Custom syncs from US$600
  • OAuth 2.0 with granular scopes
  • 9% GST tax types mapped
  • Shopify, WooCommerce, CRM
  • Tested on the Xero Demo Company
  • Your Xero app, your keys
  • WhatsApp replies 7 days a week

Three freelance developers in India · Xero syncs for Singapore firms · most of the SGT working day covered

  • 3Freelance developers who build and support your sync
  • 2Working days to an itemised quote
  • 2Months of free maintenance after go-live
  • 0Invoices our code posts before you approve the test run

The short answer

How do you set up a Xero API integration in Singapore?

A Xero API integration in Singapore uses OAuth 2.0 to connect your store, CRM or app to your Xero organisation, then pushes invoices, contacts and payments through the Accounting API with the correct GST tax types. Try Xero App Store connectors first; build custom when they miss your rules. Our custom syncs start from US$600, typically 2–4 weeks.

Taking PayNow on your site too? Read our PayNow payment gateway integration guide. Preparing for e-invoicing? See InvoiceNow integration for Singapore businesses.

Last updated

Xero API integration in Singapore at a glance
Typical sourcesShopify, WooCommerce, CRM, booking system, custom app
Records syncedContacts, invoices, credit notes, payments, items
GST handlingCurrent 9% tax types, zero-rated and exempt codes
Per-organisation API limits60 calls a minute, 5 in flight at once
Starting priceFrom US$600 for a standalone sync
Timeline2–4 weeks, including Demo Company testing
BillingUSD quote; Wise or bank wire

Why choose us

Three routes to getting data into Xero

Most Singapore SMEs end up with one of these. The right one depends on how unusual your sales flow is, not on company size.

Three routes to getting data into Xero
Aspect Xero App Store connector Local systems integrator BtechWaleTech
Best for Standard store or CRM flows Large, multi-system projects Custom rules on top of a standard stack
Setup effort Hours, done by you or your bookkeeper Weeks, with workshops 2–4 weeks for a standalone sync
Cost pattern Monthly subscription per connector Project fee plus retainer, quotes vary widely From US$600, then from US$120/mo after 2 free months
GST tax type control Whatever the connector's settings allow Configured to spec Mapped per product, customer and country
Handles odd edge cases Rarely; you adapt to the app Yes Yes, written for your data
Who owns the code Vendor Varies by contract You own the code and the Xero app
Meetings Support tickets On-site possible Video calls and WhatsApp, no site visits
Changes later Wait for the vendor roadmap Change request process Ask us; priced in writing before work starts
Risk to watch Silent sync gaps you only find at month end Long lead times Remote team in another time zone

If an App Store connector already handles your tax codes and payout reconciliation, keep it: a custom sync is only worth building for the rules it cannot follow.

Pricing

What a Xero API integration costs from us

A standalone sync between one system and Xero, such as a store, a CRM or a booking tool, starts from US$600 and usually takes two to four weeks, including testing on the Xero Demo Company. If the Xero link sits inside a larger portal or internal app we build, it is quoted as part of that custom software, from US$900. A new online store with the Xero link included starts from US$750. After two months of free maintenance, keeping tokens, mappings and monitoring healthy is available from US$120/mo. Your quote lists each synced object and direction separately, so you can drop anything before approving.

Starting prices in INR and USD
ServiceIndia (INR)Worldwide (USD)Typical timelineWhat is included
Static website from ₹10,000 from US$150 1 to 2 weeks Up to 100 pages, Responsive design, Contact form and enquiry setup, Basic SEO tags and sitemap
SEO website (299+ pages) from ₹20,000 from US$300 3 to 5 weeks 299+ SEO pages, Keyword and page planning, Schema, sitemap, and internal linking, Design to deployment included
Ecommerce store from ₹50,000 from US$750 4 to 8 weeks Product and category pages, Payment gateway setup, Order and inventory basics, Performance tuning
Android & iOS app from ₹40,000 from US$600 6 to 10 weeks Android and iOS app (Flutter or React Native), Login, forms and push notifications, Admin panel and API connection, Google Play and App Store publishing
Custom web app or software from ₹60,000 from US$900 6 to 12 weeks Custom features and APIs, User accounts and roles, Admin panel, Deployment and handover
AI automation from ₹40,000 from US$600 2 to 4 weeks Workflow mapping, Tool and CRM integrations, AI agent or automation build, Testing and handover
Monthly SEO from ₹10,000/mo from US$150/mo Ongoing, monthly Technical fixes, On-page and content work, Local SEO and listings, Search Console reporting
Maintenance and support from ₹8,000/mo from US$120/mo Ongoing, monthly Content updates, Bug fixes, Backups and security checks, Speed and uptime checks

All prices are starting points, quoted in INR for India and USD for international clients, not fixed quotes. Final cost depends on the number of pages, features, integrations, content, and timelines. Share your requirement and you get an itemised estimate with nothing hidden. See full pricing.

What is a Xero API integration, and when does a Singapore business need one?

A Xero API integration is code that reads from and writes to your Xero organisation automatically, so records created elsewhere appear in your books without anyone keying them in. You need one when the same sale is being typed twice: once in the store, CRM or job system, and again by whoever does the accounts.

In Singapore the trigger is usually volume or complexity rather than size. A florist in Tiong Bahru with 400 web orders a month, a B2B distributor issuing invoices in three currencies, and a tuition centre billing parents termly can each lose several staff hours a week to copy-and-paste. Errors creep in too: a wrong GST code, a duplicated customer, a payment matched to the wrong invoice. Your accountant then spends billable time fixing them at quarter end, just before the GST return.

The Xero Accounting API exposes the objects you already see in the Xero web app: contacts, invoices, credit notes, payments, bank transactions, items, tracking categories and tax rates. A good Xero API integration in Singapore decides which system is the source of truth for each object, which direction data flows, and what happens when the two disagree. That design matters more than the code itself.

  • Sales are recorded in one tool and re-entered in Xero by hand
  • Month-end reconciliation takes days because gateway payouts are lumped
  • Customers exist twice, with slightly different names, across systems
  • GST codes are chosen by memory rather than by rule
  • Staff ask finance whether a client has paid because the CRM cannot see Xero

If none of those describe you, a Xero integration is probably premature. Keep entering data manually until the pain is measurable, then read on.

When is an existing Xero app enough instead of a custom Xero API integration?

An existing connector from the Xero App Store is enough when your sales flow is standard: one store, one currency, ordinary GST on everything, and a payment provider whose payouts the connector already understands. In that case, subscribe, configure and spend your budget elsewhere.

We say this first on every enquiry because it is the cheapest answer and often the correct one. Ready-made connectors are maintained by their vendors, keep pace with Xero changes and cost a predictable monthly fee. The trade-off is control. You accept the connector's idea of how an order becomes an invoice, how refunds become credit notes and how fees are recorded.

Custom work earns its place when a connector forces your bookkeeper into workarounds. Common Singapore examples: some products are zero-rated exports while others carry standard-rated GST; one customer group is billed on 30-day terms while retail buyers pay upfront; orders arrive in SGD, USD and MYR; or the business needs one invoice per delivery rather than per order. Another signal is a connector that posts daily summaries when your auditor wants order-level detail, or the reverse.

Choose a connector when

Your data maps one-to-one, the connector handles your payment provider, and your accountant is comfortable with its posting method after a trial month.

Choose a custom Xero API integration when

You have rules a connector cannot express, a home-grown system no connector supports, or volumes that need batching and careful rate-limit handling.

Choose a hybrid when

A connector handles the store while a small custom script covers the one gap, such as mapping a particular payout or tagging tracking categories.

How does Xero API authentication work for a Singapore organisation?

Xero uses OAuth 2.0: a person with access to your Xero organisation approves the app once, and the integration receives an access token plus a refresh token that keeps the connection alive. For Singapore organisations this means the standard authorisation code flow, or PKCE for apps that cannot store a secret.

There is a Singapore-specific wrinkle. Xero's Custom Connections, a paid machine-to-machine option using the client credentials grant for a single organisation, are listed in Xero's developer documentation as available only for organisations in Australia, New Zealand, the UK and the US. A Singapore Xero API integration therefore relies on the user-approved flow, so token storage and refresh must be handled carefully.

The token lifetimes shape the design. Xero's official SDK documentation describes access tokens that expire after 30 minutes and refresh tokens valid for up to 60 days, and Xero's webhook guide notes you need the offline_access scope to keep a connection beyond 30 minutes. Our code refreshes tokens before expiry, stores them encrypted and alerts you if a refresh fails, which is usually because someone disconnected the app inside Xero.

Scopes are changing too. Xero's scopes documentation says broad scopes such as accounting.transactions are being replaced by granular ones such as accounting.invoices and accounting.payments, assigned to web and PKCE apps since March 2026, with broad scopes available until September 2027. We request only the granular scopes your sync needs, which also makes the consent screen less alarming for your finance team.

What are the Xero API rate limits, and how does a sync stay inside them?

Xero limits each connected organisation to five calls in progress at once and 60 calls a minute, with a daily cap of 1,000 calls for apps in the starter tier and 5,000 for higher tiers, according to Xero's published API limits. There is also an app-wide limit of 10,000 calls a minute across all tenants.

Those numbers sound generous until a busy sale day arrives. A store posting each order, its payment and its contact as three separate calls could burn through the minute limit during a 9.9 or 11.11 campaign. When a limit is hit, Xero returns HTTP 429 with a header naming the limit and, for minute and daily limits, a Retry-After value in seconds.

A well-built Xero API integration for a Singapore store is designed around those rules from day one rather than patched later:

  • Batch writes: Xero accepts several invoices in one request, and its guidance suggests around 50 per call
  • Queue every outbound change, so a burst of orders drains steadily instead of failing
  • Read the remaining-calls headers on each response and slow down before hitting zero
  • Honour Retry-After exactly, pausing only the affected organisation
  • Use webhooks or modified-since filters instead of re-downloading unchanged records
  • Cache reference data such as tax rates, accounts and tracking categories

New apps also start with a limited number of connected organisations, and Xero caps each organisation at two uncertified apps. For a single business connecting its own Xero account that is rarely an issue, but it is worth knowing if your bookkeeper already has other apps connected.

Syncing Shopify or WooCommerce orders into Xero: per order or daily summary?

Post one invoice per order when customers need tax invoices, when you sell on credit, or when your accountant wants to trace every sale. Post a daily summary when you sell many small retail orders paid upfront and nobody needs order-level detail in the ledger.

Both approaches are legitimate and both appear in Singapore businesses. Order-level invoices make Xero the full record but consume more API calls and create a large contact list, often with a generic "Web customer" contact for guest checkouts. Daily summaries keep Xero tidy, group GST by tax type, and leave the detail in Shopify or WooCommerce, which your auditor can still inspect.

Whatever you choose, the mapping needs decisions that connectors often gloss over. Shipping is usually a separate line with its own revenue account. Discount codes can reduce line prices or appear as a negative line. Gift cards are a liability when sold and revenue when redeemed, so they must never be booked as a sale at purchase. Refunds become credit notes linked to the original invoice, and partial refunds need the same care.

We build this on your Shopify store or WooCommerce site through their order webhooks, with a nightly check that compares order totals against what reached Xero. Any gap lands in a short report rather than surfacing at quarter end. If you are still choosing a platform, our ecommerce website design service for Singapore covers that decision.

How do PayNow receipts and card payouts reconcile in Xero?

Reconcile payouts through a clearing account: each customer payment is recorded against its invoice into a clearing account in Xero, and when the provider's payout lands in your bank, the transfer from clearing to bank matches the bank feed line exactly, with fees booked separately.

This matters because gateways rarely pay out order by order. A card provider may settle a batch of 60 orders minus fees and refunds as one deposit. Without a clearing account, your bookkeeper sees one unexplained figure in the bank feed and has to rebuild it from the provider's report. With one, the integration has already done that work.

PayNow behaves differently. The Association of Banks in Singapore describes PayNow Corporate as letting a business receive Singapore Dollar funds instantly by linking its UEN to its bank account, which means a direct PayNow QR payment lands in your bank almost at once, without gateway batching. The challenge is identification: the bank feed shows an amount and a reference, and the integration must match that reference to an open invoice. A payment gateway that offers PayNow usually batches those receipts like cards instead.

We usually recommend unique references on each invoice or order, printed on the PayNow QR or checkout page, so the match is automatic. For the gateway side of this, including dynamic QR codes and webhooks, see our guide to integrating a PayNow payment gateway.

How should GST tax rates be mapped in a Xero API integration for Singapore?

Map every sale to an explicit Xero tax type by rule, never by default. For standard-rated supplies made today that is the 9% type, which Xero's API reference lists as OUTPUTY24; zero-rated exports use ZERORATEDOUTPUT; exempt supplies and out-of-scope supplies have their own types.

The IRAS page on current GST rates confirms that Singapore's rate is 9% and that GST-registered businesses charge it on local supplies unless they qualify as zero-rated or exempt. The trap for developers is history. Xero's list for Singapore still includes the older types: OUTPUT at 7% and OUTPUTY23 at 8%. Integrations written before 2024, or copied from old tutorials, sometimes still send OUTPUT, so invoices go out at the wrong rate until someone notices on the GST return.

Our approach is to read the tax rates from your organisation through the API at start-up, confirm the mapping with you or your accountant in a simple table, and refuse to post any line whose product has no mapping. If your business is not GST-registered, every line uses the no-tax type and the integration keeps it that way.

Decisions about which of your supplies are zero-rated, exempt or out of scope belong to your accountant or tax adviser. We implement the rules they set and make them visible, so anyone can audit why a line carried a particular code. We do not give tax advice.

Does a Xero API integration handle multi-currency invoices?

Yes, provided your Xero plan supports it. On Xero's Singapore pricing page, handling multiple currencies is listed as a Premium plan feature, so a business on Starter or Standard cannot post USD or MYR invoices until it upgrades.

Once multi-currency is on, the integration sends the currency code on each invoice and lets Xero apply its exchange rate, or supplies a rate if your policy is to use the rate from the payment provider. The choice affects realised gains and losses. If the store charged a US buyer in USD and the gateway converted to SGD at settlement, the difference between the invoice rate and the settlement rate becomes a foreign exchange gain or loss in Xero, which is correct accounting but surprises people the first time.

For Singapore exporters and regional distributors, a few details need attention before go-live:

  • Which currencies each customer may be billed in, stored on the contact
  • Whether prices are set per currency or converted from SGD at order time
  • Which bank or clearing account receives each currency
  • How refunds in a foreign currency are rated, since the rate will have moved
  • Whether GST applies, since exported goods are often zero-rated

We test each currency path on the Xero Demo Company before touching your live organisation, and we show your accountant the resulting journals.

Connecting a CRM or custom app to Xero: what should sync, and which way?

Sync contacts and invoices from the CRM into Xero, and send payment status back. Keep Xero as the source of truth for money and the CRM as the source of truth for relationships, and most conflicts disappear.

A typical Singapore services business, such as an interior design studio, an IT support provider or a corporate training firm, closes deals in a CRM and then asks finance to raise the invoice. The integration can create a draft invoice when a deal is marked won, copying line items, the customer's billing entity and its UEN into the contact record. Finance approves the draft in Xero, keeping human control over what goes out. When the invoice is paid, the CRM shows it, so account managers can see who is overdue without logging into Xero.

Custom apps work the same way. A booking platform, a membership system or an internal job tracker can raise Xero invoices through the API. The design questions are identical: which system creates the contact, how duplicates are detected (we match on UEN or email before name), and what happens when finance edits an invoice in Xero after the app created it. Usually the app should read the change, not overwrite it.

If your CRM itself is a spreadsheet held together with goodwill, consider a small custom CRM built for your Singapore team with the Xero link included from the start.

Xero webhooks or polling: how does the integration know something changed?

Use Xero webhooks for changes to contacts, invoices, credit notes, overpayments and prepayments, and use scheduled polling with a modified-since filter for everything webhooks do not cover, such as payments recorded against bank transactions.

Xero's webhook documentation lists create and update events for those categories. Each delivery goes to an HTTPS address you register, carries a signature header, x-xero-signature, that your endpoint must verify with the webhook key, and starts only after an "intent to receive" validation. A webhook payload tells you what changed, not the full record, so the integration then fetches the invoice or contact it needs.

Why not rely on webhooks alone? Deliveries can be delayed, your server can be down for maintenance, and some changes simply are not covered. We pair webhooks with a reconciliation job that runs every few hours, compares recent records and fixes anything missed. That job also catches the human changes: an invoice voided in Xero, a contact merged by your bookkeeper, a payment deleted and re-entered.

What webhooks are good for

Showing a CRM user that an invoice was paid within minutes, or updating a customer portal when finance edits an invoice.

What polling is good for

Catching gaps, handling event types webhooks do not send, and rebuilding state after an outage without manual work.

What goes wrong in Xero integrations, and how do you prevent duplicate invoices?

Duplicates are the most common failure, and the fix is idempotency: every write carries a key that tells Xero it is a repeat. Xero's documentation on idempotent requests describes an Idempotency-Key header for POST, PUT and PATCH calls, with keys held for six minutes so a retried request returns the original response rather than creating a second invoice.

Six minutes covers network blips, not a job that crashes and restarts an hour later. So we also store the Xero ID of every record we create alongside the source order or deal, and check it before any write. An order is either linked to one invoice or it is not; there is no in-between.

Other failures we plan for on every Xero API integration in Singapore:

  • Lock dates: your accountant locks a period, and a late order dated inside it is rejected
  • Archived accounts or tax rates that a product mapping still points to
  • Contacts renamed in Xero so a name-based match stops working
  • Invoice approval limits on some Xero plans, which Xero returns as an error
  • Disconnected apps after a staff member with Xero access leaves
  • Validation errors from blank fields, such as a line with no account code

Each failure goes into a queue with a readable message, and you get a WhatsApp or email alert with a daily digest. Nothing is silently dropped, and nothing is retried forever.

How much does a Xero API integration in Singapore cost?

From us, a standalone Xero sync starts from US$600 and a Xero link inside a larger custom portal or app is quoted within that project, from US$900. The final figure depends on how many objects sync, in which directions, and how unusual your rules are.

Quotes from other suppliers vary widely, and it helps to understand why. A one-way push of paid orders as invoices is a small job. A two-way sync with contacts, credit notes, multi-currency payments, tracking categories and a reconciliation report is several times larger. Integrations that must work with an older on-premise system, or with a system whose own API is poorly documented, carry more uncertainty, and honest suppliers price that risk openly.

The recurring side counts as much as the build. Ask every supplier who monitors the sync, who renews tokens when someone disconnects the app, and who updates the code when Xero changes scopes or retires an endpoint, as it is doing with broad scopes until September 2027. Our two free months of maintenance cover that period after go-live; ongoing care starts from US$120/mo.

  • Number of source systems and Xero objects involved
  • One-way push versus two-way sync with conflict rules
  • GST, multi-currency and tracking-category complexity
  • Historical data import, if you want past orders in Xero
  • Monitoring, alerts and a reconciliation dashboard

See how these figures sit alongside our other work on the BtechWaleTech pricing page.

How long does a Xero integration take, from Demo Company to live?

A standalone Xero API integration usually takes two to four weeks from approved quote to go-live. Most of that time goes into mapping and testing rather than coding.

Xero provides a Demo Company, a sample organisation you can connect to free for development. We build and test against it first, including GST, refunds, multi-currency and failure cases, before your live organisation is involved. When the logic is proven, we connect to your real Xero with read-only checks, then switch writing on for a small test batch that your bookkeeper reviews line by line.

Days 1–3: mapping

We agree the source of truth for each object, the tax-type table, the account codes and what counts as a duplicate.

Week 1–2: build on the Demo Company

Code the sync, the queue, the retry logic and the reconciliation job, and share a staging dashboard with you.

Week 2–3: live read-only check

Connect your organisation, read tax rates, accounts and contacts, and flag mismatches before anything is written.

Week 3–4: supervised go-live

Write a small batch, review it with your bookkeeper, then open the sync fully with alerts on.

Historical imports add time, especially if old orders have inconsistent tax treatment. We usually suggest starting from the next GST quarter and leaving old periods as they are.

Security, PDPA and who holds the keys to your Xero data

You hold the keys. The Xero app is registered under your developer account, the client secret is yours, and tokens live on a server or cloud account you own, encrypted at rest.

Accounting data includes customer names, emails, addresses and what they bought, all personal data under Singapore's Personal Data Protection Act. The build supports your obligations in practical ways: requesting the narrowest Xero scopes, storing only the fields the sync needs, logging who changed mappings, and restricting dashboard access to named staff. Compliance with the PDPA remains your responsibility, confirmed by your own adviser; our PDPA-focused website page explains how we approach consent and data minimisation on the front end.

During the build we work in the Demo Company and, once live, need only the access the job requires. When the project ends you can rotate the client secret and remove our access to your cloud account in minutes, and the sync keeps running because nothing depends on our accounts.

One more practical point: the person who authorises the app in Xero should be a long-term staff member or the business owner. If a departing employee's Xero login is removed and that person approved the connection, the integration may lose access. We document who approved it and how to reconnect.

Xero, InvoiceNow and GST e-invoicing in Singapore: what changes in 2026?

InvoiceNow is Singapore's Peppol-based e-invoicing network, and IRAS is phasing in a requirement for GST-registered businesses to send invoice data through it. Clean, consistently coded invoices in Xero make that step far easier, whatever tool transmits them.

According to the IRAS page on the GST InvoiceNow requirement, companies registering for GST voluntarily within six months of incorporation were covered from 1 November 2025, all new voluntary registrants from 1 April 2026, and businesses already registered before 2026 have been notified of their own implementation dates from mid-2026.

What does that mean for a Xero API integration? Invoices created by your store or CRM must carry complete, valid data: the customer's details, correct tax types and consistent line descriptions. An integration that posts lazy summaries or dumps everything under one generic customer may cause friction when those invoices have to travel as structured e-invoices.

Whether your Xero subscription or an add-on handles the actual transmission is a question for Xero and your accountant, and the answer depends on your setup. We make sure the data your systems send into Xero is complete, and our InvoiceNow integration page covers the network side, including connecting non-Xero systems through an access point.

Working with a freelance team in India on your Xero integration from Singapore

Singapore is two and a half hours ahead of India, so our working day covers most of yours: when you start at 9 am SGT we are finishing breakfast, and your afternoon is our morning and midday. Calls sit comfortably between 11 am and 7 pm Singapore time.

We work in English over video calls and WhatsApp, with written summaries after each call so your finance lead can catch up without attending. Quotes are in USD and payments go by Wise or bank wire, with invoices issued from India. Nothing is billed before you approve the written quote, and staged payments match the milestones in it; any contract terms beyond that are agreed in writing, see our terms.

The first two weeks follow a pattern. In the first few days you create a Xero developer account (we walk you through it on a call), invite us to a shared repository you own, and give read access to your store or CRM. We send back the mapping table: source fields, Xero fields, tax types and account codes. Once you and your bookkeeper sign it off, we build on the Demo Company and share a dashboard where you can watch test invoices appear.

What we do not do: on-site visits, bookkeeping, GST filing or tax advice. We are three developers who make systems talk to each other. Your accountant stays in charge of how things are recorded; we make sure the records arrive correctly. More about who we are is on the about page.

Worked example: a hypothetical Tai Seng distributor connecting a B2B store to Xero

Say a small food-ingredients distributor in Tai Seng sells to cafés on 30-day terms through a B2B ordering portal and to Malaysian customers in MYR. Staff currently rekey 25 portal orders a day into Xero, and the bookkeeper spends the first week of each month matching bank lines.

A sensible Xero API integration for them would look like this. Each approved portal order becomes an authorised Xero invoice under the café's existing contact, matched by UEN. Local sales carry the 9% standard-rated type; Malaysian export orders use the zero-rated type, as confirmed by their accountant, and bill in MYR, which requires Xero's Premium plan. Credit notes are raised automatically when the warehouse records a short delivery.

Payments arrive two ways. Cafés pay by PayNow to the company UEN with the invoice number as reference; the integration reads the bank feed and applies payments whose reference and amount match exactly, leaving mismatches for a human. A few customers pay by card through the portal; those receipts land in a clearing account and reconcile against the provider's weekly payout.

Scope-wise, this is a two-way sync with multi-currency and a reconciliation report. If the portal already exists, it fits the standalone sync range starting from US$600; if the portal is being built too, the whole job would be quoted as custom software from US$900. This scenario is illustrative, not a past client, and the actual quote would depend on their data.

Checklist: what to prepare before commissioning a Xero API integration in Singapore

Prepare access, decisions and sample data. With those three ready, a Xero integration moves quickly; without them, the first week is spent chasing answers.

  • Your Xero plan name, and whether multi-currency is switched on
  • A list of revenue accounts and tracking categories you want used
  • Your accountant's rules for GST: which products are standard-rated, zero-rated or exempt
  • Admin access to the source system: store, CRM or app
  • A month of real orders or deals for testing, exported to CSV
  • Your payment providers, payout schedules and how refunds are handled
  • The name of the person who will approve the Xero app connection
  • Where the integration should run: your own cloud account, or one we set up in your name
  • Who receives alerts when something fails, and by which channel

If you are not sure about some of these, send what you have. We will fill the gaps together on the first call, and the quote will say which assumptions we made. You can reach us any day through the contact page or WhatsApp.

Scope and starting price

Xero integration cost by scope

Starting prices in USD. Your quote names every synced object and direction, so you can drop items before approving.

Xero integration cost by scope
Integration scopeTypical exampleStarting priceTypical timeline
One-way push of paid orders Store orders posted as invoices or daily summariesFrom US$6002–3 weeks
Two-way CRM sync Won deals to draft invoices, paid status backFrom US$6003–4 weeks
Payout reconciliation layer Clearing account, fees and payout matchingFrom US$6002–4 weeks
Xero inside a custom portal B2B ordering or member billing with invoicesFrom US$9006–12 weeks
New store with Xero link Shopify or WooCommerce build plus syncFrom US$7504–8 weeks
Ongoing care Token checks, mapping updates, monitoringFrom US$120/moAfter 2 free months

Design around the limits

Xero API limits and how the sync responds

Limits as published in Xero's developer documentation; the right-hand column is how we build for each one.

Xero API limits and how the sync responds
Limit or rulePublished valueWhat the integration does
Concurrent calls per organisation 5 in progressWorker pool capped below five
Calls per minute per organisation 60Queue drains at a steady rate; reads remaining-calls headers
Calls per day per organisation 1,000 starter tier, 5,000 higher tiersBatches writes and caches reference data
App-wide minute limit 10,000 across all tenantsRarely relevant for one business
Rate limit exceeded HTTP 429 with Retry-AfterPauses that organisation for exactly that long
Access token lifetime 30 minutesRefreshes early and stores tokens encrypted
Idempotency key memory 6 minutesAlso stores Xero IDs to block later duplicates

GST mapping

Common Singapore GST tax types in Xero

Names from Xero's API reference for Singapore. Your accountant decides which supplies fall under each; we implement and document the rule.

Common Singapore GST tax types in Xero
Type of saleXero tax typeRateWatch out for
Standard-rated local supply OUTPUTY249%Old code OUTPUT is still 7%
Standard-rated, 2023 invoices OUTPUTY238%Only for supplies dated 2023
Zero-rated export or international service ZERORATEDOUTPUT0%Needs your accountant's confirmation
Exempt supply ES33OUTPUT or ESN33OUTPUT0%Two variants; choose with your adviser
Out-of-scope supply OSOUTPUT20%Not the same as zero-rated
Business not GST-registered NONE0%Every line, every time

Across Singapore

Where Singapore businesses ask us to connect Xero

We work remotely for businesses anywhere in Singapore. These districts represent the kinds of firms that most often want sales systems talking to Xero.

  • Raffles Place and the CBD

    Professional services firms bill retainers and project fees from practice tools and CRMs, and want those invoices in Xero with the client's UEN attached rather than retyped.

  • Marina Bay

    Regional headquarters and consultancies often invoice in several currencies, so their Xero sync must carry currency codes and handle exchange gains correctly.

  • Tanjong Pagar

    Small agencies and studios running project management tools want won jobs to become draft Xero invoices, keeping finance approval but removing the rekeying.

  • Tai Seng

    Distributors and light manufacturers in the industrial estate sell on credit terms and need portal orders, delivery notes and credit notes flowing into Xero.

  • Ubi and Kaki Bukit

    Trading businesses with warehouses here reconcile PayNow receipts from trade customers against open invoices, which is ideal work for a reference-matching integration.

  • Jurong East

    Retailers and service businesses in the western hub often run online stores beside physical outlets and need both sales channels coded consistently in Xero.

  • one-north

    Startups building their own apps want billing wired to Xero through the API early, so finance does not become the bottleneck as customer numbers grow.

  • Paya Lebar

    Growing SMEs in the office cluster often outgrow spreadsheets and connect CRMs and booking tools to Xero as they add finance staff.

  • Changi Business Park

    Logistics and technology firms dealing with overseas partners need multi-currency invoicing and careful GST treatment of international services.

  • Orchard

    Retail brands and beauty businesses with ecommerce stores want order-level or daily-summary posting to Xero, including gift cards and refunds done properly.

  • Woodlands

    Northern industrial and trade businesses selling across the Causeway often bill in MYR as well as SGD, which needs Xero multi-currency set up correctly.

  • Tampines

    Eastern regional centre businesses, from education providers to clinics, bill recurring fees and want payments matched automatically instead of ticked off by hand.

  • Kallang and Bendemeer

    Workshops and service contractors track jobs in field-service apps and need completed jobs to become Xero invoices the same day.

  • Novena

    Medical and allied health practices invoice patients and insurers from practice systems, and some want summarised daily postings into Xero for their accountant.

How it works

How a Xero integration project runs with us

  1. Tell us what gets retyped

    Send a WhatsApp or email describing which system holds the sale, what ends up in Xero, and who currently does the typing. Screenshots help more than long documents.

  2. Mapping call and itemised quote

    On a short video call we trace one real order end to end. Within about two working days you receive a USD quote listing each object, direction and check.

  3. Sign-off on the mapping table

    You and your bookkeeper approve the tax types, accounts, contact matching rule and duplicate rule in writing. Nothing is built on guesses.

  4. Build on the Xero Demo Company

    We code the sync, queue, retries and reconciliation job against Xero's free sample organisation and share a dashboard where you can watch test invoices appear.

  5. Supervised live batch

    We connect your organisation read-only first, then write a small batch that your bookkeeper checks line by line before the sync opens fully.

  6. Handover and two free months

    You receive the code, documentation and a reconnect guide. We watch alerts and fix issues free for two months, then ongoing care is optional.

Questions

Xero API integration in Singapore: frequently asked questions

How much does a Xero API integration cost in Singapore?

With BtechWaleTech, a standalone sync between one system and Xero starts from US$600 and takes about two to four weeks. A Xero link built into a larger portal or app is quoted within that project, from US$900. The final price depends on how many objects sync, whether it is one-way or two-way, and how complex your GST and currency rules are.

Can I connect Shopify to Xero without a developer?

Often, yes. Several connectors on the Xero App Store link Shopify to Xero, and for a simple single-currency store with ordinary GST they may be all you need. A developer becomes useful when the connector cannot follow your rules, for example mixed zero-rated and standard-rated products, order-level invoices for trade buyers, or payouts it cannot reconcile.

Does Xero have an API for Singapore businesses?

Yes. Singapore Xero organisations use the same Accounting API as other regions, with Singapore-specific tax types for GST. The main local difference is authentication: Xero's documentation lists Custom Connections, the machine-to-machine option, as available only in Australia, New Zealand, the UK and the US, so Singapore integrations use the standard OAuth 2.0 approval flow.

What are Xero's API rate limits?

Xero's published limits are five concurrent calls and 60 calls a minute per connected organisation, a daily cap of 1,000 calls for starter-tier apps and 5,000 for higher tiers, and 10,000 calls a minute across an app. Exceeding a limit returns HTTP 429 with a Retry-After header. A good integration batches writes and queues changes so it never needs to hit these.

How long does it take to build a Xero integration?

A standalone sync usually takes two to four weeks from approved quote. The first days go into agreeing the mapping table, then we build and test on the Xero Demo Company, run a read-only check on your live organisation, and finish with a small supervised batch before opening the sync fully. Importing historical orders adds time.

Which GST tax code should my integration use for 9% sales in Xero?

For standard-rated supplies at the current 9% rate, Xero's API reference for Singapore lists the tax type OUTPUTY24. The older OUTPUT type is still 7% and OUTPUTY23 is 8%, so integrations written before 2024 can post the wrong rate. Which of your sales are standard-rated, zero-rated or exempt is a decision for your accountant.

Can the integration handle USD or MYR invoices in Xero?

Yes, if your Xero plan includes multi-currency, which Xero's Singapore pricing page lists under the Premium plan. The integration sends the currency code on each invoice and either uses Xero's exchange rate or your payment provider's. Exchange differences on payment are then recorded as gains or losses, which your accountant should expect and review.

How are PayNow payments matched to Xero invoices?

The simplest reliable method is a unique reference per invoice shown on the PayNow QR or payment instructions. When the payment appears in your bank feed, the integration looks for an open invoice with that reference and the same amount, applies the payment, and leaves anything ambiguous for a person to check rather than guessing.

Should a freelance team or an agency build my Xero integration?

Either can do it well; what matters is whether they design for rate limits, duplicates, GST mapping and token refresh, and whether you own the result. A freelance team like ours costs less and talks to you directly. A larger integrator suits multi-system projects needing workshops, on-site sessions or many staff at once.

Why hire a remote team in India for a Xero API integration?

An integration is built entirely in the cloud, so being in the same city adds little. Singapore is only two and a half hours ahead of India, which gives our three developers most of your working day for calls. You get a lower starting price, direct access to the people writing the code, and ownership of everything they build.

Who owns the Xero app and the code after the project?

You do. The Xero app is registered under your developer account, the source code lives in a repository you own, and the integration runs on hosting in your name. After handover you can rotate the client secret and remove our access, and the sync keeps working because nothing depends on our personal accounts.

What happens if the Xero connection breaks?

The most common cause is someone disconnecting the app in Xero or the approving user losing access. The integration detects failed token refreshes and sends an alert to whoever you nominate, and changes wait safely in a queue. Reconnecting takes a few minutes by following the guide we hand over, and queued changes then post.

Will a Xero integration create duplicate invoices?

It should not, if it is built properly. We send Xero's Idempotency-Key header on every write, which protects against short network retries, and we store the Xero ID of every invoice we create next to the source order. Before any write the code checks that link, so the same order cannot become two invoices.

Do I need Xero webhooks, or is polling enough?

Most integrations benefit from both. Xero webhooks notify you of changes to contacts, invoices, credit notes, overpayments and prepayments within minutes, which suits CRM paid-status updates. Scheduled polling catches anything webhooks miss or do not cover, and a regular reconciliation job makes sure both systems agree even after an outage.

Is Xero integration affected by the GST InvoiceNow requirement?

Indirectly. IRAS is phasing in InvoiceNow for GST-registered businesses, and invoices your systems push into Xero will need complete, consistent data to travel as e-invoices. How transmission works for your Xero subscription is a question for Xero and your accountant; our job is making sure the invoice data arriving in Xero is clean.

How does the integration protect personal data under the PDPA?

It requests only the Xero scopes it needs, stores only the fields the sync uses, encrypts tokens, restricts dashboard access and keeps a log of mapping changes. That supports your obligations under Singapore's Personal Data Protection Act, but compliance remains your responsibility, and your own adviser should confirm your overall approach.

Can you import past orders into Xero as well?

Yes, but think carefully first. Historical orders often carry old GST rates, deleted products or inconsistent customer records, and importing them into closed periods can upset past returns. We usually recommend starting the sync from the next GST quarter and importing history only if your accountant specifically wants it, as a separately quoted task.

What do you need from me to start?

Admin access to the source system, your Xero plan details, your accountant's GST rules, a list of accounts and tracking categories, sample orders or deals, and the name of the person who will approve the Xero connection. If some of that is missing, send what you have and we will work through the gaps on the first call.

How do payments and contracts work from Singapore?

You receive an itemised quote in USD and pay by Wise or bank wire, with invoices issued from India. Nothing is billed before you approve the quote in writing, and payments follow the milestones listed in it. Any additional contract terms, such as confidentiality, are agreed in writing with your quote.

Do you maintain the integration after launch?

Yes. Every integration includes two months of free maintenance after go-live, covering bug fixes, token issues and small mapping changes. After that, ongoing care starts from US$120/mo, or you can take the documented code to any developer you prefer, since you own it outright.

Can you also build the store or CRM that feeds Xero?

Yes. We build online stores from US$750, custom portals and CRMs from US$900, and mobile apps from US$600. Building the source system and the Xero link together usually produces cleaner data, because customer records, products and tax categories are designed with Xero's structure in mind from day one.

Next step

Tired of typing orders into Xero?

Tell us which system holds your sales and how they reach Xero today. We will say honestly whether a ready-made connector will do, and if not, send an itemised USD quote in about two working days.