Hacker News new | ask | show | jobs
by maaslalani 1090 days ago
That's a good point. I definitely want to support different formats will probably need to support a --format and --template flag as well.
1 comments

This is great stuff! To use this in Canada, we have a few extra requirements as well. Firstly, we have to separate our tax onto two lines, one for Federal tax (called GST) and one for Provincial tax (has a different name in each province) and we are also legally required to include our Federal and Provincial tax registration numbers on the same line as the amount of tax being charged.

Even trickier is that some line items could also be tax-exempt.

A config option such as the following would help for that:

  --tax 0.05 "GST" --label="GST #12345679"     \
  --tax 0.09975 "QST" --label="QST #55592929"
And to handle items that are tax exempt, an item can have the:

  --item ... --tax_exempt (or --tax_exempt="GST" in case it's only exempt from one of the sales taxes)
There's more to Canada tax rules than this, and they vary (like every country?). Some provinces have no provincial sales tax (one tax line), some provinces have Harmonized Sales Tax (HST) which aggregates GST and PST (one tax line). There's also no (federal) requirement to include your business number on the same line as the taxes.. it does need to be on the invoice if >$30 though.

Tax exemption at a federal or provincial level is then at the line-item level, not the invoice level (although perhaps invoice level is enough, for example agricultural products & prescription drugs shouldn't be taxed).

You may be required to charge the buyer's tax rate (rather than your operating tax rate).

And finally some goods/services have extra taxes (hospitality tax, for example).

https://www.canada.ca/en/revenue-agency/services/tax/busines... https://www.canada.ca/en/revenue-agency/services/tax/busines...