zappier.invoicing

Generated API sheet for zappier/invoicing.

# `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`.