# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module OpenApiSDK module Shared class UnifiedAccountingPurchaseorderInput < ::OpenApiSDK::Utils::FieldAugmented extend T::Sig # The UUID of the associated accounting period field :accounting_period_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('accounting_period_id') } } # The UUID of the company field :company_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('company_id') } } # The currency of the purchase order field :currency, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } } # The UUID of the customer field :customer, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customer') } } # The UUID of the delivery address field :delivery_address, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('delivery_address') } } # The delivery date for the purchase order field :delivery_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('delivery_date'), 'decoder': Utils.datetime_from_iso_format(true) } } # The exchange rate applied to the purchase order field :exchange_rate, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('exchange_rate') } } # The custom field mappings of the object between the remote 3rd party & Panora field :field_mappings, T.nilable(::OpenApiSDK::Shared::UnifiedAccountingPurchaseorderInputFieldMappings), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('field_mappings') } } # The issue date of the purchase order field :issue_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('issue_date'), 'decoder': Utils.datetime_from_iso_format(true) } } # The line items associated with this purchase order field :line_items, T.nilable(T::Array[::OpenApiSDK::Shared::LineItem]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('line_items') } } # A memo or note for the purchase order field :memo, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('memo') } } # The purchase order number field :purchase_order_number, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('purchase_order_number') } } # The status of the purchase order field :status, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status') } } # The total amount of the purchase order in cents field :total_amount, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('total_amount') } } # The UUIDs of the tracking categories associated with the purchase order field :tracking_categories, T.nilable(T::Array[::String]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tracking_categories') } } # The UUID of the vendor field :vendor, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('vendor') } } sig { params(accounting_period_id: T.nilable(::String), company_id: T.nilable(::String), currency: T.nilable(::String), customer: T.nilable(::String), delivery_address: T.nilable(::String), delivery_date: T.nilable(::DateTime), exchange_rate: T.nilable(::String), field_mappings: T.nilable(::OpenApiSDK::Shared::UnifiedAccountingPurchaseorderInputFieldMappings), issue_date: T.nilable(::DateTime), line_items: T.nilable(T::Array[::OpenApiSDK::Shared::LineItem]), memo: T.nilable(::String), purchase_order_number: T.nilable(::String), status: T.nilable(::String), total_amount: T.nilable(::Float), tracking_categories: T.nilable(T::Array[::String]), vendor: T.nilable(::String)).void } def initialize(accounting_period_id: nil, company_id: nil, currency: nil, customer: nil, delivery_address: nil, delivery_date: nil, exchange_rate: nil, field_mappings: nil, issue_date: nil, line_items: nil, memo: nil, purchase_order_number: nil, status: nil, total_amount: nil, tracking_categories: nil, vendor: nil) @accounting_period_id = accounting_period_id @company_id = company_id @currency = currency @customer = customer @delivery_address = delivery_address @delivery_date = delivery_date @exchange_rate = exchange_rate @field_mappings = field_mappings @issue_date = issue_date @line_items = line_items @memo = memo @purchase_order_number = purchase_order_number @status = status @total_amount = total_amount @tracking_categories = tracking_categories @vendor = vendor end end end end