import * as z from "zod/v4-mini"; import { CreateInvoiceLineItemRequest, CreateInvoiceLineItemRequest$Outbound } from "./create-invoice-line-item-request.js"; import { InvoiceBillingReason } from "./invoice-billing-reason.js"; import { InvoiceCoupon, InvoiceCoupon$Outbound } from "./invoice-coupon.js"; import { InvoiceLineItemCoupon, InvoiceLineItemCoupon$Outbound } from "./invoice-line-item-coupon.js"; import { InvoiceStatus } from "./invoice-status.js"; import { InvoiceType } from "./invoice-type.js"; import { PaymentStatus } from "./payment-status.js"; import { TaxRateOverride, TaxRateOverride$Outbound } from "./tax-rate-override.js"; import { TaxRateResponse, TaxRateResponse$Outbound } from "./tax-rate-response.js"; export type CreateInvoiceRequest = { /** * amount_due is the total amount that needs to be paid for this invoice */ amountDue: string; /** * amount_paid is the amount that has been paid towards this invoice */ amountPaid?: string | undefined; /** * billing_period is the period this invoice covers (e.g., "monthly", "yearly") */ billingPeriod?: string | undefined; billingReason?: InvoiceBillingReason | undefined; /** * coupons */ coupons?: Array | undefined; /** * currency is the three-letter ISO currency code (e.g., USD, EUR) for the invoice */ currency: string; /** * customer_id is the unique identifier of the customer this invoice belongs to */ customerId: string; /** * description is an optional text description of the invoice */ description?: string | undefined; /** * due_date is the date by which payment is expected */ dueDate?: Date | undefined; /** * force_sync_invoice, when true, attempts to synchronously sync this invoice to * * @remarks * Moyasar (if enabled) before returning, instead of relying solely on the async * Kafka + Temporal vendor-sync pipeline. Only honored by CreateOneOffInvoice. * Best-effort: sync failures do not fail invoice creation. */ forceSyncInvoice?: boolean | undefined; /** * idempotency_key is an optional key used to prevent duplicate invoice creation */ idempotencyKey?: string | undefined; /** * Invoice Coupons */ invoiceCoupons?: Array | undefined; /** * invoice_number is an optional human-readable identifier for the invoice */ invoiceNumber?: string | undefined; /** * invoice_pdf_url is the URL where customers can download the PDF version of this invoice */ invoicePdfUrl?: string | undefined; invoiceStatus?: InvoiceStatus | undefined; invoiceType?: InvoiceType | undefined; /** * issue_date overrides the user-facing date of the invoice. * * @remarks * Defaults to created_at if not provided. */ issueDate?: Date | undefined; /** * Invoice Line Item Coupons */ lineItemCoupons?: Array | undefined; /** * line_items contains the individual items that make up this invoice */ lineItems?: Array | undefined; metadata?: { [k: string]: string; } | undefined; paymentStatus?: PaymentStatus | undefined; /** * period_end is the end date of the billing period */ periodEnd?: Date | undefined; /** * period_start is the start date of the billing period */ periodStart?: Date | undefined; /** * prepared_tax_rates contains the tax rates pre-resolved by the caller (e.g., billing service) */ preparedTaxRates?: Array | undefined; /** * subscription_id is the optional unique identifier of the subscription associated with this invoice */ subscriptionId?: string | undefined; /** * subtotal is the amount before taxes and discounts are applied */ subtotal: string; /** * tax_rate_overrides is the tax rate overrides to be applied to the invoice */ taxRateOverrides?: Array | undefined; /** * tax_rates */ taxRates?: Array | undefined; /** * total is the total amount of the invoice including taxes and discounts */ total: string; /** * total_prepaid_applied is the total amount of prepaid applied to this invoice. */ totalPrepaidApplied?: string | undefined; }; /** @internal */ export type CreateInvoiceRequest$Outbound = { amount_due: string; amount_paid?: string | undefined; billing_period?: string | undefined; billing_reason?: string | undefined; coupons?: Array | undefined; currency: string; customer_id: string; description?: string | undefined; due_date?: string | undefined; force_sync_invoice?: boolean | undefined; idempotency_key?: string | undefined; invoice_coupons?: Array | undefined; invoice_number?: string | undefined; invoice_pdf_url?: string | undefined; invoice_status?: string | undefined; invoice_type?: string | undefined; issue_date?: string | undefined; line_item_coupons?: Array | undefined; line_items?: Array | undefined; metadata?: { [k: string]: string; } | undefined; payment_status?: string | undefined; period_end?: string | undefined; period_start?: string | undefined; prepared_tax_rates?: Array | undefined; subscription_id?: string | undefined; subtotal: string; tax_rate_overrides?: Array | undefined; tax_rates?: Array | undefined; total: string; total_prepaid_applied?: string | undefined; }; /** @internal */ export declare const CreateInvoiceRequest$outboundSchema: z.ZodMiniType; export declare function createInvoiceRequestToJSON(createInvoiceRequest: CreateInvoiceRequest): string; //# sourceMappingURL=create-invoice-request.d.ts.map