# ResellerBillingPreferences

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Per-reseller billing configuration embedded on the Reseller aggregate root.
Controls billing run scheduling, payment terms, and invoice generation preferences.

## Fields
- `defaultPaymentTerms` (integer(int32)): Days until invoice due date (e.g. 30). (nullable)
- `defaultCurrency` (string): ISO 4217 default currency for billing. (nullable, min length 0, max length 3)
- `hppPageId` (string(uuid)): HPP page ID used for invoice payment links. Required: When DefaultFulfillmentPath == Invoicing and AllowOnlinePayment is true. (nullable)
- `captureHppPageId` (string(uuid)): HPP page ID used to capture and store a card on file for the recurring-contract billing path (the operator-driven payment-method capture flow). This must reference a `SaveCard`-purpose page (zero-dollar verification, no charge) so capture does not prompt the operator for an amount. Distinct from `hppPageId`, which is the Invoicing payment-link page (a chargeable `Payment` page). Required: When DefaultFulfillmentPath == RecurringContract. (nullable)
- `allowOnlinePayment` (boolean): Whether merchants can pay invoices online via HPP. (nullable)
- `allowStoredPaymentMethods` (boolean): Whether merchants can store payment methods for billing. (nullable)
- `autoChargeStoredMethod` (boolean): Retired: no billing run reads it and no screen edits it. A recurring-contract merchant is charged by its contract, and an invoiced merchant pays its invoice. The property stays so a stored value still reads back, and the collection configuration copy carries it, but the billing setup wizard writes a fresh preferences object and leaves it null. (nullable)
- `autoBillingEnabled` (boolean): Whether automated billing runs are enabled. (nullable)
- `billingPeriod` (integer(int32)): Billing period: 1=Monthly, 3=Quarterly. (nullable)
- `billingDayOfMonth` (integer(int32)): Day of month for billing runs (1-28). (nullable, min 1, max 28)
- `invoiceTemplateId` (string(uuid)): Invoice template ID (Phase 2: Invoicing module). (nullable)
- `defaultTaxRateId` (string(uuid)): Default tax rate ID (Phase 2: Invoicing module). (nullable)
- `sendInvoiceOnGeneration` (boolean): Auto-send invoice to merchant after generation. (nullable)
- `billingRunNotificationEmail` (string): Admin notification email for billing run completions. (nullable, min length 0, max length 256)
- `defaultFulfillmentPath` ([BillingFulfillmentPath](https://devportal.signapay-sbx.winkpg.io/docs/api/models/BillingFulfillmentPath.md)): Default fulfillment path for billing runs under this reseller. When null and a merchant has no per-assignment override, the merchant is skipped with result status `NoFulfillmentPath`. (nullable)
  Values:
  - `Invoicing`: Generate an invoice in PhoeniXGate.Invoicing addressed to the Merchant and route payment through the reseller's configured Hosted Payment Page.
  - `RecurringContract`: Charge a stored payment method (card or ACH) against the Merchant on a schedule, via a recurring contract owned by the reseller's collection merchant.
- `collectionMerchantId` (string(uuid)): The reseller-owned billing entity that owns recurring contracts and vaults stored payment methods. Required when `defaultFulfillmentPath` is `RecurringContract`. This may be the reseller itself or a designated child merchant; modeled internally as a single "MLB collection party" reference so the legacy House Merchant flag is not reintroduced. Required: When DefaultFulfillmentPath == RecurringContract. (nullable)
- `allowCardPayments` (boolean): Whether card tokens are permitted as stored payment methods for billed merchants. Treated as `true` by callers when null on legacy documents. (nullable)
- `allowAchPayments` (boolean): Whether ACH tokens are permitted as stored payment methods for billed merchants. Treated as `true` by callers when null on legacy documents, matching `allowCardPayments`: both are read permissively, rejecting only an explicit `false`. (nullable)

## See also

- [All documentation](https://devportal.signapay-sbx.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
