@maxio-com/advanced-billing-sdk
Version:
Ultimate billing and pricing flexibility for B2B SaaS. Maxio integrates directly into your product, so you can seamlessly manage your product catalog, bill customers, and collect payments.
61 lines • 3.5 kB
JavaScript
/**
* AdvancedBilling
*
* This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
*/
import { array, expandoObject, lazy, nullable, number, optional, string, } from '../schema.js';
import { collectionMethodSchema, } from './collectionMethod.js';
import { invoiceAddressSchema } from './invoiceAddress.js';
import { invoiceConsolidationLevelSchema, } from './invoiceConsolidationLevel.js';
import { invoiceCustomerSchema } from './invoiceCustomer.js';
import { invoiceCustomFieldSchema, } from './invoiceCustomField.js';
import { invoiceLineItemSchema } from './invoiceLineItem.js';
import { invoiceSellerSchema } from './invoiceSeller.js';
import { proformaInvoiceCreditSchema, } from './proformaInvoiceCredit.js';
import { proformaInvoiceDiscountSchema, } from './proformaInvoiceDiscount.js';
import { proformaInvoicePaymentSchema, } from './proformaInvoicePayment.js';
import { proformaInvoiceRoleSchema, } from './proformaInvoiceRole.js';
import { proformaInvoiceStatusSchema, } from './proformaInvoiceStatus.js';
import { proformaInvoiceTaxSchema, } from './proformaInvoiceTax.js';
export const proformaInvoiceSchema = lazy(() => expandoObject({
uid: ['uid', optional(string())],
siteId: ['site_id', optional(number())],
customerId: ['customer_id', optional(nullable(number()))],
subscriptionId: ['subscription_id', optional(nullable(number()))],
number: ['number', optional(nullable(number()))],
sequenceNumber: ['sequence_number', optional(nullable(number()))],
createdAt: ['created_at', optional(string())],
deliveryDate: ['delivery_date', optional(string())],
status: ['status', optional(proformaInvoiceStatusSchema)],
collectionMethod: ['collection_method', optional(collectionMethodSchema)],
paymentInstructions: ['payment_instructions', optional(string())],
currency: ['currency', optional(string())],
consolidationLevel: [
'consolidation_level',
optional(invoiceConsolidationLevelSchema),
],
productName: ['product_name', optional(string())],
productFamilyName: ['product_family_name', optional(string())],
role: ['role', optional(proformaInvoiceRoleSchema)],
seller: ['seller', optional(invoiceSellerSchema)],
customer: ['customer', optional(invoiceCustomerSchema)],
memo: ['memo', optional(string())],
billingAddress: ['billing_address', optional(invoiceAddressSchema)],
shippingAddress: ['shipping_address', optional(invoiceAddressSchema)],
subtotalAmount: ['subtotal_amount', optional(string())],
discountAmount: ['discount_amount', optional(string())],
taxAmount: ['tax_amount', optional(string())],
totalAmount: ['total_amount', optional(string())],
creditAmount: ['credit_amount', optional(string())],
paidAmount: ['paid_amount', optional(string())],
refundAmount: ['refund_amount', optional(string())],
dueAmount: ['due_amount', optional(string())],
lineItems: ['line_items', optional(array(invoiceLineItemSchema))],
discounts: ['discounts', optional(array(proformaInvoiceDiscountSchema))],
taxes: ['taxes', optional(array(proformaInvoiceTaxSchema))],
credits: ['credits', optional(array(proformaInvoiceCreditSchema))],
payments: ['payments', optional(array(proformaInvoicePaymentSchema))],
customFields: ['custom_fields', optional(array(invoiceCustomFieldSchema))],
publicUrl: ['public_url', optional(nullable(string()))],
}));
//# sourceMappingURL=proformaInvoice.js.map