# 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): Auto-charge stored payment method after invoice generation. (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.demo.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.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
