Services

How to Integrate Taiwan E-Invoicing: Provider APIs, Allowances, Reconciliation and Upload Deadlines

2026.09.26 · 14 views
How to Integrate Taiwan E-Invoicing: Provider APIs, Allowances, Reconciliation and Upload Deadlines
“

Five options compared, a five-week build plan, real provider fees and hidden costs, six traps with fixes, plus a 90-day roadmap and decision checklist. ”

Share:

A skincare brand shipping 3,000 online orders a month had its accountant spend six hours every week exporting orders to Excel and uploading them to a value-added e-invoice provider by hand. The last filing period told the story: 37 invoices never issued, 12 issued twice, and 9 partial returns handled by voiding the whole invoice and reissuing it. Taiwan e-invoice integration is not about automating a button click. It is about making sure orders, returns and invoices always reconcile, without a person in the loop. Every missed invoice is a compliance risk, and every duplicate is a customer asking support why they were billed twice.

When it fits, and when it does not

API integration makes senseHold off
You issue more than 300 invoices a monthUnder 50 a month: the provider's dashboard is enough
Partial returns require automatic allowances (credit notes)Your e-commerce platform already issues invoices and you are not leaving it
You handle mobile barcode carriers, donations and company tax IDsRetail only, and your POS already includes an invoice module
Website, app and LINE share one invoice number rangeThe business model is still unproven and volume is erratic
You need daily reconciliation with an ERPHundreds of thousands a month: evaluate a self-hosted Turnkey setup

Alternatives matrix

OptionUpfrontOngoingStrengthTrade-off
Ministry of Finance e-invoice platform, manual entryNT$0Staff hoursFree and officialEntirely manual
Provider dashboard or Excel batch uploadAbout NT$3,600Annual fee plus hours every weekLive the same dayAllowances rely on memory
Platform built-in invoicingNT$0Bundled in subscriptionNo developmentLocked in if you migrate
API integration with a providerFrom NT$60,000Annual fee plus NT$2,000–5,000/month upkeepIssuing through reconciliation automated4–5 weeks to build
Self-hosted TurnkeyNT$200,000+Servers and a dedicated operatorNo per-invoice provider feesEvery upload failure is yours

A rule of thumb that holds in most of our projects: once invoices are tied to returns, multiple channels or an ERP, dashboards and built-in platform features start to leak. The leak shows up as manual spreadsheets, not as an error message, which is why many teams notice it only when the filing period closes and the numbers refuse to match.

The five-week build

PhaseTimeDeliverablesTools
Tax scenario mapping3 daysInvoice scenario matrix, decision on when to issueNotion, Miro
Provider onboarding (in parallel)5–10 business daysContract, sandbox account, number-range setupECPay
Integration7–10 daysIssue, void, allowance, query, carrier validationLaravel, MySQL
Reconciliation admin5 daysDaily reconciliation report, failed-job retryCustom admin, Sentry
Acceptance and launch3–5 days40 test cases, accounting SOPPostman, UptimeRobot

ECPay's B2C e-invoice API documentation splits issuing, delayed issuing, allowances, voids, queries and mobile-barcode or tax-ID validation into separate endpoints. In practice you integrate five to seven of them, not one.

What it really costs

  • Development: single-channel B2C NT$60,000–120,000; multi-channel with B2B and ERP reconciliation NT$150,000–250,000
  • Provider fees: taking ECPay's e-invoice pricing as an example, new accounts pay a NT$3,600 setup fee; renewals run NT$3,600 for 5,000 invoices a year and NT$6,000 for 20,000, all before 5% VAT, and unused volume does not roll over
  • Notifications and printing: email is free, SMS is NT$1.5 per message, and printing a winning invoice at a convenience store costs NT$20
  • Hidden costs: 4–8 hours of your accountant's time to confirm scenarios, NT$10,000–30,000 to clean up or back-issue old orders, and adjustments whenever regulations or the API change

Expectation vs. reality

Clients assumeWhat actually happens
One issuing API call is the whole jobReturns and allowances take nearly half the build time
Issue the invoice the moment payment clearsPre-orders and cooling-off periods need a separate issuing trigger
B2B just adds a tax ID fieldSplitting tax-inclusive prices produces NT$1 rounding gaps
Accounting can walk away after launchThe first two periods still need daily spot checks

None of these gaps is a technical problem on its own. Each one is a business rule nobody wrote down, and the integration simply makes it visible. Budget time for your accountant to answer questions during the first two weeks.

Six traps and how to avoid them

  • Duplicate invoices: a timeout triggers a retry and a second invoice. Use the order number as an idempotency key, backed by Laravel Queue's ShouldBeUnique
  • Voiding whole invoices for partial returns: always issue an allowance instead
  • Rounding gaps: calculate tax on the invoice total everywhere in the system, never line by line
  • Mistyped carriers: call the mobile barcode validation API at checkout
  • Running out of numbers: alert when fewer than 20% of the range remain, and report unused numbers as blank at period end
  • Silent upload failures: under the Ministry of Finance rules effective 2025, B2C invoices must be transmitted within 2 days and B2B within 7, with fines of NT$1,500–15,000 that can be imposed per occurrence. Reconcile daily and alert on the failure queue

Success metrics and a 90-day roadmap

  • Day 30: automatic issuing rate at or above 98%, failure rate below 0.5%, zero duplicates
  • Day 60: every void and allowance runs through the system; month-end accounting time drops from 24 hours to under 6
  • Day 90: first full filing period reconciles with zero discrepancies, invoice-related support tickets fall, and you evaluate extending to B2B or retail

If the day-30 failure rate stays above 0.5%, look at carrier validation and timeouts first; in our experience those two account for most failed issues.

Decision checklist

  • ☐ More than 300 invoices a month?
  • ☐ Accounting spends 3+ hours a week on invoices?
  • ☐ Missed or duplicate invoices last period?
  • ☐ Partial returns or refunds?
  • ☐ Both B2C and B2B customers?
  • ☐ Two or more sales channels?
  • ☐ Need to reconcile with an ERP?
  • ☐ Pre-orders or subscriptions?
  • ☐ Platform invoicing is holding you back?
  • ☐ Someone can read the reconciliation report daily?
  • ☐ Can you accept 4–5 weeks of development?
  • ☐ Budget of NT$60,000 or more?

Seven or more yes answers usually means the saved labor pays back the build in 6–12 months. Fewer than four, stay on the provider dashboard for now.

FAQ

Do I have to go through a value-added provider?

No. Low volumes can be issued manually on the Ministry of Finance platform, and very high volumes can justify a self-hosted Turnkey. Most small and mid-sized businesses sit in between, where a provider API is the least effort.

Should the invoice be issued at payment or at shipment?

For in-stock goods shipped immediately, issue at payment. For pre-orders, subscriptions or goods with a cooling-off period, issue at shipment or after the period ends using delayed issuing.

Does every return require voiding the invoice?

No. A full return inside the voiding window can be voided; partial returns or returns crossing a filing period should get an allowance.

How long does integration take?

Single-channel B2C takes about 3–4 weeks; multi-channel with B2B and ERP reconciliation about 5–7 weeks. Provider onboarding runs in parallel.

Next step

ScriptWalker's e-invoice integration service starts at NT$60,000 and covers scenario mapping, API integration, an allowance and reconciliation admin, an accounting SOP and 30 days of post-launch support. Bring one period of orders and returns to a free 30-minute consultation and we will trace where the missing invoices come from.

Share: