@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Accounting API
@base https://unify.apideck.com
@version 10.24.14
@auth ApiKey Authorization in header
@common_fields {x-apideck-consumer-id: str, x-apideck-app-id: str, raw: bool=false, x-apideck-service-id: str}
@endpoints 143
@hint download_for_search
@toc accounting(143)

@endpoint GET /accounting/tax-rates
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/tax-rates
@optional {x-apideck-company-id: str, id: str, display_id: str, name: str, code: str, description: str, effective_tax_rate: num, country: str, total_tax_rate: num, tax_payable_account_id: str, tax_remitted_account_id: str, components: [any], type: str, report_tax_type: str, original_tax_rate_id: str, status: str(active/inactive/archived), custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}], subsidiaries: [any], custom_fields: [map{id: str, name: str, description: str, value: any}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/tax-rates/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str?, display_id: str?, name: str, code: str?, description: str?, effective_tax_rate: num?, country: str?, total_tax_rate: num?, tax_payable_account_id: str?, tax_remitted_account_id: str?, components: [any]?, type: str?, report_tax_type: str?, original_tax_rate_id: str?, status: str?, custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map], subsidiaries: [any], custom_fields: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/tax-rates/{id}
@required {id: str}
@optional {x-apideck-company-id: str, id: str, display_id: str, name: str, code: str, description: str, effective_tax_rate: num, country: str, total_tax_rate: num, tax_payable_account_id: str, tax_remitted_account_id: str, components: [any], type: str, report_tax_type: str, original_tax_rate_id: str, status: str(active/inactive/archived), custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}], subsidiaries: [any], custom_fields: [map{id: str, name: str, description: str, value: any}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/tax-rates/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bills
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/bills
@optional {id: str, downstream_id: str, display_id: str, bill_number: str, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, company_id: str, location_id: str, department_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, bill_date: str(date), due_date: str(date), paid_date: str(date), po_number: str, reference: str, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, location_id: str, department_id: str, subsidiary_id: str, category_id: str, shipping_id: str, memo: str, prepaid: bool, tax_applicable_on: str, tax_recoverability: str, tax_method: str, retention_amount: num, payment_amount: num, item: map, tax_rate: map, ledger_account: map, purchase_order: map, tracking_categories: [map], customer: map, rebilling: map, row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time), worktags: [map]}], terms: str, terms_id: str, balance: num, deposit: num, sub_total: num, total_tax: num, total: num, tax_code: str, notes: str, status: str(draft/submitted/authorised/partially_paid/paid/void/credit/deleted/posted), ledger_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, payment_method: str, channel: str, language: str, accounting_by_row: bool, bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, discount_percentage: num, template_id: str, approved_by: str, amortization_type: str(manual/receipt/schedule/other), tax_method: str, document_received: bool, source_document_url: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), row_version: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}], accounting_period: str, attachments: [map{name: str, mime_type: str, is_compressed: bool, encoding: str, content: str, notes: str}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bills/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, display_id: str?, bill_number: str?, supplier: map?{id: str, display_id: str?, display_name: str?, company_name: str?, address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}}, company_id: str?, location_id: str?, department_id: str?, currency: str?, currency_rate: num?, tax_inclusive: bool?, bill_date: str(date)?, due_date: str(date)?, paid_date: str(date)?, po_number: str?, reference: str?, line_items: [map], terms: str?, terms_id: str?, balance: num?, deposit: num?, sub_total: num?, total_tax: num?, total: num?, tax_code: str?, notes: str?, status: str?, ledger_account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, payment_method: str?, channel: str?, language: str?, accounting_by_row: bool?, bank_account: map{bank_name: str?, account_number: str?, account_name: str?, account_type: str?, iban: str?, bic: str?, routing_number: str?, bsb_number: str?, branch_identifier: str?, bank_code: str?, currency: str?, country: str?}, discount_percentage: num?, template_id: str?, approved_by: str?, amortization_type: str?, tax_method: str?, document_received: bool?, source_document_url: str?, tracking_categories: [map]?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, row_version: str?, custom_fields: [map], custom_mappings: map?, pass_through: [map], accounting_period: str?, attachments: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/bills/{id}
@required {id: str}
@optional {id: str, downstream_id: str, display_id: str, bill_number: str, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, company_id: str, location_id: str, department_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, bill_date: str(date), due_date: str(date), paid_date: str(date), po_number: str, reference: str, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, location_id: str, department_id: str, subsidiary_id: str, category_id: str, shipping_id: str, memo: str, prepaid: bool, tax_applicable_on: str, tax_recoverability: str, tax_method: str, retention_amount: num, payment_amount: num, item: map, tax_rate: map, ledger_account: map, purchase_order: map, tracking_categories: [map], customer: map, rebilling: map, row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time), worktags: [map]}], terms: str, terms_id: str, balance: num, deposit: num, sub_total: num, total_tax: num, total: num, tax_code: str, notes: str, status: str(draft/submitted/authorised/partially_paid/paid/void/credit/deleted/posted), ledger_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, payment_method: str, channel: str, language: str, accounting_by_row: bool, bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, discount_percentage: num, template_id: str, approved_by: str, amortization_type: str(manual/receipt/schedule/other), tax_method: str, document_received: bool, source_document_url: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), row_version: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}], accounting_period: str, attachments: [map{name: str, mime_type: str, is_compressed: bool, encoding: str, content: str, notes: str}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/bills/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/invoices
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/invoices
@optional {x-apideck-company-id: str, id: str, downstream_id: str, display_id: str, type: str(standard/credit/service/product/supplier/other), number: str, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, company_id: str, location_id: str, department_id: str, invoice_date: str(date), due_date: str(date), terms: str, terms_id: str, po_number: str, reference: str, status: str(draft/submitted/authorised/partially_paid/paid/unpaid/void/credit/deleted/posted), invoice_sent: bool, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, sub_total: num, total_tax: num, tax_code: str, discount_percentage: num, discount_amount: num, total: num, balance: num, deposit: num, customer_memo: str, tracking_category: map{id: str, name: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, subsidiary_id: str, shipping_id: str, memo: str, prepaid: bool, item: map, tax_applicable_on: str, tax_recoverability: str, tax_method: str, worktags: [map], tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, template_id: str, source_document_url: str, payment_allocations: [map{id: str, allocated_amount: num, date: str(date-time)}], payment_method: str, channel: str, language: str, accounting_by_row: bool, bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, ledger_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/invoices/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, display_id: str?, type: str?, number: str?, customer: map?{id: str, display_id: str?, display_name: str?, name: str, company_name: str?, email: str}, company_id: str?, location_id: str?, department_id: str?, invoice_date: str(date)?, due_date: str(date)?, terms: str?, terms_id: str?, po_number: str?, reference: str?, status: str?, invoice_sent: bool, currency: str?, currency_rate: num?, tax_inclusive: bool?, sub_total: num?, total_tax: num?, tax_code: str?, discount_percentage: num?, discount_amount: num?, total: num?, balance: num?, deposit: num?, customer_memo: str?, tracking_category: map?{id: str, name: str?}, tracking_categories: [map]?, line_items: [map], billing_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, shipping_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, template_id: str?, source_document_url: str?, payment_allocations: [map]?, payment_method: str?, channel: str?, language: str?, accounting_by_row: bool?, bank_account: map{bank_name: str?, account_number: str?, account_name: str?, account_type: str?, iban: str?, bic: str?, routing_number: str?, bsb_number: str?, branch_identifier: str?, bank_code: str?, currency: str?, country: str?}, ledger_account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, custom_mappings: map?, custom_fields: [map], row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/invoices/{id}
@required {id: str}
@optional {id: str, downstream_id: str, display_id: str, type: str(standard/credit/service/product/supplier/other), number: str, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, company_id: str, location_id: str, department_id: str, invoice_date: str(date), due_date: str(date), terms: str, terms_id: str, po_number: str, reference: str, status: str(draft/submitted/authorised/partially_paid/paid/unpaid/void/credit/deleted/posted), invoice_sent: bool, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, sub_total: num, total_tax: num, tax_code: str, discount_percentage: num, discount_amount: num, total: num, balance: num, deposit: num, customer_memo: str, tracking_category: map{id: str, name: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, subsidiary_id: str, shipping_id: str, memo: str, prepaid: bool, item: map, tax_applicable_on: str, tax_recoverability: str, tax_method: str, worktags: [map], tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, template_id: str, source_document_url: str, payment_allocations: [map{id: str, allocated_amount: num, date: str(date-time)}], payment_method: str, channel: str, language: str, accounting_by_row: bool, bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, ledger_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/invoices/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/ledger-accounts
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/ledger-accounts
@optional {x-apideck-company-id: str, id: str, display_id: str, nominal_code: str, code: str, classification: str(asset/equity/expense/liability/revenue/income/other_income/other_expense/costs_of_sales/other), type: str(accounts_payable/accounts_receivable/balancesheet/bank/costs_of_sales/credit_card/current_asset/current_liability/equity/expense/fixed_asset/non_current_asset/non_current_liability/other_asset/other_expense/other_income/other_liability/revenue/sales/other), sub_type: str, name: str, fully_qualified_name: str, description: str, opening_balance: num, current_balance: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), tax_type: str, tax_rate: map{id: str, code: str, name: str, rate: num}, level: num, active: bool, status: str(active/inactive/archived), header: bool, bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, categories: [map{id: str, name: str}], parent_account: map{id: str, name: str, display_id: str}, sub_account: bool, sub_accounts: [any], last_reconciliation_date: str(date), subsidiaries: [any], custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/ledger-accounts/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, display_id: str, nominal_code: str?, code: str?, classification: str?, type: str, sub_type: str?, name: str?, fully_qualified_name: str?, description: str?, opening_balance: num?, current_balance: num?, currency: str?, tax_type: str?, tax_rate: map{id: str?, code: str?, name: str?, rate: num?}, level: num?, active: bool?, status: str?, header: bool?, bank_account: map{bank_name: str?, account_number: str?, account_name: str?, account_type: str?, iban: str?, bic: str?, routing_number: str?, bsb_number: str?, branch_identifier: str?, bank_code: str?, currency: str?, country: str?}, categories: [map], parent_account: map{id: str, name: str, display_id: str}, sub_account: bool?, sub_accounts: [any], last_reconciliation_date: str(date)?, subsidiaries: [any], custom_mappings: map?, custom_fields: [map], row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/ledger-accounts/{id}
@required {id: str}
@optional {x-apideck-company-id: str, id: str, display_id: str, nominal_code: str, code: str, classification: str(asset/equity/expense/liability/revenue/income/other_income/other_expense/costs_of_sales/other), type: str(accounts_payable/accounts_receivable/balancesheet/bank/costs_of_sales/credit_card/current_asset/current_liability/equity/expense/fixed_asset/non_current_asset/non_current_liability/other_asset/other_expense/other_income/other_liability/revenue/sales/other), sub_type: str, name: str, fully_qualified_name: str, description: str, opening_balance: num, current_balance: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), tax_type: str, tax_rate: map{id: str, code: str, name: str, rate: num}, level: num, active: bool, status: str(active/inactive/archived), header: bool, bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, categories: [map{id: str, name: str}], parent_account: map{id: str, name: str, display_id: str}, sub_account: bool, sub_accounts: [any], last_reconciliation_date: str(date), subsidiaries: [any], custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/ledger-accounts/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/invoice-items
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/invoice-items
@optional {x-apideck-company-id: str, id: str, name: str, description: str, display_id: str, code: str, sold: bool, purchased: bool, tracked: bool, taxable: bool, inventory_date: str(date), type: str(inventory/non_inventory/service/description/other), sales_details: map{unit_price: num, unit_of_measure: str, tax_inclusive: bool, tax_rate: map}, purchase_details: map{unit_price: num, unit_of_measure: str, tax_inclusive: bool, tax_rate: map}, quantity: num, unit_price: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), asset_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, income_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, expense_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, tracking_category: map{id: str, name: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], active: bool, department_id: str, location_id: str, subsidiary_id: str, category_id: str, tax_schedule_id: str, custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/invoice-items/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, name: str?, description: str?, display_id: str?, code: str?, sold: bool?, purchased: bool?, tracked: bool?, taxable: bool?, inventory_date: str(date)?, type: str?, sales_details: map{unit_price: num?, unit_of_measure: str?, tax_inclusive: bool?, tax_rate: map{id: str?, code: str?, name: str?, rate: num?}}, purchase_details: map{unit_price: num?, unit_of_measure: str?, tax_inclusive: bool?, tax_rate: map{id: str?, code: str?, name: str?, rate: num?}}, quantity: num?, unit_price: num?, currency: str?, asset_account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, income_account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, expense_account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, tracking_category: map?{id: str, name: str?}, tracking_categories: [map]?, active: bool?, department_id: str?, location_id: str?, subsidiary_id: str?, category_id: str?, tax_schedule_id: str?, custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/invoice-items/{id}
@required {id: str}
@optional {id: str, name: str, description: str, display_id: str, code: str, sold: bool, purchased: bool, tracked: bool, taxable: bool, inventory_date: str(date), type: str(inventory/non_inventory/service/description/other), sales_details: map{unit_price: num, unit_of_measure: str, tax_inclusive: bool, tax_rate: map}, purchase_details: map{unit_price: num, unit_of_measure: str, tax_inclusive: bool, tax_rate: map}, quantity: num, unit_price: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), asset_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, income_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, expense_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, tracking_category: map{id: str, name: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], active: bool, department_id: str, location_id: str, subsidiary_id: str, category_id: str, tax_schedule_id: str, custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/invoice-items/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/credit-notes
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/credit-notes
@required {id: str, total_amount: num}
@optional {x-apideck-company-id: str, number: str, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, company_id: str, location_id: str, department_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, sub_total: num, total_tax: num, tax_code: str, balance: num, remaining_credit: num, status: str(draft/authorised/posted/partially_paid/paid/voided/deleted), reference: str, date_issued: str(date-time), date_paid: str(date-time), type: str(accounts_receivable_credit/accounts_payable_credit), account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, subsidiary_id: str, shipping_id: str, memo: str, prepaid: bool, item: map, tax_applicable_on: str, tax_recoverability: str, tax_method: str, worktags: [map], tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], allocations: [map{id: str, type: str, code: str, amount: num, allocation_id: str}], note: str, terms: str, terms_id: str, billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/credit-notes/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, number: str?, customer: map?{id: str, display_id: str?, display_name: str?, name: str, company_name: str?, email: str}, company_id: str?, location_id: str?, department_id: str?, currency: str?, currency_rate: num?, tax_inclusive: bool?, sub_total: num?, total_amount: num, total_tax: num?, tax_code: str?, balance: num?, remaining_credit: num?, status: str, reference: str?, date_issued: str(date-time), date_paid: str(date-time)?, type: str, account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, line_items: [map], allocations: [map], note: str?, terms: str?, terms_id: str?, billing_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, shipping_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, tracking_categories: [map]?, custom_mappings: map?, custom_fields: [map], row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/credit-notes/{id}
@required {id: str, id: str, total_amount: num}
@optional {number: str, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, company_id: str, location_id: str, department_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, sub_total: num, total_tax: num, tax_code: str, balance: num, remaining_credit: num, status: str(draft/authorised/posted/partially_paid/paid/voided/deleted), reference: str, date_issued: str(date-time), date_paid: str(date-time), type: str(accounts_receivable_credit/accounts_payable_credit), account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, subsidiary_id: str, shipping_id: str, memo: str, prepaid: bool, item: map, tax_applicable_on: str, tax_recoverability: str, tax_method: str, worktags: [map], tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], allocations: [map{id: str, type: str, code: str, amount: num, allocation_id: str}], note: str, terms: str, terms_id: str, billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/credit-notes/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/customers
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/customers
@required {id: str}
@optional {x-apideck-company-id: str, downstream_id: str, display_id: str, display_name: str, company_name: str, company_id: str, customer_category: str, title: str, first_name: str, middle_name: str, last_name: str, suffix: str, individual: bool, project: bool, addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], phone_numbers: [map{id: str, country_code: str, area_code: str, number!: str, extension: str, type: str}], emails: [map{id: str, email!: str(email), type: str}], websites: [map{id: str, url!: str, type: str}], bank_accounts: [map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}], notes: str, tax_rate: map{id: str, code: str, name: str, rate: num}, tax_number: str, taxable: bool, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, parent: map{id!: str, name: str}, status: str(active/inactive/archived/gdpr-erasure-request/unknown), payment_method: str, terms: str, terms_id: str, channel: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), row_version: str, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/customers/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, display_id: str?, display_name: str?, company_name: str?, company_id: str?, customer_category: str?, title: str?, first_name: str?, middle_name: str?, last_name: str?, suffix: str?, individual: bool?, project: bool?, addresses: [map], phone_numbers: [map], emails: [map], websites: [map], bank_accounts: [map], notes: str?, tax_rate: map{id: str?, code: str?, name: str?, rate: num?}, tax_number: str?, taxable: bool?, currency: str?, account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, parent: map?{id: str, name: str}, status: str?, payment_method: str?, terms: str?, terms_id: str?, channel: str?, custom_fields: [map], custom_mappings: map?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, row_version: str?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/customers/{id}
@required {id: str, id: str}
@optional {downstream_id: str, display_id: str, display_name: str, company_name: str, company_id: str, customer_category: str, title: str, first_name: str, middle_name: str, last_name: str, suffix: str, individual: bool, project: bool, addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], phone_numbers: [map{id: str, country_code: str, area_code: str, number!: str, extension: str, type: str}], emails: [map{id: str, email!: str(email), type: str}], websites: [map{id: str, url!: str, type: str}], bank_accounts: [map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}], notes: str, tax_rate: map{id: str, code: str, name: str, rate: num}, tax_number: str, taxable: bool, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, parent: map{id!: str, name: str}, status: str(active/inactive/archived/gdpr-erasure-request/unknown), payment_method: str, terms: str, terms_id: str, channel: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), row_version: str, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/customers/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/suppliers
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/suppliers
@required {id: str}
@optional {x-apideck-company-id: str, downstream_id: str, display_id: str, display_name: str, company_name: str, company_id: str, supplier_category: str, title: str, first_name: str, middle_name: str, last_name: str, suffix: str, individual: bool, addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], phone_numbers: [map{id: str, country_code: str, area_code: str, number!: str, extension: str, type: str}], emails: [map{id: str, email!: str(email), type: str}], websites: [map{id: str, url!: str, type: str}], bank_accounts: [map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}], notes: str, tax_rate: map{id: str, code: str, name: str, rate: num}, tax_number: str, taxable: bool, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, status: str(active/inactive/archived/gdpr-erasure-request/unknown), payment_method: str, terms: str, terms_id: str, channel: str, issued_method: str, issued_email: str, custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], tax_details: [map{type: str, number: str, is_transaction_tax: bool, is_primary_tax: bool}], tax_status_details: [map{country: str, transaction_tax_status: str}], updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), row_version: str, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}], subsidiary_id: str, integration_system_id: str}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/suppliers/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, display_id: str?, display_name: str?, company_name: str?, company_id: str?, supplier_category: str?, title: str?, first_name: str?, middle_name: str?, last_name: str?, suffix: str?, individual: bool?, addresses: [map], phone_numbers: [map], emails: [map], websites: [map], bank_accounts: [map], notes: str?, tax_rate: map{id: str?, code: str?, name: str?, rate: num?}, tax_number: str?, taxable: bool?, currency: str?, account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, status: str?, payment_method: str?, terms: str?, terms_id: str?, channel: str?, issued_method: str?, issued_email: str?, custom_mappings: map?, custom_fields: [map], tax_details: [map], tax_status_details: [map], updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, row_version: str?, pass_through: [map], subsidiary_id: str, integration_system_id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/suppliers/{id}
@required {id: str, id: str}
@optional {x-apideck-company-id: str, downstream_id: str, display_id: str, display_name: str, company_name: str, company_id: str, supplier_category: str, title: str, first_name: str, middle_name: str, last_name: str, suffix: str, individual: bool, addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], phone_numbers: [map{id: str, country_code: str, area_code: str, number!: str, extension: str, type: str}], emails: [map{id: str, email!: str(email), type: str}], websites: [map{id: str, url!: str, type: str}], bank_accounts: [map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}], notes: str, tax_rate: map{id: str, code: str, name: str, rate: num}, tax_number: str, taxable: bool, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, status: str(active/inactive/archived/gdpr-erasure-request/unknown), payment_method: str, terms: str, terms_id: str, channel: str, issued_method: str, issued_email: str, custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], tax_details: [map{type: str, number: str, is_transaction_tax: bool, is_primary_tax: bool}], tax_status_details: [map{country: str, transaction_tax_status: str}], updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), row_version: str, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}], subsidiary_id: str, integration_system_id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/suppliers/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/payments
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/payments
@required {id: str, total_amount: num, transaction_date: str(date-time)}
@optional {x-apideck-company-id: str, downstream_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, reference: str, payment_method: str, payment_method_reference: str, payment_method_id: str, accounts_receivable_account_type: str, accounts_receivable_account_id: str, account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, company_id: str, reconciled: bool, status: str(draft/authorised/rejected/paid/voided/deleted), type: str(accounts_receivable/accounts_payable/accounts_receivable_credit/accounts_payable_credit/accounts_receivable_overpayment/accounts_payable_overpayment/accounts_receivable_prepayment/accounts_payable_prepayment), allocations: [map{id: str, type: str, code: str, amount: num, allocation_id: str}], note: str, number: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, display_id: str, custom_mappings: map, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/payments/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, currency: str?, currency_rate: num?, total_amount: num?, reference: str?, payment_method: str?, payment_method_reference: str?, payment_method_id: str?, accounts_receivable_account_type: str?, accounts_receivable_account_id: str?, account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, transaction_date: str(date-time)?, customer: map?{id: str, display_id: str?, display_name: str?, name: str, company_name: str?, email: str}, supplier: map?{id: str, display_id: str?, display_name: str?, company_name: str?, address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}}, company_id: str?, reconciled: bool?, status: str, type: str, allocations: [map], note: str?, number: str?, tracking_categories: [map]?, custom_fields: [map], row_version: str?, display_id: str?, custom_mappings: map?, updated_by: str?, created_by: str?, created_at: str(date-time)?, updated_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/payments/{id}
@required {id: str, id: str, total_amount: num, transaction_date: str(date-time)}
@optional {x-apideck-company-id: str, downstream_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, reference: str, payment_method: str, payment_method_reference: str, payment_method_id: str, accounts_receivable_account_type: str, accounts_receivable_account_id: str, account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, company_id: str, reconciled: bool, status: str(draft/authorised/rejected/paid/voided/deleted), type: str(accounts_receivable/accounts_payable/accounts_receivable_credit/accounts_payable_credit/accounts_receivable_overpayment/accounts_payable_overpayment/accounts_receivable_prepayment/accounts_payable_prepayment), allocations: [map{id: str, type: str, code: str, amount: num, allocation_id: str}], note: str, number: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, display_id: str, custom_mappings: map, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/payments/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/refunds
@optional {cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/refunds
@required {id: str, total_amount: num}
@optional {number: str, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, company_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, sub_total: num, total_tax: num, refund_date: str(date-time), status: str(draft/authorised/posted/paid/voided/deleted), type: str(refund_receipt/cash_refund/credit_note_refund), payment_method: str, payment_method_reference: str, payment_method_id: str, account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, subsidiary_id: str, shipping_id: str, memo: str, prepaid: bool, item: map, tax_applicable_on: str, tax_recoverability: str, tax_method: str, worktags: [map], tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], allocations: [map{id: str, type: str, code: str, amount: num, allocation_id: str}], tax_code: str, discount_percentage: num, discount_amount: num, note: str, customer_memo: str, reference: str, billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, department: map{id: str, display_id: str, name: str, downstream_id: str}, location: map{id: str, display_id: str, name: str, downstream_id: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/refunds/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, number: str?, customer: map?{id: str, display_id: str?, display_name: str?, name: str, company_name: str?, email: str}, company_id: str?, currency: str?, currency_rate: num?, tax_inclusive: bool?, sub_total: num?, total_amount: num?, total_tax: num?, refund_date: str(date-time)?, status: str, type: str, payment_method: str?, payment_method_reference: str?, payment_method_id: str?, account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, line_items: [map], allocations: [map], tax_code: str?, discount_percentage: num?, discount_amount: num?, note: str?, customer_memo: str?, reference: str?, billing_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, shipping_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, department: map?{id: str, display_id: str?, name: str?, downstream_id: str?}, location: map?{id: str, display_id: str?, name: str?, downstream_id: str?}, tracking_categories: [map]?, custom_mappings: map?, custom_fields: [map], row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/refunds/{id}
@required {id: str, id: str, total_amount: num}
@optional {number: str, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, company_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, sub_total: num, total_tax: num, refund_date: str(date-time), status: str(draft/authorised/posted/paid/voided/deleted), type: str(refund_receipt/cash_refund/credit_note_refund), payment_method: str, payment_method_reference: str, payment_method_id: str, account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, subsidiary_id: str, shipping_id: str, memo: str, prepaid: bool, item: map, tax_applicable_on: str, tax_recoverability: str, tax_method: str, worktags: [map], tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], allocations: [map{id: str, type: str, code: str, amount: num, allocation_id: str}], tax_code: str, discount_percentage: num, discount_amount: num, note: str, customer_memo: str, reference: str, billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, department: map{id: str, display_id: str, name: str, downstream_id: str}, location: map{id: str, display_id: str, name: str, downstream_id: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/refunds/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/company-info
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, company_name: str?, status: str, legal_name: str, country: str?, sales_tax_number: str?, automated_sales_tax: bool, sales_tax_enabled: bool, default_sales_tax: map{id: str?, display_id: str?, name: str, code: str?, description: str?, effective_tax_rate: num?, country: str?, total_tax_rate: num?, tax_payable_account_id: str?, tax_remitted_account_id: str?, components: [any]?, type: str?, report_tax_type: str?, original_tax_rate_id: str?, status: str?, custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map], subsidiaries: [any], custom_fields: [map]}, currency: str?, language: str?, fiscal_year_start_month: str, company_start_date: str(date), addresses: [map], phone_numbers: [map], emails: [map], custom_mappings: map?, tracking_categories_enabled: bool, tracking_categories_mode: str, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/companies
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/balance-sheet
@optional {x-apideck-company-id: str, pass_through: map, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{reports: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/profit-and-loss
@optional {x-apideck-company-id: str, filter: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, report_name: str, start_date: str, end_date: str, currency: str?, income: map{id: str, code: str, title: str, type: str?, total: num?, records: [any]?}, cost_of_goods_sold: map{id: str, code: str, title: str, type: str?, total: num?, records: [any]?}, expenses: map{id: str, code: str, title: str, type: str?, total: num?, records: [any]?}, other_income: map{id: str, code: str, title: str, type: str?, total: num?, records: [any]?}, other_expenses: map{id: str, code: str, title: str, type: str?, total: num?, records: [any]?}, uncategorized_accounts: map{id: str, code: str, title: str, type: str?, total: num?, records: [any]?}, gross_profit: map{total: num?}, net_operating_income: map{total: num?}, net_income: map{total: num?}, custom_mappings: map?, customer: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/journal-entries
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/journal-entries
@optional {x-apideck-company-id: str, id: str, downstream_id: str, display_id: str, title: str, currency_rate: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), company_id: str, line_items: [map{id: str, description: str, tax_amount: num, sub_total: num, total_amount: num, type!: str, tax_rate: map, tax_type: str, tracking_category: map, tracking_categories: [map], ledger_account!: map, customer: map, supplier: map, employee: map, department_id: str, location_id: str, line_number: int, worktags: [map]}], status: str(draft/pending_approval/approved/posted/voided/rejected/deleted/other), memo: str, posted_at: str(date-time), journal_symbol: str, tax_type: str, tax_code: str, number: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], accounting_period: str, tax_inclusive: bool, source_type: str, source_id: str, custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), row_version: str, custom_fields: [map{id: str, name: str, description: str, value: any}], pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/journal-entries/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, display_id: str?, title: str?, currency_rate: num?, currency: str?, company_id: str?, line_items: [map], status: str?, memo: str?, posted_at: str(date-time), journal_symbol: str?, tax_type: str?, tax_code: str?, number: str?, tracking_categories: [map]?, accounting_period: str?, tax_inclusive: bool?, source_type: str?, source_id: str?, custom_mappings: map?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, row_version: str?, custom_fields: [map], pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/journal-entries/{id}
@required {id: str}
@optional {x-apideck-company-id: str, id: str, downstream_id: str, display_id: str, title: str, currency_rate: num, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), company_id: str, line_items: [map{id: str, description: str, tax_amount: num, sub_total: num, total_amount: num, type!: str, tax_rate: map, tax_type: str, tracking_category: map, tracking_categories: [map], ledger_account!: map, customer: map, supplier: map, employee: map, department_id: str, location_id: str, line_number: int, worktags: [map]}], status: str(draft/pending_approval/approved/posted/voided/rejected/deleted/other), memo: str, posted_at: str(date-time), journal_symbol: str, tax_type: str, tax_code: str, number: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], accounting_period: str, tax_inclusive: bool, source_type: str, source_id: str, custom_mappings: map, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), row_version: str, custom_fields: [map{id: str, name: str, description: str, value: any}], pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/journal-entries/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/purchase-orders
@optional {x-apideck-company-id: str, cursor: str, pass_through: map, limit: int=20, filter: map, sort: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/purchase-orders
@optional {x-apideck-company-id: str, id: str, downstream_id: str, display_id: str, po_number: str, reference: str, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, subsidiary_id: str, company_id: str, location_id: str, department_id: str, status: str(draft/open/closed/deleted/billed/other), issued_date: str(date), delivery_date: str(date), expected_arrival_date: str(date), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, sub_total: num, total_tax: num, total: num, tax_inclusive: bool, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, subsidiary_id: str, shipping_id: str, memo: str, prepaid: bool, item: map, tax_applicable_on: str, tax_recoverability: str, tax_method: str, worktags: [map], tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, ledger_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, template_id: str, discount_percentage: num, bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, accounting_by_row: bool, due_date: str(date), payment_method: str, terms: str, terms_id: str, amortization_type: str(manual/receipt/schedule/other), tax_code: str, tax_method: str, issued_method: str, issued_email: str, channel: str, memo: str, notes: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/purchase-orders/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, display_id: str?, po_number: str?, reference: str?, supplier: map?{id: str, display_id: str?, display_name: str?, company_name: str?, address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}}, subsidiary_id: str?, company_id: str?, location_id: str?, department_id: str?, status: str?, issued_date: str(date)?, delivery_date: str(date)?, expected_arrival_date: str(date)?, currency: str?, currency_rate: num?, sub_total: num?, total_tax: num?, total: num?, tax_inclusive: bool?, line_items: [map], billing_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, shipping_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, ledger_account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, template_id: str?, discount_percentage: num?, bank_account: map{bank_name: str?, account_number: str?, account_name: str?, account_type: str?, iban: str?, bic: str?, routing_number: str?, bsb_number: str?, branch_identifier: str?, bank_code: str?, currency: str?, country: str?}, accounting_by_row: bool?, due_date: str(date)?, payment_method: str?, terms: str?, terms_id: str?, amortization_type: str?, tax_code: str?, tax_method: str?, issued_method: str?, issued_email: str?, channel: str?, memo: str?, notes: str?, tracking_categories: [map]?, custom_mappings: map?, custom_fields: [map], row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/purchase-orders/{id}
@required {id: str}
@optional {x-apideck-company-id: str, id: str, downstream_id: str, display_id: str, po_number: str, reference: str, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, subsidiary_id: str, company_id: str, location_id: str, department_id: str, status: str(draft/open/closed/deleted/billed/other), issued_date: str(date), delivery_date: str(date), expected_arrival_date: str(date), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, sub_total: num, total_tax: num, total: num, tax_inclusive: bool, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, subsidiary_id: str, shipping_id: str, memo: str, prepaid: bool, item: map, tax_applicable_on: str, tax_recoverability: str, tax_method: str, worktags: [map], tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, ledger_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, template_id: str, discount_percentage: num, bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, accounting_by_row: bool, due_date: str(date), payment_method: str, terms: str, terms_id: str, amortization_type: str(manual/receipt/schedule/other), tax_code: str, tax_method: str, issued_method: str, issued_email: str, channel: str, memo: str, notes: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_mappings: map, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/purchase-orders/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/subsidiaries
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/subsidiaries
@optional {x-apideck-company-id: str, id: str, parent_id: str, name: str, display_id: str, downstream_id: str, status: str(active/inactive), address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, currencies: [str], custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/subsidiaries/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, parent_id: str?, name: str?, display_id: str?, downstream_id: str?, status: str, address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, currencies: [str]?, custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/subsidiaries/{id}
@required {id: str}
@optional {x-apideck-company-id: str, id: str, parent_id: str, name: str, display_id: str, downstream_id: str, status: str(active/inactive), address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, currencies: [str], custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/subsidiaries/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/locations
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, fields: str, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/locations
@optional {x-apideck-company-id: str, id: str, parent_id: str, display_id: str, downstream_id: str, company_name: str, display_name: str, status: str(active/inactive), addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], subsidiaries: [map{id: str, name: str}], custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/locations/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, parent_id: str?, display_id: str?, downstream_id: str?, company_name: str?, display_name: str?, status: str, addresses: [map], subsidiaries: [map], custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/locations/{id}
@required {id: str}
@optional {x-apideck-company-id: str, id: str, parent_id: str, display_id: str, downstream_id: str, company_name: str, display_name: str, status: str(active/inactive), addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], subsidiaries: [map{id: str, name: str}], custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/locations/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/departments
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, fields: str, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/departments
@optional {x-apideck-company-id: str, id: str, parent_id: str, display_id: str, name: str, status: str(active/inactive), subsidiaries: [map{id: str, name: str}], code: str, downstream_id: str, custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/departments/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, parent_id: str?, display_id: str?, name: str?, status: str, subsidiaries: [map], code: str, downstream_id: str?, custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/departments/{id}
@required {id: str}
@optional {id: str, parent_id: str, display_id: str, name: str, status: str(active/inactive), subsidiaries: [map{id: str, name: str}], code: str, downstream_id: str, custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/departments/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/attachments/{reference_type}/{reference_id}
@required {reference_type: str, reference_id: str}
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/attachments/{reference_type}/{reference_id}
@required {reference_type: str, reference_id: str, x-apideck-metadata: str(json), content-type: str}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/attachments/{reference_type}/{reference_id}/{id}
@required {reference_type: str, reference_id: str, id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, display_id: str?, name: str?, mime_type: str?, size: int?, reference: map{type: str, id: str}, description: str?, parent_folder_id: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/attachments/{reference_type}/{reference_id}/{id}
@required {reference_type: str, reference_id: str, id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/attachments/{reference_type}/{reference_id}/{id}/download
@required {reference_type: str, reference_id: str, id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200)
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bank-accounts
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/bank-accounts
@required {id: str}
@optional {downstream_id: str, display_id: str, name: str, account_number: str, account_type: str(checking/savings/credit_card/money_market/line_of_credit/other/cash), ledger_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, bank_name: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), balance: num, available_balance: num, overdraft_limit: num, routing_number: str, iban: str, bic: str, bsb_number: str, branch_identifier: str, bank_code: str, country: str, status: str(active/inactive/closed), description: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, created_at: str(date-time), updated_at: str(date-time), created_by: str, updated_by: str}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bank-accounts/{id}
@required {id: str}
@optional {filter: map, x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, display_id: str?, name: str?, account_number: str?, account_type: str, ledger_account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, bank_name: str?, currency: str?, balance: num?, available_balance: num?, overdraft_limit: num?, routing_number: str?, iban: str?, bic: str?, bsb_number: str?, branch_identifier: str?, bank_code: str?, country: str?, status: str?, description: str?, custom_fields: [map], custom_mappings: map?, created_at: str(date-time)?, updated_at: str(date-time)?, created_by: str?, updated_by: str?}}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/bank-accounts/{id}
@required {id: str, id: str}
@optional {downstream_id: str, display_id: str, name: str, account_number: str, account_type: str(checking/savings/credit_card/money_market/line_of_credit/other/cash), ledger_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, bank_name: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), balance: num, available_balance: num, overdraft_limit: num, routing_number: str, iban: str, bic: str, bsb_number: str, branch_identifier: str, bank_code: str, country: str, status: str(active/inactive/closed), description: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, created_at: str(date-time), updated_at: str(date-time), created_by: str, updated_by: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/bank-accounts/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/tracking-categories
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/tracking-categories
@optional {x-apideck-company-id: str, id: str, parent_id: str, parent_name: str, name: str, code: str, status: str(active/inactive), custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}], subsidiaries: [any]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/tracking-categories/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, parent_id: str?, parent_name: str?, name: str, code: str?, status: str, custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map], subsidiaries: [any]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/tracking-categories/{id}
@required {id: str}
@optional {x-apideck-company-id: str, id: str, parent_id: str, parent_name: str, name: str, code: str, status: str(active/inactive), custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}], subsidiaries: [any]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/tracking-categories/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bill-payments
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/bill-payments
@required {id: str, total_amount: num, transaction_date: str(date-time)}
@optional {x-apideck-company-id: str, downstream_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, reference: str, payment_method: str, payment_method_reference: str, payment_method_id: str, account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, company_id: str, reconciled: bool, status: str(draft/authorised/rejected/paid/voided/deleted), type: str(accounts_payable_credit/accounts_payable_overpayment/accounts_payable_prepayment/accounts_payable), allocations: [map{id: str, type: str, code: str, amount: num, allocation_id: str}], note: str, number: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, display_id: str, custom_mappings: map, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bill-payments/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, currency: str?, currency_rate: num?, total_amount: num?, reference: str?, payment_method: str?, payment_method_reference: str?, payment_method_id: str?, account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, transaction_date: str(date-time)?, supplier: map?{id: str, display_id: str?, display_name: str?, company_name: str?, address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}}, company_id: str?, reconciled: bool?, status: str, type: str, allocations: [map], note: str?, number: str?, tracking_categories: [map]?, custom_fields: [map], row_version: str?, display_id: str?, custom_mappings: map?, updated_by: str?, created_by: str?, created_at: str(date-time)?, updated_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/bill-payments/{id}
@required {id: str, id: str, total_amount: num, transaction_date: str(date-time)}
@optional {downstream_id: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, reference: str, payment_method: str, payment_method_reference: str, payment_method_id: str, account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, company_id: str, reconciled: bool, status: str(draft/authorised/rejected/paid/voided/deleted), type: str(accounts_payable_credit/accounts_payable_overpayment/accounts_payable_prepayment/accounts_payable), allocations: [map{id: str, type: str, code: str, amount: num, allocation_id: str}], note: str, number: str, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, display_id: str, custom_mappings: map, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/bill-payments/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/expenses
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/expenses
@required {transaction_date: str(date-time), line_items: [map{id: str, tracking_categories: [map], account_id: str, account: map, customer_id: str, customer: map, department_id: str, department: map, location_id: str, location: map, tax_rate: map, description: str, type: str, total_amount!: num, tax_amount: num, quantity: num, unit_price: num, item: map, line_number: int, rebilling: map}]}
@optional {x-apideck-company-id: str, id: str, display_id: str, number: str, account_id: str, account: map{id: str, type: str, code: str, display_id: str, account_number: str, name: str, downstream_id: str}, supplier_id: str, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, company_id: str, location: map{id: str, display_id: str, name: str, downstream_id: str}, department_id: str, department: map{id: str, display_id: str, name: str, downstream_id: str}, payment_type: str(cash/check/credit_card/other), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, type: str(expense/refund), memo: str, tax_rate: map{id: str, code: str, name: str, rate: num}, tax_inclusive: bool, sub_total: num, total_tax: num, total_amount: num, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], reference: str, source_document_url: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, status: str(draft/posted/voided), updated_at: str(date-time), created_at: str(date-time), row_version: str, updated_by: str, created_by: str, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/expenses/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, display_id: str?, number: str?, transaction_date: str(date-time)?, account_id: str, account: map?{id: str, type: str?, code: str, display_id: str?, account_number: str?, name: str, downstream_id: str?}, supplier_id: str, supplier: map?{id: str, display_id: str?, display_name: str?, company_name: str?, address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}}, company_id: str?, location: map?{id: str, display_id: str?, name: str?, downstream_id: str?}, department_id: str?, department: map?{id: str, display_id: str?, name: str?, downstream_id: str?}, payment_type: str?, currency: str?, currency_rate: num?, type: str?, memo: str?, tax_rate: map{id: str?, code: str?, name: str?, rate: num?}, tax_inclusive: bool?, sub_total: num?, total_tax: num?, total_amount: num?, tracking_categories: [map]?, line_items: [map], reference: str?, source_document_url: str?, custom_fields: [map], custom_mappings: map?, status: str?, updated_at: str(date-time)?, created_at: str(date-time)?, row_version: str?, updated_by: str?, created_by: str?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/expenses/{id}
@required {id: str, transaction_date: str(date-time), line_items: [map{id: str, tracking_categories: [map], account_id: str, account: map, customer_id: str, customer: map, department_id: str, department: map, location_id: str, location: map, tax_rate: map, description: str, type: str, total_amount!: num, tax_amount: num, quantity: num, unit_price: num, item: map, line_number: int, rebilling: map}]}
@optional {id: str, display_id: str, number: str, account_id: str, account: map{id: str, type: str, code: str, display_id: str, account_number: str, name: str, downstream_id: str}, supplier_id: str, supplier: map{id: str, display_id: str, display_name: str, company_name: str, address: map}, company_id: str, location: map{id: str, display_id: str, name: str, downstream_id: str}, department_id: str, department: map{id: str, display_id: str, name: str, downstream_id: str}, payment_type: str(cash/check/credit_card/other), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, type: str(expense/refund), memo: str, tax_rate: map{id: str, code: str, name: str, rate: num}, tax_inclusive: bool, sub_total: num, total_tax: num, total_amount: num, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], reference: str, source_document_url: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, status: str(draft/posted/voided), updated_at: str(date-time), created_at: str(date-time), row_version: str, updated_by: str, created_by: str, pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/expenses/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/aged-creditors
@optional {x-apideck-company-id: str, filter: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{report_generated_at: str(date-time), report_as_of_date: str(date), period_count: int, period_length: int, outstanding_balances: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/aged-debtors
@optional {x-apideck-company-id: str, filter: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{report_generated_at: str(date-time), report_as_of_date: str(date), period_count: int, period_length: int, outstanding_balances: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bank-feed-accounts
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/bank-feed-accounts
@required {id: str}
@optional {bank_account_type: str(bank/credit_card), source_account_id: str, target_account_id: str, target_account_name: str, target_account_number: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), feed_status: str(pending/rejected), country: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, created_at: str(date-time), updated_at: str(date-time), updated_by: str, created_by: str}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bank-feed-accounts/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, bank_account_type: str, source_account_id: str, target_account_id: str, target_account_name: str, target_account_number: str, currency: str?, feed_status: str, country: str?, custom_fields: [map], custom_mappings: map?, created_at: str(date-time)?, updated_at: str(date-time)?, updated_by: str?, created_by: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/bank-feed-accounts/{id}
@required {id: str, id: str}
@optional {bank_account_type: str(bank/credit_card), source_account_id: str, target_account_id: str, target_account_name: str, target_account_number: str, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), feed_status: str(pending/rejected), country: str, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, created_at: str(date-time), updated_at: str(date-time), updated_by: str, created_by: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/bank-feed-accounts/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bank-feed-statements
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/bank-feed-statements
@required {id: str}
@optional {x-apideck-company-id: str, bank_feed_account_id: str, status: str(pending/rejected/success), start_date: str(date-time), end_date: str(date-time), start_balance: num, start_balance_credit_or_debit: str(credit/debit), end_balance: num, end_balance_credit_or_debit: str(credit/debit), transactions: [map{posted_date!: str(date-time), description: str, amount!: num, credit_or_debit!: str, source_transaction_id!: str, counterparty: str, reference: str, transaction_type: str}], created_at: str(date-time), created_by: str, updated_at: str(date-time), updated_by: str}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/bank-feed-statements/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, bank_feed_account_id: str, status: str, start_date: str(date-time), end_date: str(date-time), start_balance: num, start_balance_credit_or_debit: str, end_balance: num, end_balance_credit_or_debit: str, transactions: [map], created_at: str(date-time)?, created_by: str?, updated_at: str(date-time)?, updated_by: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/bank-feed-statements/{id}
@required {id: str, id: str}
@optional {bank_feed_account_id: str, status: str(pending/rejected/success), start_date: str(date-time), end_date: str(date-time), start_balance: num, start_balance_credit_or_debit: str(credit/debit), end_balance: num, end_balance_credit_or_debit: str(credit/debit), transactions: [map{posted_date!: str(date-time), description: str, amount!: num, credit_or_debit!: str, source_transaction_id!: str, counterparty: str, reference: str, transaction_type: str}], created_at: str(date-time), created_by: str, updated_at: str(date-time), updated_by: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/bank-feed-statements/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/categories
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, fields: str, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/categories/{id}
@required {id: str}
@optional {x-apideck-company-id: str, fields: str, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, name: str, display_id: str?, type: str, status: str, custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/quotes
@optional {x-apideck-company-id: str, cursor: str, limit: int=20}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/quotes
@optional {x-apideck-company-id: str, id: str, downstream_id: str, number: str, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, invoice_id: str, sales_order_id: str, company_id: str, department_id: str, project_id: str, quote_date: str(date), expiry_date: str(date), terms: str, terms_id: str, reference: str, status: str(draft/sent/accepted/rejected/expired/converted/void/deleted), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, sub_total: num, total_tax: num, tax_code: str, discount_percentage: num, discount_amount: num, total: num, customer_memo: str, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, item: map, tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], template_id: str, source_document_url: str, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/quotes/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, number: str?, customer: map?{id: str, display_id: str?, display_name: str?, name: str, company_name: str?, email: str}, invoice_id: str, sales_order_id: str?, company_id: str?, department_id: str?, project_id: str, quote_date: str(date)?, expiry_date: str(date)?, terms: str?, terms_id: str?, reference: str?, status: str?, currency: str?, currency_rate: num?, tax_inclusive: bool?, sub_total: num?, total_tax: num?, tax_code: str?, discount_percentage: num?, discount_amount: num?, total: num?, customer_memo: str?, line_items: [map], billing_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, shipping_address: map{id: str?, type: str?, string: str?, name: str?, line1: str?, line2: str?, line3: str?, line4: str?, line5: str?, street_number: str?, city: str?, state: str?, postal_code: str?, country: str?, latitude: str?, longitude: str?, county: str?, contact_name: str?, salutation: str?, phone_number: str?, fax: str?, email: str?, website: str?, notes: str?, row_version: str?}, tracking_categories: [map]?, template_id: str?, source_document_url: str?, custom_fields: [map], row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/quotes/{id}
@required {id: str}
@optional {x-apideck-company-id: str, id: str, downstream_id: str, number: str, customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, invoice_id: str, sales_order_id: str, company_id: str, department_id: str, project_id: str, quote_date: str(date), expiry_date: str(date), terms: str, terms_id: str, reference: str, status: str(draft/sent/accepted/rejected/expired/converted/void/deleted), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, tax_inclusive: bool, sub_total: num, total_tax: num, tax_code: str, discount_percentage: num, discount_amount: num, total: num, customer_memo: str, line_items: [map{id: str, row_id: str, code: str, line_number: int, description: str, type: str, tax_amount: num, total_amount: num, quantity: num, unit_price: num, unit_of_measure: str, discount_percentage: num, discount_amount: num, service_date: str(date), category_id: str, location_id: str, department_id: str, item: map, tax_rate: map, tracking_categories: [map], ledger_account: map, custom_fields: [map], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}], billing_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, shipping_address: map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], template_id: str, source_document_url: str, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/quotes/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/projects
@optional {x-apideck-company-id: str, cursor: str, limit: int=20, filter: map, sort: map, pass_through: map, fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/projects
@required {name: str}
@optional {x-apideck-company-id: str, id: str, downstream_id: str, display_id: str, reference_id: str, description: str, status: str(active/completed/on_hold/cancelled/draft/in_progress/approved/other), active: bool, project_type: str(client_project/internal_project/maintenance/research_development/training/other), priority: str(low/medium/high/critical), completion_percentage: num, start_date: str(date), end_date: str(date), completion_date: str(date), customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, department: map{id: str, name: str}, company_id: str, owner_id: str, parent_project: map{id: str, name: str}, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), budget_amount: num, approved_amount: num, actual_amount: num, budget_hours: num, actual_hours: num, hourly_rate: num, billing_method: str(fixed_price/time_and_materials/milestone_based/retainer/non_billable), is_billable: bool=true, phase: str(initiation/planning/execution/monitoring/closure/other), tax_rate: map{id: str, code: str, name: str, rate: num}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], tags: [str], notes: str, contract_number: str, profit_margin: num, schedule_status: str(ahead_of_schedule/on_schedule/behind_schedule/critical_delay), addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], team_size: int, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/projects/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, name: str, display_id: str?, reference_id: str?, description: str?, status: str?, active: bool?, project_type: str?, priority: str?, completion_percentage: num?, start_date: str(date)?, end_date: str(date)?, completion_date: str(date)?, customer: map?{id: str, display_id: str?, display_name: str?, name: str, company_name: str?, email: str}, department: map?{id: str, name: str}, company_id: str?, owner_id: str?, parent_project: map?{id: str, name: str}, currency: str?, budget_amount: num?, approved_amount: num?, actual_amount: num?, budget_hours: num?, actual_hours: num?, hourly_rate: num?, billing_method: str?, is_billable: bool?, phase: str?, tax_rate: map{id: str?, code: str?, name: str?, rate: num?}, tracking_categories: [map]?, tags: [str], notes: str?, contract_number: str?, profit_margin: num?, schedule_status: str?, addresses: [map], team_size: int?, custom_fields: [map], row_version: str?, updated_by: str?, created_by: str?, created_at: str(date-time)?, updated_at: str(date-time)?}}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/projects/{id}
@required {id: str, name: str}
@optional {x-apideck-company-id: str, id: str, downstream_id: str, display_id: str, reference_id: str, description: str, status: str(active/completed/on_hold/cancelled/draft/in_progress/approved/other), active: bool, project_type: str(client_project/internal_project/maintenance/research_development/training/other), priority: str(low/medium/high/critical), completion_percentage: num, start_date: str(date), end_date: str(date), completion_date: str(date), customer: map{id: str, display_id: str, display_name: str, name: str, company_name: str, email: str}, department: map{id: str, name: str}, company_id: str, owner_id: str, parent_project: map{id: str, name: str}, currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), budget_amount: num, approved_amount: num, actual_amount: num, budget_hours: num, actual_hours: num, hourly_rate: num, billing_method: str(fixed_price/time_and_materials/milestone_based/retainer/non_billable), is_billable: bool=true, phase: str(initiation/planning/execution/monitoring/closure/other), tax_rate: map{id: str, code: str, name: str, rate: num}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], tags: [str], notes: str, contract_number: str, profit_margin: num, schedule_status: str(ahead_of_schedule/on_schedule/behind_schedule/critical_delay), addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], team_size: int, custom_fields: [map{id: str, name: str, description: str, value: any}], row_version: str, updated_by: str, created_by: str, created_at: str(date-time), updated_at: str(date-time)}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/projects/{id}
@required {id: str}
@optional {x-apideck-company-id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/employees
@optional {cursor: str, limit: int=20, fields: str, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/employees
@optional {id: str, downstream_id: str, display_id: str, first_name: str, last_name: str, display_name: str, emails: [map{id: str, email!: str(email), type: str}], employee_number: str, job_title: str, status: str(active/inactive/terminated), is_contractor: bool, department: map{id: str, display_id: str, name: str, downstream_id: str}, location: map{id: str, display_id: str, name: str, downstream_id: str}, manager: map{id: str, name: str}, hire_date: str(date), termination_date: str(date), gender: str(male/female/unisex/other/not_specified), birth_date: str(date), subsidiary: map{id: str, display_id: str, name: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), notes: str, addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], phone_numbers: [map{id: str, country_code: str, area_code: str, number!: str, extension: str, type: str}], bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, row_version: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/employees/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, downstream_id: str?, display_id: str?, first_name: str?, last_name: str?, display_name: str?, emails: [map], employee_number: str?, job_title: str?, status: str?, is_contractor: bool?, department: map?{id: str, display_id: str?, name: str?, downstream_id: str?}, location: map?{id: str, display_id: str?, name: str?, downstream_id: str?}, manager: map{id: str, name: str?}, hire_date: str(date)?, termination_date: str(date)?, gender: str?, birth_date: str(date)?, subsidiary: map?{id: str, display_id: str?, name: str?}, tracking_categories: [map]?, currency: str?, notes: str?, addresses: [map], phone_numbers: [map], bank_account: map{bank_name: str?, account_number: str?, account_name: str?, account_type: str?, iban: str?, bic: str?, routing_number: str?, bsb_number: str?, branch_identifier: str?, bank_code: str?, currency: str?, country: str?}, custom_fields: [map], custom_mappings: map?, row_version: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/employees/{id}
@required {id: str}
@optional {id: str, downstream_id: str, display_id: str, first_name: str, last_name: str, display_name: str, emails: [map{id: str, email!: str(email), type: str}], employee_number: str, job_title: str, status: str(active/inactive/terminated), is_contractor: bool, department: map{id: str, display_id: str, name: str, downstream_id: str}, location: map{id: str, display_id: str, name: str, downstream_id: str}, manager: map{id: str, name: str}, hire_date: str(date), termination_date: str(date), gender: str(male/female/unisex/other/not_specified), birth_date: str(date), subsidiary: map{id: str, display_id: str, name: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), notes: str, addresses: [map{id: str, type: str, string: str, name: str, line1: str, line2: str, line3: str, line4: str, line5: str, street_number: str, city: str, state: str, postal_code: str, country: str, latitude: str, longitude: str, county: str, contact_name: str, salutation: str, phone_number: str, fax: str, email: str, website: str, notes: str, row_version: str}], phone_numbers: [map{id: str, country_code: str, area_code: str, number!: str, extension: str, type: str}], bank_account: map{bank_name: str, account_number: str, account_name: str, account_type: str, iban: str, bic: str, routing_number: str, bsb_number: str, branch_identifier: str, bank_code: str, currency: str, country: str}, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, row_version: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/employees/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/expense-categories
@optional {cursor: str, limit: int=20, fields: str, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/expense-categories
@required {name: str}
@optional {id: str, display_id: str, code: str, description: str, status: str(active/inactive), account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, offset_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, tax_rate: map{id: str, code: str, name: str, rate: num}, rate_required: bool, default_rate: num, custom_mappings: map, downstream_id: str, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/expense-categories/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, display_id: str?, name: str, code: str?, description: str?, status: str?, account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, offset_account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, tax_rate: map{id: str?, code: str?, name: str?, rate: num?}, rate_required: bool?, default_rate: num?, custom_mappings: map?, downstream_id: str?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/expense-categories/{id}
@required {id: str, name: str}
@optional {id: str, display_id: str, code: str, description: str, status: str(active/inactive), account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, offset_account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, tax_rate: map{id: str, code: str, name: str, rate: num}, rate_required: bool, default_rate: num, custom_mappings: map, downstream_id: str, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/expense-categories/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/expense-reports
@optional {cursor: str, limit: int=20, fields: str, filter: map}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: [map], meta: map{items_on_page: int, cursors: map{previous: str?, current: str?, next: str?}}, links: map{previous: str?, current: str, next: str?}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint POST /accounting/expense-reports
@required {employee: map{id: str, display_name: str}, transaction_date: str(date-time), line_items: [map{id: str, line_number: int, expense_category: map, account: map, description: str, quantity: num, unit_price: num, amount!: num, tax_rate: map, tax_amount: num, total_amount: num, transaction_date: str(date), billable: bool, reimbursable: bool, customer: map, department: map, location: map, tracking_categories: [map], receipt_url: str, currency: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time)}]}
@optional {id: str, display_id: str, number: str, title: str, status: str(draft/submitted/approved/reimbursed/rejected/reversed/voided), posting_date: str(date), due_date: str(date), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, sub_total: num, total_tax: num, total_amount: num, reimbursable_amount: num, memo: str, department: map{id: str, display_id: str, name: str, downstream_id: str}, location: map{id: str, display_id: str, name: str, downstream_id: str}, account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, accounting_period: map{id: str, name: str}, subsidiary: map{id: str, display_id: str, name: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], tax_inclusive: bool, approved_by: map{id: str, display_name: str}, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(201) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint GET /accounting/expense-reports/{id}
@required {id: str}
@optional {fields: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str, display_id: str?, number: str?, title: str?, employee: map{id: str, display_name: str?}, status: str?, transaction_date: str(date-time)?, posting_date: str(date)?, due_date: str(date)?, currency: str?, currency_rate: num?, sub_total: num?, total_tax: num?, total_amount: num?, reimbursable_amount: num?, memo: str?, department: map?{id: str, display_id: str?, name: str?, downstream_id: str?}, location: map?{id: str, display_id: str?, name: str?, downstream_id: str?}, account: map?{id: str, name: str?, nominal_code: str?, code: str?, parent_id: str?, display_id: str?}, accounting_period: map?{id: str, name: str?}, line_items: [map], subsidiary: map?{id: str, display_id: str?, name: str?}, tracking_categories: [map]?, tax_inclusive: bool?, approved_by: map?{id: str, display_name: str?}, custom_fields: [map], custom_mappings: map?, row_version: str?, updated_by: str?, created_by: str?, updated_at: str(date-time)?, created_at: str(date-time)?, pass_through: [map]}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint PATCH /accounting/expense-reports/{id}
@required {id: str, employee: map{id: str, display_name: str}, transaction_date: str(date-time), line_items: [map{id: str, line_number: int, expense_category: map, account: map, description: str, quantity: num, unit_price: num, amount!: num, tax_rate: map, tax_amount: num, total_amount: num, transaction_date: str(date), billable: bool, reimbursable: bool, customer: map, department: map, location: map, tracking_categories: [map], receipt_url: str, currency: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time)}]}
@optional {id: str, display_id: str, number: str, title: str, status: str(draft/submitted/approved/reimbursed/rejected/reversed/voided), posting_date: str(date), due_date: str(date), currency: str(UNKNOWN_CURRENCY/AED/AFN/ALL/AMD/ANG/AOA/ARS/AUD/AWG/AZN/BAM/BBD/BDT/BGN/BHD/BIF/BMD/BND/BOB/BOV/BRL/BSD/BTN/BWP/BYR/BZD/CAD/CDF/CHE/CHF/CHW/CLF/CLP/CNY/COP/COU/CRC/CUC/CUP/CVE/CZK/DJF/DKK/DOP/DZD/EGP/ERN/ETB/EUR/FJD/FKP/GBP/GEL/GHS/GIP/GMD/GNF/GTQ/GYD/HKD/HNL/HRK/HTG/HUF/IDR/ILS/INR/IQD/IRR/ISK/JMD/JOD/JPY/KES/KGS/KHR/KMF/KPW/KRW/KWD/KYD/KZT/LAK/LBP/LKR/LRD/LSL/LTL/LVL/LYD/MAD/MDL/MGA/MKD/MMK/MNT/MOP/MRO/MUR/MVR/MWK/MXN/MXV/MYR/MZN/NAD/NGN/NIO/NOK/NPR/NZD/OMR/PAB/PEN/PGK/PHP/PKR/PLN/PYG/QAR/RON/RSD/RUB/RWF/SAR/SBD/SCR/SDG/SEK/SGD/SHP/SLL/SOS/SRD/SSP/STD/SVC/SYP/SZL/THB/TJS/TMT/TND/TOP/TRC/TRY/TTD/TWD/TZS/UAH/UGX/USD/USN/USS/UYI/UYU/UZS/VEF/VND/VUV/WST/XAF/XAG/XAU/XBA/XBB/XBC/XBD/XCD/XDR/XOF/XPD/XPF/XPT/XTS/XXX/YER/ZAR/ZMK/ZMW/BTC/ETH), currency_rate: num, sub_total: num, total_tax: num, total_amount: num, reimbursable_amount: num, memo: str, department: map{id: str, display_id: str, name: str, downstream_id: str}, location: map{id: str, display_id: str, name: str, downstream_id: str}, account: map{id: str, name: str, nominal_code: str, code: str, parent_id: str, display_id: str}, accounting_period: map{id: str, name: str}, subsidiary: map{id: str, display_id: str, name: str}, tracking_categories: [map{id: str, code: str, name: str, parent_id: str, parent_name: str}], tax_inclusive: bool, approved_by: map{id: str, display_name: str}, custom_fields: [map{id: str, name: str, description: str, value: any}], custom_mappings: map, row_version: str, updated_by: str, created_by: str, updated_at: str(date-time), created_at: str(date-time), pass_through: [map{service_id!: str, operation_id: str, extend_object: map, extend_paths: [map]}]}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@endpoint DELETE /accounting/expense-reports/{id}
@required {id: str}
@returns(200) {status_code: int, status: str, service: str, resource: str, operation: str, data: map{id: str}, _raw: map?}
@errors {400, 401, 402, 404, 422}

@end
