Add UTM parameters while preserving the query and #fragment, with correct encoding and case warnings
Invoice Generator
Create an invoice and save it as PDF by printing: integer maths without floating-point errors, inclusive or exclusive tax, discount before or after tax, the amount in words in Arabic and English, and JSON export/import.
Workspace
How the result is calculated
All amounts are integers in minor units (cents, halalas…) using BigInt, with no floating point, and rounding is half-up at every step. Per line: base = round(price × quantity), then the line discount, then the overall “before tax” discount. Exclusive: tax = round(net × rate); inclusive: net = round(gross ÷ (1 + rate)) and tax = the difference. An “after tax” discount (% or fixed) is subtracted from the total. Decimals follow the currency (JPY=0, KWD/BHD/OMR=3, others 2). Formatting uses Intl.NumberFormat. The amount in words is in English (up to billions) and Arabic (up to 999,999,999) for specific currencies.
FAQ
Is it a tax-approved invoice?
No; it is an ordinary PDF invoice.
How do I save as PDF?
Press Print and choose “Save as PDF”.


