# InvoiceForm

> With the revenue-recognition preview per line.

Source: https://lopifi.com/components/invoice-form
Part of: Lopifi — US GAAP books on autopilot, checked by a CPA (https://lopifi.com)

---

- **Family:** Receivables (AR) — 
- **Status:** Implemented
- **Spec:** https://lopifi.com/docs/catalog/10-receivables

## Install

```bash
npx shadcn@latest add @lopifi/theme
npx shadcn@latest add @lopifi/invoice-form
```

## Specification

Lines with account and dimensions, itemized tax **by jurisdiction and rate**, terms, PO reference. Shows the **revenue recognition preview per line** before posting — whether each line credits revenue or deferred revenue, and on what schedule. Invoice number is system-assigned and gapless; the user cannot pick it.

Discount terms render in full: "2% discount if paid within 10 days, otherwise due in 30 days", with both amounts and the discount deadline computed.

## Rules this component obeys

Money is minor units, never floats. `null` is not `0` and neither is redacted. Negatives render in accounting parentheses with the parenthesis column reserved on both sides. Debit and credit are two columns. Per-currency decimal places. Polarity is explicit — up is not always good. Every figure states its period, entity, currency, basis and as-of.
