Skip to content

0006. Country rules are data

  • Status: Accepted
  • Date: 2026-10-27

Tax rates, rounding rules and receipt requirements differ by country and change over time. Hard-coding Malaysian rules would make every other country a fork.

Country-specific rules (tax codes and rates, cash rounding, required receipt fields) live as data in a country pack, validated by a JSON schema. Malaysia (packages/country-my) is the first pack. packages/core implements the generic calculations and reads rates and codes from the pack.

  • No Malaysian rate or code is hard-coded outside packages/country-my.
  • Each pack ships test vectors (fixtures/vectors.json) that any implementation can check itself against.
  • Supporting another country is a contribution of a new pack, not a fork.

For AI tools: llms.txt ·llms-full.txtopenkedai.com