# `zappier/invoicing` **Package:** `zappier` **Source:** `packages/zappier/src/invoicing.ts` **Lines:** 107 ## What this module is Implementation module in `zappier`. The tables below are extracted from the source (signatures + JSDoc). ## Exports `InvoiceLine`, `Invoice`, `InvoiceRepo`, `InMemoryInvoiceRepo`, `buildInvoice` ## Types / interfaces / classes | Kind | Name | |------|------| | interface | `InvoiceLine` | | interface | `Invoice` | | interface | `InvoiceRepo` | | class | `InMemoryInvoiceRepo` | ## Functions | Name | Parameters | Param types (JSDoc) | Returns | Calls (same file / helpers) | |------|------------|---------------------|---------|-----------------------------| | `buildInvoice` | `args: { customer: Customer; period: string; sequence: number; entries: UsageEntry[]; tier: TierConfig; poNumber?: string; }` | — | `unknown` | see Call graph | ## Methods (class / object) | Name | Parameters | |------|------------| | `save` | `invoice: Invoice` | | `get` | `id: string` | | `list` | `filter: { customerId?: string; period?: string; status?: Invoice['status']; }` | | `nextSequence` | `period: string` | | `save` | `invoice: Invoice` | | `get` | `id: string` | | `list` | `filter: { customerId?: string; period?: string; status?: Invoice['status']; }` | | `nextSequence` | `period: string` | ## What it imports / requires - `./auth` - `./pricing` - `./usage` ## Call graph (identifiers invoked) `cents`, `save`, `get`, `list`, `nextSequence`, `set`, `map`, `values`, `filter`, `sort`, `localeCompare`, `buildInvoice`, `reduce`, `min`, `padStart` Each identifier is a call site in this file. Follow the import list to see the defining module; open that module’s MD for parameter and return types. ## Return values (how to read this) - HTTP route handlers return Express `res.json(...)` bodies (see route docs). - Zapier `perform` functions return a **single object** (creates) or an **array** (triggers/searches). - Pricing functions return integer **cents** on `Quote.totalCents`.