ERP Selection·2026-10-19·8 min read

Export Tax Refund Rates: How to Track Them Inside Your ERP

Direct answer

A rebate rate is not a fixed product attribute — it follows the HS code, the current tax catalogue and the latest policy announcement. Here is how to store, date-stamp and apply rebate rates so an old rate never silently understates a refund.

A rebate rate is not a product attribute

Most ERP selection documents treat the export rebate rate as a product field: you type 13% next to a SKU and move on. That single decision causes more quiet refund leakage than any other design choice in the export module. A rebate rate is not a property of your product. It is the output of three moving inputs — the HS classification of the goods, the State Taxation Administration's current rebate catalogue, and whichever adjustment announcement landed most recently. Change any one of them and the number that should appear on the declaration changes with it, while the number stored on your product master stays stubbornly where it was typed.

The failure is not dramatic. Nobody gets an error message. Finance simply computes the refundable amount from a rate that was correct two years ago, the declaration goes through because the tax system validates against its own catalogue rather than yours, and the difference surfaces months later as an amount that was never claimed. Because the filing window closes on April 30 of the following year, a rate that went stale in March can make shipments from the previous autumn permanently unclaimable. The cost of getting this wrong is bounded only by how much you exported.

The three fields every exported line needs

If you take one thing from this article, make it this: every export line item needs three separate, independently maintained fields, and no ERP that collapses them into one is acceptable.

  • HS code — the customs classification actually declared, not an internal product category. It belongs on the product master but must be versioned, because reclassification happens.
  • Rebate rate — the rate applicable to that HS code under the current catalogue, stored with the date it took effect rather than as an undated value.
  • Effective period — the start and end dates during which that rate applied, so a shipment can be evaluated against the rate in force at the relevant moment.

The moment these three live in one field, you have lost the ability to answer the only question that matters at audit time: what rate applied to this shipment on this date. A rate without a date is a rumour. A rate with a date is evidence.

Why hardcoded rate tables fail

The common shortcut is a lookup table inside the ERP — a spreadsheet imported once during implementation and refreshed whenever someone remembers. It fails for structural reasons, not because the team is careless. First, the catalogue is large and granular: thousands of commodity lines, each potentially carrying a different rate, and the ERP only ever stores the subset for products you currently sell. The first time you export something new, the rate is missing and someone types it in from memory.

Second, adjustments arrive as announcements rather than as a clean data feed. A policy change can raise, lower or revoke rebate eligibility for a product category, and the announcement describes the change in prose with an effective date. Translating that into your table is a manual step, and the manual step is where the lag lives. Third, the rate is only one of the inputs: whether a product is rebate-eligible at all, whether it falls under a prohibited or restricted category, and whether the applicable method is exemption-credit-refund or exemption-refund all sit alongside the rate and are equally subject to change.

A fourth failure is subtler and shows up in companies with seasonal product mixes. Rates get verified when a product is onboarded and never revisited. A product that was correctly set up in its launch year quietly drifts out of alignment as the catalogue changes around it, and because the number on screen never looks wrong, nobody questions it.

A rate master that survives policy change

The workable design is a rate master table separate from the product master, joined by HS code, with effective dating and a clear audit trail. In practice it needs four behaviours. The first is versioning: every rate record carries a valid-from and valid-to date, and superseded records are closed rather than overwritten, so historical declarations can always be reconstructed. The second is a bulk update path: when an announcement changes rates for a commodity chapter, you should be able to load forty affected lines in one operation with one effective date, not edit forty product records.

The third behaviour is a resolution rule. When a shipment is priced or declared, the system should resolve the applicable rate by looking up the HS code and the date, not by reading a value that happens to be sitting on the product. If no rate is found, that is an error condition worth blocking on — an unknown rate is almost always a missing classification rather than a genuinely rebate-free product. The fourth is a snapshot. Store the resolved rate on the shipment line at declaration time. The rate master will change; the shipment record must not.

This is the same design discipline that the export rebate article calls three-document matching: the principle is that a document, once issued, is frozen evidence, not a live view into a table that keeps moving. If your ERP re-derives historical numbers from current master data, every historical report you produce is retroactively wrong and no auditor will accept it. The finance side of this is covered in more depth in our guide to export tax rebate ERP software for China.

Eligibility, rate and method are three different questions

A rebate rate only matters if the goods are eligible at all, and these are three separate questions answered by three different parts of the catalogue. Eligibility asks whether the exported goods fall into a category for which a rebate is available — some goods are excluded outright, some are subject to special supervision or licensing, and some categories have had eligibility suspended or modified by announcement. The rate asks, given eligibility, what percentage applies. The method asks whether the exporter claims under exemption-credit-refund as a producer or exemption-refund as a trading company, because the two compute differently from the same underlying inputs.

