Better Decimal Handling & Multi-line Messages
Improved precision for unit prices with small decimals, smarter formatting across invoices and products, and multi-line support for end messages
This update brings better decimal precision throughout PineBill and adds multi-line support for invoice and estimate end messages.
Precise Decimal Input & Display
Entering prices with extended decimal places — like 0.025 or 1.005 — now works seamlessly everywhere. Previously, small decimal values could be rejected during input or display with floating-point noise (e.g., 0.02500000001). This has been resolved across the board:
- Product form — The price field now accepts intermediate decimal states, so typing
0.025no longer gets blocked or rounded mid-entry - Products table — Inline quantity and price inputs use a new decimal-aware component that preserves your intended precision
- Invoice & estimate previews — Unit prices display exactly as entered, without trailing noise digits
Smarter Currency Formatting
We've split formatting into two distinct modes:
| Formatter | Used For | Behavior |
|---|---|---|
| Unit price | Per-item prices | Preserves all meaningful decimals (e.g., $0.025) |
| Currency total | Subtotals, tax, grand total | Standard 2-decimal currency format (e.g., $125.00) |
This means a line item priced at $0.025 x 4,000 now shows the unit price as $0.025 and the total as $100.00 — each formatted appropriately for its context.
The improved formatting applies across invoice detail pages, estimate detail pages, recurring invoice details, the product list, and the PDF output.
Multi-line End Messages
The end message field on invoices and estimates now supports multi-line text. Add line breaks for payment instructions, thank-you notes, or legal disclaimers — and they'll render exactly as written in both the preview and the final PDF.