diff --git a/.stats.yml b/.stats.yml index 6b3e250b..2d88b9b0 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ configured_endpoints: 42 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/conductor%2Fconductor-91a3811435d3ec91bbc8cfe5ffef5b6a865baa87067da7db1c5626522d92cf50.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/conductor%2Fconductor-1bf468e2b46322a3858d795a35cf67460d02e2a8c9daec960ff81883305e251b.yml diff --git a/src/conductor/types/qbd/inventory_item.py b/src/conductor/types/qbd/inventory_item.py index d238f017..378cca2b 100644 --- a/src/conductor/types/qbd/inventory_item.py +++ b/src/conductor/types/qbd/inventory_item.py @@ -260,10 +260,7 @@ class InventoryItem(BaseModel): """ income_account: Optional[IncomeAccount] = FieldInfo(alias="incomeAccount", default=None) - """ - The income account associated with this inventory item, used to track revenue - from sales. - """ + """The inventory item's income account, used to track revenue from sales.""" is_active: bool = FieldInfo(alias="isActive") """Indicates whether this inventory item is active. diff --git a/src/conductor/types/qbd/non_inventory_item.py b/src/conductor/types/qbd/non_inventory_item.py index 72b53791..893884f1 100644 --- a/src/conductor/types/qbd/non_inventory_item.py +++ b/src/conductor/types/qbd/non_inventory_item.py @@ -310,8 +310,8 @@ class NonInventoryItem(BaseModel): """ The fully-qualified unique name for this non-inventory item, formed by combining the names of its parent objects with its own `name`, separated by colons. For - example, if a non-inventory item is under 'Office Supplies' and has the `name` - 'Printer Ink Cartridge', its `fullName` would be 'Office Supplies:Printer Ink + example, if a non-inventory item is under 'Office-Supplies' and has the `name` + 'Printer Ink Cartridge', its `fullName` would be 'Office-Supplies:Printer Ink Cartridge'. Unlike `name`, `fullName` is guaranteed to be unique across all non-inventory item objects. """ @@ -332,7 +332,7 @@ class NonInventoryItem(BaseModel): Not guaranteed to be unique because it does not include the names of its parent objects like `fullName` does. For example, two objects could both have the `name` "Printer Ink Cartridge", but they could have unique `fullName` values, - such as "Office Supplies:Printer Ink Cartridge" and "Miscellaneous:Printer Ink + such as "Office-Supplies:Printer Ink Cartridge" and "Miscellaneous:Printer Ink Cartridge". """ @@ -342,10 +342,10 @@ class NonInventoryItem(BaseModel): parent: Optional[Parent] = None """The parent non-inventory item one level above this one in the hierarchy. - For example, if this non-inventory item has a `fullName` of "Office - Supplies:Printer Ink Cartridge", its parent has a `fullName` of "Office - Supplies". If this non-inventory item is at the top level, `parent` will be - `null`. + For example, if this non-inventory item has a `fullName` of + "Office-Supplies:Printer Ink Cartridge", its parent has a `fullName` of + "Office-Supplies". If this non-inventory item is at the top level, `parent` will + be `null`. """ sales_and_purchase_details: Optional[SalesAndPurchaseDetails] = FieldInfo( @@ -380,7 +380,7 @@ class NonInventoryItem(BaseModel): A top-level non-inventory item has a `sublevel` of 0; each subsequent sublevel increases this number by 1. For example, a non-inventory item with a `fullName` - of "Office Supplies:Printer Ink Cartridge" would have a `sublevel` of 1. + of "Office-Supplies:Printer Ink Cartridge" would have a `sublevel` of 1. """ unit_of_measure_set: Optional[UnitOfMeasureSet] = FieldInfo(alias="unitOfMeasureSet", default=None) diff --git a/src/conductor/types/qbd/qbd_account.py b/src/conductor/types/qbd/qbd_account.py index 21f2b6a1..3f29f8f9 100644 --- a/src/conductor/types/qbd/qbd_account.py +++ b/src/conductor/types/qbd/qbd_account.py @@ -177,8 +177,8 @@ class QbdAccount(BaseModel): """ The fully-qualified unique name for this account, formed by combining the names of its parent objects with its own `name`, separated by colons. For example, if - an account is under 'Corporate' and has the `name` 'Accounts Payable', its - `fullName` would be 'Corporate:Accounts Payable'. Unlike `name`, `fullName` is + an account is under 'Corporate' and has the `name` 'Accounts-Payable', its + `fullName` would be 'Corporate:Accounts-Payable'. Unlike `name`, `fullName` is guaranteed to be unique across all account objects. """ @@ -197,8 +197,8 @@ class QbdAccount(BaseModel): Not guaranteed to be unique because it does not include the names of its parent objects like `fullName` does. For example, two objects could both have the - `name` "Accounts Payable", but they could have unique `fullName` values, such as - "Corporate:Accounts Payable" and "Finance:Accounts Payable". + `name` "Accounts-Payable", but they could have unique `fullName` values, such as + "Corporate:Accounts-Payable" and "Finance:Accounts-Payable". """ object_type: Literal["qbd_account"] = FieldInfo(alias="objectType") @@ -207,7 +207,7 @@ class QbdAccount(BaseModel): parent: Optional[Parent] = None """The parent account one level above this one in the hierarchy. - For example, if this account has a `fullName` of "Corporate:Accounts Payable", + For example, if this account has a `fullName` of "Corporate:Accounts-Payable", its parent has a `fullName` of "Corporate". If this account is at the top level, `parent` will be `null`. """ @@ -255,14 +255,11 @@ class QbdAccount(BaseModel): A top-level account has a `sublevel` of 0; each subsequent sublevel increases this number by 1. For example, a account with a `fullName` of - "Corporate:Accounts Payable" would have a `sublevel` of 1. + "Corporate:Accounts-Payable" would have a `sublevel` of 1. """ tax_line_details: Optional[TaxLineDetails] = FieldInfo(alias="taxLineDetails", default=None) - """ - The tax line information associated with this account, used for tax reporting - purposes. - """ + """The account's tax line details, used for tax reporting purposes.""" total_balance: Optional[str] = FieldInfo(alias="totalBalance", default=None) """ diff --git a/src/conductor/types/qbd/qbd_bill.py b/src/conductor/types/qbd/qbd_bill.py index 060edf80..700474d4 100644 --- a/src/conductor/types/qbd/qbd_bill.py +++ b/src/conductor/types/qbd/qbd_bill.py @@ -212,48 +212,64 @@ class ExpenseLineSalesTaxCode(BaseModel): class ExpenseLine(BaseModel): id: str - """ - The QuickBooks-assigned identifier for this transaction line, unique across all - transaction lines. + """The unique identifier assigned by QuickBooks for this expense line. + + This ID is unique among all transaction line types. """ account: Optional[ExpenseLineAccount] = None + """ + For expense lines, this typically refers to the expense account being debited + (increased). The corresponding credit would usually be to a liability account + (e.g., Accounts Payable) or an asset account (e.g., Cash), depending on the + transaction type. + """ amount: Optional[str] = None + """The monetary amount for this expense line, represented as a decimal string.""" billable_status: Optional[Literal["billable", "has_been_billed", "not_billable"]] = FieldInfo( alias="billableStatus", default=None ) - """The billable status of this line item.""" + """The billing status of this expense line.""" class_: Optional[ExpenseLineClass] = FieldInfo(alias="class", default=None) - """The class associated with this object. - - Classes can be used to categorize objects or transactions by department, - location, or other meaningful segments. + """ + The expense line's class, used for categorization (e.g., by department, + location, or type of work). """ customer: Optional[ExpenseLineCustomer] = None + """ + For expense lines, if `account` refers to an Accounts Payable (A/P) account, + `customer` refers to the expense's vendor (not the customer). If `account` + refers to any other type of account, `customer` refers to the expense's customer + (not the vendor). + """ custom_fields: List[ExpenseLineCustomField] = FieldInfo(alias="customFields") - """The custom fields added by the user to QuickBooks object as a data extension. - - These fields are not part of the standard QuickBooks object. + """ + The custom fields added by the user to this expense line object as a data + extension. These fields are not part of the standard QuickBooks object. """ memo: Optional[str] = None + """A memo or note for this expense line, as entered by the user.""" sales_representative: Optional[ExpenseLineSalesRepresentative] = FieldInfo( alias="salesRepresentative", default=None ) - """The expense's sales representative.""" + """The expense line's sales representative. - sales_tax_code: Optional[ExpenseLineSalesTaxCode] = FieldInfo(alias="salesTaxCode", default=None) - """The sales tax code, indicating whether related items are taxable or non-taxable. + Sales representatives can be employees, vendors, or other names in QuickBooks. + """ - Two default codes are 'Non' (non-taxable) and 'Tax' (taxable). If QuickBooks is - not set up to charge sales tax, it will assign the default non-taxable code to - all sales. + sales_tax_code: Optional[ExpenseLineSalesTaxCode] = FieldInfo(alias="salesTaxCode", default=None) + """ + The sales tax code associated with this expense line, indicating whether it is + taxable or non-taxable. Default codes include 'NON' (non-taxable) and 'TAX' + (taxable). If QuickBooks is not set up to charge sales tax, it will assign the + default non-taxable code to all sales. """ @@ -921,8 +937,8 @@ class QbdBill(BaseModel): accounts_payable_account: Optional[AccountsPayableAccount] = FieldInfo(alias="accountsPayableAccount", default=None) """ - The accounts payable account to which this bill is assigned, used to track the - amount owed. If not specified, the default accounts payable account in + The Accounts Payable account to which this bill is assigned, used to track the + amount owed. If not specified, the default Accounts Payable account in QuickBooks is used. """ @@ -1015,7 +1031,7 @@ class QbdBill(BaseModel): memo: Optional[str] = None """A memo or note for this bill, as entered by the user. - Appears in the accounts payable register and relevant reports. + Appears in the Accounts Payable register and relevant reports. """ object_type: Literal["qbd_bill"] = FieldInfo(alias="objectType") diff --git a/src/conductor/types/qbd/qbd_credit_card_charge.py b/src/conductor/types/qbd/qbd_credit_card_charge.py index 52335843..9bb83aa2 100644 --- a/src/conductor/types/qbd/qbd_credit_card_charge.py +++ b/src/conductor/types/qbd/qbd_credit_card_charge.py @@ -209,48 +209,64 @@ class ExpenseLineSalesTaxCode(BaseModel): class ExpenseLine(BaseModel): id: str - """ - The QuickBooks-assigned identifier for this transaction line, unique across all - transaction lines. + """The unique identifier assigned by QuickBooks for this expense line. + + This ID is unique among all transaction line types. """ account: Optional[ExpenseLineAccount] = None + """ + For expense lines, this typically refers to the expense account being debited + (increased). The corresponding credit would usually be to a liability account + (e.g., Accounts Payable) or an asset account (e.g., Cash), depending on the + transaction type. + """ amount: Optional[str] = None + """The monetary amount for this expense line, represented as a decimal string.""" billable_status: Optional[Literal["billable", "has_been_billed", "not_billable"]] = FieldInfo( alias="billableStatus", default=None ) - """The billable status of this line item.""" + """The billing status of this expense line.""" class_: Optional[ExpenseLineClass] = FieldInfo(alias="class", default=None) - """The class associated with this object. - - Classes can be used to categorize objects or transactions by department, - location, or other meaningful segments. + """ + The expense line's class, used for categorization (e.g., by department, + location, or type of work). """ customer: Optional[ExpenseLineCustomer] = None + """ + For expense lines, if `account` refers to an Accounts Payable (A/P) account, + `customer` refers to the expense's vendor (not the customer). If `account` + refers to any other type of account, `customer` refers to the expense's customer + (not the vendor). + """ custom_fields: List[ExpenseLineCustomField] = FieldInfo(alias="customFields") - """The custom fields added by the user to QuickBooks object as a data extension. - - These fields are not part of the standard QuickBooks object. + """ + The custom fields added by the user to this expense line object as a data + extension. These fields are not part of the standard QuickBooks object. """ memo: Optional[str] = None + """A memo or note for this expense line, as entered by the user.""" sales_representative: Optional[ExpenseLineSalesRepresentative] = FieldInfo( alias="salesRepresentative", default=None ) - """The expense's sales representative.""" + """The expense line's sales representative. - sales_tax_code: Optional[ExpenseLineSalesTaxCode] = FieldInfo(alias="salesTaxCode", default=None) - """The sales tax code, indicating whether related items are taxable or non-taxable. + Sales representatives can be employees, vendors, or other names in QuickBooks. + """ - Two default codes are 'Non' (non-taxable) and 'Tax' (taxable). If QuickBooks is - not set up to charge sales tax, it will assign the default non-taxable code to - all sales. + sales_tax_code: Optional[ExpenseLineSalesTaxCode] = FieldInfo(alias="salesTaxCode", default=None) + """ + The sales tax code associated with this expense line, indicating whether it is + taxable or non-taxable. Default codes include 'NON' (non-taxable) and 'TAX' + (taxable). If QuickBooks is not set up to charge sales tax, it will assign the + default non-taxable code to all sales. """ diff --git a/src/conductor/types/qbd/qbd_invoice.py b/src/conductor/types/qbd/qbd_invoice.py index e21ce968..60d924b7 100644 --- a/src/conductor/types/qbd/qbd_invoice.py +++ b/src/conductor/types/qbd/qbd_invoice.py @@ -1,6 +1,7 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. from typing import List, Optional +from datetime import date from typing_extensions import Literal from pydantic import Field as FieldInfo @@ -9,7 +10,7 @@ __all__ = [ "QbdInvoice", - "AccountsPayableAccount", + "AccountsReceivableAccount", "BillingAddress", "Class", "Currency", @@ -17,6 +18,7 @@ "CustomerMessage", "CustomerSalesTaxCode", "CustomField", + "DocumentTemplate", "InvoiceLineGroup", "InvoiceLineGroupCustomField", "InvoiceLineGroupInvoiceLine", @@ -40,12 +42,11 @@ "SalesRepresentative", "ShippingAddress", "ShippingMethod", - "Template", "Terms", ] -class AccountsPayableAccount(BaseModel): +class AccountsReceivableAccount(BaseModel): id: Optional[str] = None """The QuickBooks-assigned unique identifier for this object. @@ -202,6 +203,23 @@ class CustomField(BaseModel): value: str +class DocumentTemplate(BaseModel): + id: Optional[str] = None + """The QuickBooks-assigned unique identifier for this object. + + This ID is not unique across _all_ object types in QuickBooks, but it is unique + for each particular object type. This ID is automatically generated when the + object is created in QuickBooks. + """ + + full_name: Optional[str] = FieldInfo(alias="fullName", default=None) + """ + The hierarchical, case-insensitive name of this object, including its full path + in the QuickBooks list structure. Names are separated by colons (e.g., + "Parent:Child:Grandchild"). + """ + + class InvoiceLineGroupCustomField(BaseModel): name: str @@ -762,7 +780,7 @@ class ShippingMethod(BaseModel): """ -class Template(BaseModel): +class Terms(BaseModel): id: Optional[str] = None """The QuickBooks-assigned unique identifier for this object. @@ -779,142 +797,275 @@ class Template(BaseModel): """ -class Terms(BaseModel): - id: Optional[str] = None - """The QuickBooks-assigned unique identifier for this object. +class QbdInvoice(BaseModel): + id: str + """The unique identifier assigned by QuickBooks for this invoice. - This ID is not unique across _all_ object types in QuickBooks, but it is unique - for each particular object type. This ID is automatically generated when the - object is created in QuickBooks. + This ID is unique among all transaction types. """ - full_name: Optional[str] = FieldInfo(alias="fullName", default=None) + accounts_receivable_account: Optional[AccountsReceivableAccount] = FieldInfo( + alias="accountsReceivableAccount", default=None + ) """ - The hierarchical, case-insensitive name of this object, including its full path - in the QuickBooks list structure. Names are separated by colons (e.g., - "Parent:Child:Grandchild"). + The Accounts Receivable account to which this invoice is assigned, used to track + the amount owed. If not specified, the default Accounts Receivable account in + QuickBooks is used. If this invoice is linked to other transactions, make sure + this `accountsReceivableAccount` matches the `accountsReceivableAccount` used in + the other transactions. """ + applied_amount: Optional[str] = FieldInfo(alias="appliedAmount", default=None) + """The amount of credit or payment already applied to this invoice. -class QbdInvoice(BaseModel): - id: str - """ - The QuickBooks-assigned identifier for this invoice, unique across all invoices. + This could include customer deposits, payments, or credits. Represented as a + decimal string. """ - accounts_payable_account: Optional[AccountsPayableAccount] = FieldInfo(alias="accountsPayableAccount", default=None) - - applied_amount: Optional[str] = FieldInfo(alias="appliedAmount", default=None) - balance_remaining: Optional[str] = FieldInfo(alias="balanceRemaining", default=None) + """The outstanding balance on this invoice after applying any credits or payments. + + Calculated as (`subtotal` + `salesTaxTotal`) - `appliedAmount`. Represented as a + decimal string. + """ balance_remaining_in_home_currency: Optional[str] = FieldInfo(alias="balanceRemainingInHomeCurrency", default=None) + """ + The outstanding balance of this invoice converted to the home currency of the + QuickBooks company file. Represented as a decimal string. + """ billing_address: Optional[BillingAddress] = FieldInfo(alias="billingAddress", default=None) + """The invoice's billing address.""" class_: Optional[Class] = FieldInfo(alias="class", default=None) + """ + The invoice's class, used for categorization (e.g., by department, location, or + type of work). + """ created_at: str = FieldInfo(alias="createdAt") """ - The date and time when the object was created, in ISO 8601 format + The date and time when this invoice was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone in QuickBooks. """ currency: Optional[Currency] = None + """The invoice's currency. + + For built-in currencies, the name and code are standard international values. + For user-defined currencies, all values are editable. + """ customer: Customer + """The customer or customer job that this invoice is for.""" customer_message: Optional[CustomerMessage] = FieldInfo(alias="customerMessage", default=None) + """The message to display to the customer on the invoice.""" customer_sales_tax_code: Optional[CustomerSalesTaxCode] = FieldInfo(alias="customerSalesTaxCode", default=None) + """ + The sales-tax code for items sold to the `customer` of this invoice, indicating + whether items sold to this customer are taxable or non-taxable. + """ custom_fields: List[CustomField] = FieldInfo(alias="customFields") - """The custom fields added by the user to QuickBooks object as a data extension. + """The custom fields added by the user to this invoice object as a data extension. These fields are not part of the standard QuickBooks object. """ - due_date: Optional[str] = FieldInfo(alias="dueDate", default=None) + document_template: Optional[DocumentTemplate] = FieldInfo(alias="documentTemplate", default=None) + """ + The predefined template in QuickBooks that determines the layout and formatting + for this invoice when printed or displayed. + """ + + due_date: Optional[date] = FieldInfo(alias="dueDate", default=None) + """The date by which this invoice must be paid, in ISO 8601 format (YYYY-MM-DD).""" exchange_rate: Optional[float] = FieldInfo(alias="exchangeRate", default=None) + """ + The market exchange rate between this invoice's currency and the home currency + in QuickBooks at the time of this transaction. Represented as a decimal value + (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency). + """ external_id: Optional[str] = FieldInfo(alias="externalId", default=None) """ - An arbitrary globally unique identifier (GUID) the developer can provide to - track this object in their own system. This value must be formatted as a GUID; - otherwise, QuickBooks will return an error. + A developer-assigned globally unique identifier (GUID) for tracking this object + in external systems. Must be formatted as a valid GUID; otherwise, QuickBooks + will return an error. """ invoice_line_groups: List[InvoiceLineGroup] = FieldInfo(alias="invoiceLineGroups") + """The invoice's line item groups. + + Each group represents a predefined set of related items, enabling organized + presentation of multiple items within the invoice. + """ invoice_lines: List[InvoiceLine] = FieldInfo(alias="invoiceLines") + """The invoice's line items, each representing a single product or service sold.""" is_finance_charge: Optional[bool] = FieldInfo(alias="isFinanceCharge", default=None) + """Whether this invoice includes a finance charge.""" is_paid: Optional[bool] = FieldInfo(alias="isPaid", default=None) + """Indicates whether this invoice has been paid in full. + + If `true`, `openAmount` will be 0. + """ is_pending: Optional[bool] = FieldInfo(alias="isPending", default=None) + """Indicates whether this invoice is pending approval or completion. - is_tax_included: Optional[bool] = FieldInfo(alias="isTaxIncluded", default=None) + If `true`, the invoice is in a draft state and has not been finalized. + """ is_to_be_emailed: Optional[bool] = FieldInfo(alias="isToBeEmailed", default=None) + """Indicates whether this invoice is queued to be emailed to the customer. + + If set to `true`, the invoice will appear in the list of documents to be emailed + in QuickBooks Desktop. + """ is_to_be_printed: Optional[bool] = FieldInfo(alias="isToBePrinted", default=None) + """Indicates whether this invoice is queued for printing. + + If set to `true`, the invoice will appear in the list of documents to be printed + in QuickBooks Desktop. + """ item_sales_tax: Optional[ItemSalesTax] = FieldInfo(alias="itemSalesTax", default=None) + """The sales tax item for items associated with this invoice. + + A sales-tax item represents a single sales tax that is collected at a specified + rate and paid to a single agency. For complex tax situations, a zero percent tax + item named "Tax Calculated On Invoice" may be used, indicating that taxes are + applied manually on the invoice. + """ linked_transactions: List[LinkedTransaction] = FieldInfo(alias="linkedTransactions") + """ + The invoice's linked transactions, such as payments applied, credits used, or + linked purchase orders. + """ memo: Optional[str] = None + """A memo or note for this invoice, as entered by the user. + + This appears in reports, but not on the invoice. + """ object_type: Literal["qbd_invoice"] = FieldInfo(alias="objectType") """The type of object. This value is always `"qbd_invoice"`.""" - other_field: Optional[str] = FieldInfo(alias="otherField", default=None) + other_custom_field: Optional[str] = FieldInfo(alias="otherCustomField", default=None) + """A custom field for additional information associated with this invoice. + + Developers often use this field for tracking information that is not part of the + standard QuickBooks object model. The fields can be written to and modified, but + its visibility to the user in the QuickBooks UI depends on the transaction + template settings. Note that each of this invoice's line items have similar + fields available, `otherCustomField1` and `otherCustomField2`, but this field + specific to the invoice as a whole. + """ purchase_order_number: Optional[str] = FieldInfo(alias="purchaseOrderNumber", default=None) + """The customer's Purchase Order (PO) number associated with this invoice. + + This field is often used to cross-reference the invoice with the customer's + purchasing system. + """ ref_number: Optional[str] = FieldInfo(alias="refNumber", default=None) + """ + The user-defined reference number for this invoice, which can be used to + identify the transaction in QuickBooks. This value is not required to be unique + and can be arbitrarily changed by the QuickBooks user. + """ sales_representative: Optional[SalesRepresentative] = FieldInfo(alias="salesRepresentative", default=None) - """The invoice's sales representative.""" + """The invoice's sales representative. + + Sales representatives can be employees, vendors, or other names in QuickBooks. + """ sales_tax_percentage: Optional[str] = FieldInfo(alias="salesTaxPercentage", default=None) + """ + The sales tax percentage applied to this invoice, represented as a decimal + string. + """ sales_tax_total: Optional[str] = FieldInfo(alias="salesTaxTotal", default=None) + """ + The total amount of sales tax charged for this invoice, represented as a decimal + string. + """ shipping_address: Optional[ShippingAddress] = FieldInfo(alias="shippingAddress", default=None) + """The invoice's shipping address.""" - shipping_date: Optional[str] = FieldInfo(alias="shippingDate", default=None) + shipping_date: Optional[date] = FieldInfo(alias="shippingDate", default=None) + """ + The date when the products or services for this invoice were shipped or are + expected to be shipped, in ISO 8601 format (YYYY-MM-DD). + """ shipping_method: Optional[ShippingMethod] = FieldInfo(alias="shippingMethod", default=None) + """ + The shipping method used for this invoice, such as standard mail or overnight + delivery. + """ shipping_origin: Optional[str] = FieldInfo(alias="shippingOrigin", default=None) + """ + The point of origin from where the product associated with this invoice is + shipped. This is the point at which ownership and liability for goods transfer + from seller to buyer. Internally, QuickBooks uses the term "FOB" for this field, + which stands for "freight on board." This field is informational and has no + accounting implications. + """ subtotal: Optional[str] = None + """ + The subtotal of this invoice, which is the sum of all line items before taxes + and discounts are applied, represented as a decimal string. + """ suggested_discount_amount: Optional[str] = FieldInfo(alias="suggestedDiscountAmount", default=None) + """ + The suggested discount amount for this invoice, represented as a decimal string. + """ - suggested_discount_date: Optional[str] = FieldInfo(alias="suggestedDiscountDate", default=None) - - template: Optional[Template] = None + suggested_discount_date: Optional[date] = FieldInfo(alias="suggestedDiscountDate", default=None) + """ + The date when the `suggestedDiscountAmount` for this invoice would apply, in ISO + 8601 format (YYYY-MM-DD). + """ terms: Optional[Terms] = None + """ + The invoice's payment terms, defining when payment is due and any applicable + discounts. + """ - transaction_date: str = FieldInfo(alias="transactionDate") + transaction_date: date = FieldInfo(alias="transactionDate") + """The date of this invoice, in ISO 8601 format (YYYY-MM-DD).""" updated_at: str = FieldInfo(alias="updatedAt") """ - The date and time when the object was last updated, in ISO 8601 format + The date and time when this invoice was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone in QuickBooks. """ version: str - """The current version identifier of the object that changes with each - modification. - - Provide this value when updating the object to verify you are working with the - latest version; mismatched values will fail. + """ + The current version identifier for this invoice, which changes each time the + object is modified. When updating this object, you must provide the most recent + `version` to ensure you're working with the latest data; otherwise, the update + will fail. This value is opaque and should not be interpreted. """ diff --git a/src/conductor/types/qbd/service_item.py b/src/conductor/types/qbd/service_item.py index d7442ba2..facfcbf0 100644 --- a/src/conductor/types/qbd/service_item.py +++ b/src/conductor/types/qbd/service_item.py @@ -307,7 +307,7 @@ class ServiceItem(BaseModel): The fully-qualified unique name for this service item, formed by combining the names of its parent objects with its own `name`, separated by colons. For example, if a service item is under 'Services:Consulting' and has the `name` - 'Web Design', its `fullName` would be 'Services:Consulting:Web Design'. Unlike + 'Web-Design', its `fullName` would be 'Services:Consulting:Web-Design'. Unlike `name`, `fullName` is guaranteed to be unique across all service item objects. """ @@ -323,8 +323,8 @@ class ServiceItem(BaseModel): Not guaranteed to be unique because it does not include the names of its parent objects like `fullName` does. For example, two objects could both have the - `name` "Web Design", but they could have unique `fullName` values, such as - "Consulting:Web Design" and "Contracting:Web Design". + `name` "Web-Design", but they could have unique `fullName` values, such as + "Consulting:Web-Design" and "Contracting:Web-Design". """ object_type: Literal["qbd_service_item"] = FieldInfo(alias="objectType") @@ -333,9 +333,10 @@ class ServiceItem(BaseModel): parent: Optional[Parent] = None """The parent service item one level above this one in the hierarchy. - For example, if this service item has a `fullName` of "Services:Consulting:Web - Design", its parent has a `fullName` of "Services:Consulting". If this service - item is at the top level, `parent` will be `null`. + For example, if this service item has a `fullName` of + "Services:Consulting:Web-Design", its parent has a `fullName` of + "Services:Consulting". If this service item is at the top level, `parent` will + be `null`. """ sales_and_purchase_details: Optional[SalesAndPurchaseDetails] = FieldInfo( @@ -370,7 +371,7 @@ class ServiceItem(BaseModel): A top-level service item has a `sublevel` of 0; each subsequent sublevel increases this number by 1. For example, a service item with a `fullName` of - "Services:Consulting:Web Design" would have a `sublevel` of 2. + "Services:Consulting:Web-Design" would have a `sublevel` of 2. """ unit_of_measure_set: Optional[UnitOfMeasureSet] = FieldInfo(alias="unitOfMeasureSet", default=None)