@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.
79 lines • 3.7 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';
import { collectionMethodSchema } from './collectionMethod';
import { invoiceAddressSchema } from './invoiceAddress';
import { invoiceConsolidationLevelSchema, } from './invoiceConsolidationLevel';
import { invoiceCustomerSchema } from './invoiceCustomer';
import { invoiceCustomFieldSchema, } from './invoiceCustomField';
import { invoiceLineItemSchema } from './invoiceLineItem';
import { invoiceSellerSchema } from './invoiceSeller';
import { proformaInvoiceCreditSchema, } from './proformaInvoiceCredit';
import { proformaInvoiceDiscountSchema, } from './proformaInvoiceDiscount';
import { proformaInvoicePaymentSchema, } from './proformaInvoicePayment';
import { proformaInvoiceRoleSchema, } from './proformaInvoiceRole';
import { proformaInvoiceStatusSchema, } from './proformaInvoiceStatus';
import { proformaInvoiceTaxSchema, } from './proformaInvoiceTax';
export const proformaInvoiceSchema = 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(lazy(() => invoiceSellerSchema))],
customer: ['customer', optional(lazy(() => invoiceCustomerSchema))],
memo: ['memo', optional(string())],
billingAddress: [
'billing_address',
optional(lazy(() => invoiceAddressSchema)),
],
shippingAddress: [
'shipping_address',
optional(lazy(() => 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(lazy(() => invoiceLineItemSchema)))],
discounts: [
'discounts',
optional(array(lazy(() => proformaInvoiceDiscountSchema))),
],
taxes: ['taxes', optional(array(lazy(() => proformaInvoiceTaxSchema)))],
credits: [
'credits',
optional(array(lazy(() => proformaInvoiceCreditSchema))),
],
payments: [
'payments',
optional(array(lazy(() => proformaInvoicePaymentSchema))),
],
customFields: [
'custom_fields',
optional(array(lazy(() => invoiceCustomFieldSchema))),
],
publicUrl: ['public_url', optional(nullable(string()))],
});
//# sourceMappingURL=proformaInvoice.js.map