ERP systems routinely collapse all three into a single rebate rate field. The consequence is that a product which is not eligible at all can still carry a number, and the system will happily generate claims from it. The safer model stores eligibility as its own dated flag, the rate as a dated value, and the method as a property of the legal entity rather than of the product — because the same goods exported by a trading arm and by a factory are claimed under different methods. When a claim fails at filing, the cause is more often an eligibility or method error than an arithmetic one, and neither is visible if the three concepts share a field.

There is also the awkward case of goods whose rebate is zero by policy rather than by ineligibility. A zero rate and a missing rate look identical in a table and behave completely differently in a claim: the first is a legitimate outcome that should be recorded and reported, the second is a data error that should block the transaction. Systems that cannot distinguish them either stop legitimate exports or accept illegitimate ones, and both outcomes cost more than the missing field ever did. Ask specifically how the system represents zero-by-policy, because the answer reveals whether the vendor has modelled the domain or merely built a lookup.

What the rate actually drives downstream

It is worth being precise about how far one rate propagates, because it explains why a stale value is expensive. The rate feeds the refundable amount per line, which aggregates into the monthly exemption-credit-refund calculation for a producer, or the direct refund amount for a trading company. It feeds the gross margin that sales uses when quoting the next order, because a rebate is a cash inflow against cost. It feeds the forecast of refund receipts used in cash planning, and it feeds the reconciliation between what you expected to receive and what actually arrived.

That last link is the operational tell. If your team cannot explain the gap between expected and received refunds without opening a spreadsheet, the rate data is almost certainly disconnected from the transaction data. In a system that carries the rate on the shipment, the expected amount is a stored fact and the explanation for a variance is a query rather than a forensic exercise.

What to ask before you sign

Vendors will all say they support rebate rates. The questions below separate a real rate engine from a text field. Ask them in a demo, not in a proposal document, and ask to see the screens.

  • Can a rate record have an effective date range, and can I see what the value was on a given past date?
  • Can I bulk-load a catalogue update for many HS codes with one effective date?
  • What happens when a product has no rate on file — does the system block, warn, or silently use zero?
  • Is the resolved rate copied onto the shipment line, so historical declarations reproduce exactly as issued?
  • Where do I see the rate history for one product, with who changed it and when?

A vendor that answers all five without calling an implementation consultant has built this properly. A vendor that describes a customization has described a project risk you will own forever. And a vendor that asks what you mean by effective dating has told you the module is a spreadsheet with a login screen. The same discipline carries into the wider document set: automating export documentation depends entirely on whether master data like this is trustworthy, and the finance module that posts the resulting refund is covered under ERP finance capabilities.

Whether to build or to buy the update process

One pragmatic question remains: who maintains the catalogue? For a small exporter with a stable product line, a quarterly manual review by the tax accountant is defensible, provided the review is logged and the effective dates are entered properly. For a company exporting across many chapters, or one whose product mix shifts with customer demand, manual maintenance breaks down within a year. Some Chinese-native platforms ship a rate library that updates with policy; the trade-off is that you inherit the vendor's update schedule rather than your own. Either way, the design requirement does not change: dated records, resolved-and-snapshotted values, and a visible history. Get that right and the mechanism of update becomes a process choice rather than a structural risk.

Frequently asked questions

What determines the export tax refund rate for a product in China?

The rate follows the goods' HS classification and the current rebate catalogue published by the State Taxation Administration, as amended by subsequent policy announcements. It is not a fixed property of the product, and it changes when either the classification or the catalogue changes.

Why is storing the rebate rate on the product master a problem?

Because a product field has no date. When the rate changes, the stored value either gets overwritten — destroying the ability to reproduce past declarations — or stays stale and silently understates refunds. The rate needs to live in a dated rate master joined by HS code.

Should the rebate rate be copied onto the shipment line?

Yes. Resolve the rate at declaration time from the dated rate master, then store the resolved value on the shipment line so the declaration can be reproduced exactly as issued even after the master data moves on.

What happens if a product has no rebate rate on file?

Treat it as an error rather than a zero. In most cases a missing rate means the HS classification has not been completed or a new product was onboarded without tax review — both of which are cheaper to fix before declaration than after the filing window closes.

Is the rebate rate the same as the VAT rate?

Not necessarily. For many goods the rebate rate equals the statutory VAT rate, but the State Taxation Administration sets specific rates for product categories, and eligibility itself can be restricted. Always verify against the current catalogue rather than assuming parity.

How often should the rate master be reviewed?

At minimum on every policy announcement that touches your commodity chapters, and as a scheduled quarterly review for everything else. Log each review with a date and owner so the process itself is auditable.

Written by ERP Guide Hub Editorial Team · Last updated:

Editorially reviewed following our published methodology.

Related reading

Ready to unify your global operations on one ERP?

Book a free consultation with our ERP experts. We help Chinese companies going global build a unified system across HQ, overseas factories, and international sales — finance, procurement, inventory, production, and operations in sync.

Book a Free Consultation