Форма ліворуч, рахунок праворуч і точна десяткова арифметика під ними. Ніщо в інтерфейсі не додає двох сум: кожне число походить з єдиного грошового механізму, що працює в масштабованих цілих числах, тож 0,1 плюс 0,2 дорівнює 0,3, а сто рядків по 33,33 дають те, що мають.
Як обчислюються суми
- Кожен рядок після власної знижки округлюється до найменшої одиниці валюти - два знаки для євро, жодного для єни, три для кувейтського динара.
- Податок підсумовується один раз на ставку, а не рядок за рядком. Двадцять рядків за 20 % - це одна база, оподаткована один раз; округлювати кожен рядок окремо на довгому рахунку розходиться на центи.
- Знижка на весь рахунок розподіляється між ставками пропорційно до нарахованого за кожною, а остання група вбирає залишок, щоб частки давали знижку точно.
- Ціни з податком виводять базу із суми з податком і беруть податок як різницю, що тримає базу плюс податок рівними введеній ціні.
Результат: надрукована колонка дає надрукований підсумок. Це і є вся причина існування цього інструмента.
Що він перевіряє і чого не стверджує
IBAN перевіряється контрольною сумою MOD-97 проти опублікованої довжини для його країни, і формулювання каже, що номер побудовано правильно, а не що рахунок існує. Номер ПДВ звіряється з форматом своєї країни, і інструмент зазначає, що жоден реєстр не опитується.
Він не стверджує, що ваш рахунок має юридичну силу. Те, що має містити рахунок, залежить від країни й від того, чи ви платник ПДВ, і це змінюється. Панель перевірок перевіряє те, що можна перевірити тут, і прямо каже, що ваших місцевих вимог серед цього немає.
Де все це лежить
У цьому браузері. Рахунок, збережені клієнти й банківські реквізити лежать в IndexedDB на цьому пристрої, а PDF створюється у вкладці - тож жодна назва клієнта, адреса, податковий номер чи IBAN не потрапляє на сервер.