Sha256: 1b758a61d4f4a710de4caefbc4a4434eb80b82728c96c6d890f415169a36e8f3

Contents?: true

Size: 1.21 KB

Versions: 4

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

require_relative '../bill_line_item/deserializer'
require_relative '../currency/deserializer'

module LedgerSync
  module Ledgers
    module QuickBooksOnline
      class Bill
        class Deserializer < QuickBooksOnline::Deserializer
          id

          references_one :currency,
                         hash_attribute: :CurrencyRef,
                         deserializer: Currency::Deserializer

          date :due_date,
               hash_attribute: 'DueDate'

          attribute :memo,
                    hash_attribute: 'PrivateNote'

          date :transaction_date,
               hash_attribute: 'TxnDate'

          attribute 'vendor.ledger_id',
                    hash_attribute: 'VendorRef.value'

          attribute 'account.ledger_id',
                    hash_attribute: 'APAccountRef.value'

          attribute 'department.ledger_id',
                    hash_attribute: 'DepartmentRef.value'

          attribute :reference_number,
                    hash_attribute: 'DocNumber'

          references_many :line_items,
                          hash_attribute: 'Line',
                          deserializer: BillLineItem::Deserializer
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ledger_sync-1.4.4 lib/ledger_sync/ledgers/quickbooks_online/bill/deserializer.rb
ledger_sync-1.4.2 lib/ledger_sync/ledgers/quickbooks_online/bill/deserializer.rb
ledger_sync-1.4.1 lib/ledger_sync/ledgers/quickbooks_online/bill/deserializer.rb
ledger_sync-1.4.0 lib/ledger_sync/ledgers/quickbooks_online/bill/deserializer.rb