Purchase Orders

A PurchaseOrder represents a request to purchase goods or services from a vendor. It outlines the details of the purchase, such as the items or services requested, quantities, prices, and delivery details.

A PurchaseOrder is a crucial component of the procurement process, but does not typically result in any impact on the company’s general ledger. The general ledger is typically only affected when the PurchaseOrder is fulfilled as an Accounts Payable Invoice object (also known as a Bill).

Properties

idUUID
Required

remote_idString
Optional
The third-party API ID of the matching object.

created_atDateTime (ISO 8601)
Required
The datetime that this object was created by Merge.

modified_atDateTime (ISO 8601)
Required
The datetime that this object was modified by Merge.

statusEnum
Optional
The purchase order's status. Possible values include: DRAFT, SUBMITTED, AUTHORIZED, BILLED, DELETED. In cases where there is no clear mapping, the original value passed through will be returned. To receive all enum values in the original format, use the show_enum_origins query parameter. Learn more.

issue_dateDateTime (ISO 8601)
Optional
The purchase order's issue date.

purchase_order_numberString
Optional
The human-readable number of the purchase order.

delivery_dateDateTime (ISO 8601)
Optional
The purchase order's delivery date.

delivery_addressUUID
Optional
The purchase order's delivery address.

customerUUID
Optional
The contact making the purchase order.

vendorUUID
Optional
The party fulfilling the purchase order.

memoString
Optional
A memo attached to the purchase order.

companyUUID
Optional
The company the purchase order belongs to.

total_amountNumber
Optional
The purchase order's total amount.

currencyEnum
Optional
The purchase order's currency. Possible values include: XUA, AFN, AFA, ALL, ALK, DZD, ADP, AOA, AOK, AON, AOR, ARA, ARS, ARM, ARP, ARL, AMD, AWG, AUD, ATS, AZN, AZM, BSD, BHD, BDT, BBD, BYN, BYB, BYR, BEF, BEC, BEL, BZD, BMD, BTN, BOB, BOL, BOV, BOP, BAM, BAD, BAN, BWP, BRC, BRZ, BRE, BRR, BRN, BRB, BRL, GBP, BND, BGL, BGN, BGO, BGM, BUK, BIF, XPF, KHR, CAD, CVE, KYD, XAF, CLE, CLP, CLF, CNX, CNY, CNH, COP, COU, KMF, CDF, CRC, HRD, HRK, CUC, CUP, CYP, CZK, CSK, DKK, DJF, DOP, NLG, XCD, DDM, ECS, ECV, EGP, GQE, ERN, EEK, ETB, EUR, XBA, XEU, XBB, XBC, XBD, FKP, FJD, FIM, FRF, XFO, XFU, GMD, GEK, GEL, DEM, GHS, GHC, GIP, XAU, GRD, GTQ, GWP, GNF, GNS, GYD, HTG, HNL, HKD, HUF, IMP, ISK, ISJ, INR, IDR, IRR, IQD, IEP, ILS, ILP, ILR, ITL, JMD, JPY, JOD, KZT, KES, KWD, KGS, LAK, LVL, LVR, LBP, LSL, LRD, LYD, LTL, LTT, LUL, LUC, LUF, MOP, MKD, MKN, MGA, MGF, MWK, MYR, MVR, MVP, MLF, MTL, MTP, MRU, MRO, MUR, MXV, MXN, MXP, MDC, MDL, MCF, MNT, MAD, MAF, MZE, MZN, MZM, MMK, NAD, NPR, ANG, TWD, NZD, NIO, NIC, NGN, KPW, NOK, OMR, PKR, XPD, PAB, PGK, PYG, PEI, PEN, PES, PHP, XPT, PLN, PLZ, PTE, GWE, QAR, XRE, RHD, RON, ROL, RUB, RUR, RWF, SVC, WST, SAR, RSD, CSD, SCR, SLL, XAG, SGD, SKK, SIT, SBD, SOS, ZAR, ZAL, KRH, KRW, KRO, SSP, SUR, ESP, ESA, ESB, XDR, LKR, SHP, XSU, SDD, SDG, SDP, SRD, SRG, SZL, SEK, CHF, SYP, STN, STD, TVD, TJR, TJS, TZS, XTS, THB, XXX, TPE, TOP, TTD, TND, TRY, TRL, TMT, TMM, USD, USN, USS, UGX, UGS, UAH, UAK, AED, UYW, UYU, UYP, UYI, UZS, VUV, VES, VEB, VEF, VND, VNN, CHE, CHW, XOF, YDD, YER, YUN, YUD, YUM, YUR, ZWN, ZRN, ZRZ, ZMW, ZMK, ZWD, ZWR, ZWL. In cases where there is no clear mapping, the original value passed through will be returned. To receive all enum values in the original format, use the show_enum_origins query parameter. Learn more.

exchange_rateString
Optional
The purchase order's exchange rate.

line_itemsPurchaseOrderLineItem[]
Required
The PurchaseOrderLineItem object
The PurchaseOrderLineItem object is used to represent a purchase order's line item.
Properties

idUUID
Required

remote_idString
Optional
The third-party API ID of the matching object.

created_atDateTime (ISO 8601)
Required
The datetime that this object was created by Merge.

modified_atDateTime (ISO 8601)
Required
The datetime that this object was modified by Merge.

descriptionString
Optional
A description of the good being purchased.

unit_priceNumber
Optional
The line item's unit price.

quantityNumber
Optional
The line item's quantity.

itemUUID
Optional

accountUUID
Optional
The purchase order line item's account.

tracking_categoriesArray
Required
The purchase order line item's associated tracking categories.

tax_amountString
Optional
The purchase order line item's tax amount.

total_line_amountString
Optional
The purchase order line item's total amount.

currencyEnum
Optional
The purchase order line item's currency. Possible values include: XUA, AFN, AFA, ALL, ALK, DZD, ADP, AOA, AOK, AON, AOR, ARA, ARS, ARM, ARP, ARL, AMD, AWG, AUD, ATS, AZN, AZM, BSD, BHD, BDT, BBD, BYN, BYB, BYR, BEF, BEC, BEL, BZD, BMD, BTN, BOB, BOL, BOV, BOP, BAM, BAD, BAN, BWP, BRC, BRZ, BRE, BRR, BRN, BRB, BRL, GBP, BND, BGL, BGN, BGO, BGM, BUK, BIF, XPF, KHR, CAD, CVE, KYD, XAF, CLE, CLP, CLF, CNX, CNY, CNH, COP, COU, KMF, CDF, CRC, HRD, HRK, CUC, CUP, CYP, CZK, CSK, DKK, DJF, DOP, NLG, XCD, DDM, ECS, ECV, EGP, GQE, ERN, EEK, ETB, EUR, XBA, XEU, XBB, XBC, XBD, FKP, FJD, FIM, FRF, XFO, XFU, GMD, GEK, GEL, DEM, GHS, GHC, GIP, XAU, GRD, GTQ, GWP, GNF, GNS, GYD, HTG, HNL, HKD, HUF, IMP, ISK, ISJ, INR, IDR, IRR, IQD, IEP, ILS, ILP, ILR, ITL, JMD, JPY, JOD, KZT, KES, KWD, KGS, LAK, LVL, LVR, LBP, LSL, LRD, LYD, LTL, LTT, LUL, LUC, LUF, MOP, MKD, MKN, MGA, MGF, MWK, MYR, MVR, MVP, MLF, MTL, MTP, MRU, MRO, MUR, MXV, MXN, MXP, MDC, MDL, MCF, MNT, MAD, MAF, MZE, MZN, MZM, MMK, NAD, NPR, ANG, TWD, NZD, NIO, NIC, NGN, KPW, NOK, OMR, PKR, XPD, PAB, PGK, PYG, PEI, PEN, PES, PHP, XPT, PLN, PLZ, PTE, GWE, QAR, XRE, RHD, RON, ROL, RUB, RUR, RWF, SVC, WST, SAR, RSD, CSD, SCR, SLL, XAG, SGD, SKK, SIT, SBD, SOS, ZAR, ZAL, KRH, KRW, KRO, SSP, SUR, ESP, ESA, ESB, XDR, LKR, SHP, XSU, SDD, SDG, SDP, SRD, SRG, SZL, SEK, CHF, SYP, STN, STD, TVD, TJR, TJS, TZS, XTS, THB, XXX, TPE, TOP, TTD, TND, TRY, TRL, TMT, TMM, USD, USN, USS, UGX, UGS, UAH, UAK, AED, UYW, UYU, UYP, UYI, UZS, VUV, VES, VEB, VEF, VND, VNN, CHE, CHW, XOF, YDD, YER, YUN, YUD, YUM, YUR, ZWN, ZRN, ZRZ, ZMW, ZMK, ZWD, ZWR, ZWL. In cases where there is no clear mapping, the original value passed through will be returned. To receive all enum values in the original format, use the show_enum_origins query parameter. Learn more.

tax_rateUUID
Optional
The tax rate that applies to this line item.

exchange_rateString
Optional
The purchase order line item's exchange rate.

companyUUID
Optional
The company the purchase order line item belongs to.

remote_was_deletedBoolean
Required
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

remote_fieldsRemoteField[]
Required

inclusive_of_taxBoolean
Optional
If the transaction is inclusive or exclusive of tax. True if inclusive, False if exclusive.

tracking_categoriesArray
Required

accounting_periodUUID
Optional
The accounting period that the PurchaseOrder was generated in.

remote_created_atDateTime (ISO 8601)
Optional
When the third party's purchase order note was created.

remote_updated_atDateTime (ISO 8601)
Optional
When the third party's purchase order note was updated.

remote_was_deletedBoolean
Required
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

field_mappingsObject
Optional

remote_dataRemoteData[]
Optional

remote_fieldsRemoteField[]
Required


GET
/purchase-orders

https://api.merge.dev/api/accounting/v1/purchase-orders

US
EU
APAC

Returns a list of PurchaseOrder objects.


Query & Path Parameters

company_idString
Optional
If provided, will only return purchase orders for this company.

created_afterDateTime (ISO 8601)
Optional
If provided, will only return objects created after this datetime.

created_beforeDateTime (ISO 8601)
Optional
If provided, will only return objects created before this datetime.

cursorString
Optional
The pagination cursor value.

expandString
Optional
Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.

include_deleted_dataBoolean
Optional
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

include_remote_dataBoolean
Optional
Whether to include the original data Merge fetched from the third-party to produce these models.

include_remote_fieldsBoolean
Optional
Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format.

include_shell_dataBoolean
Optional
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).

issue_date_afterDateTime (ISO 8601)
Optional
If provided, will only return objects created after this datetime.

issue_date_beforeDateTime (ISO 8601)
Optional
If provided, will only return objects created before this datetime.

modified_afterDateTime (ISO 8601)
Optional
If provided, only objects synced by Merge after this date time will be returned.

modified_beforeDateTime (ISO 8601)
Optional
If provided, only objects synced by Merge before this date time will be returned.

page_sizeInteger
Optional
Number of results to return per page.

remote_fieldsString
Optional
Deprecated. Use show_enum_origins.

remote_idString
Optional
The API provider's ID for the given object.

show_enum_originsString
Optional
A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. Learn more

Field support by integration
See all supported fields
Use the /linked-accounts endpoint to pull platform support information
Microsoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business Central
Microsoft Dynamics Finance and Operations
Microsoft Dynamics Finance and Operations
NetSuite
NetSuite
QuickBooks Online
QuickBooks Online
Sage Intacct
Sage Intacct
Xero
Xero
POST
/purchase-orders

https://api.merge.dev/api/accounting/v1/purchase-orders

US
EU
APAC

Creates a PurchaseOrder object with the given values.


Query & Path Parameters

is_debug_modeBoolean
Optional
Whether to include debug fields (such as log file links) in the response.

run_asyncBoolean
Optional
Whether or not third-party updates should be run asynchronously.
Body Parameters

modelObject
Required
Find available fields below under “Model Parameters”.
Model Parameters
View app-specific writable fields under “Field support by platform” in this section.

statusEnum
The purchase order's status. Must pass in one of the following choices: DRAFT, SUBMITTED, AUTHORIZED, BILLED, DELETED.

issue_dateDateTime (ISO 8601)
The purchase order's issue date.

delivery_dateDateTime (ISO 8601)
The purchase order's delivery date.

delivery_addressUUID
The purchase order's delivery address. Must pass in a valid Merge ID, which can be obtained from the id field in the Address object.

customerUUID
The contact making the purchase order. Must pass in a valid Merge ID, which can be obtained from the id field in the Customer object.

vendorUUID
The party fulfilling the purchase order. Must pass in a valid Merge ID, which can be obtained from the id field in the Contact object.

memoString
A memo attached to the purchase order.

companyUUID
The company the purchase order belongs to. Must pass in a valid Merge ID, which can be obtained from the id field in the CompanyInfo object.

total_amountNumber
The purchase order's total amount.

currencyEnum
The purchase order's currency. Must pass in one of the following choices: XUA, AFN, AFA, ALL, ALK, DZD, ADP, AOA, AOK, AON, AOR, ARA, ARS, ARM, ARP, ARL, AMD, AWG, AUD, ATS, AZN, AZM, BSD, BHD, BDT, BBD, BYN, BYB, BYR, BEF, BEC, BEL, BZD, BMD, BTN, BOB, BOL, BOV, BOP, BAM, BAD, BAN, BWP, BRC, BRZ, BRE, BRR, BRN, BRB, BRL, GBP, BND, BGL, BGN, BGO, BGM, BUK, BIF, XPF, KHR, CAD, CVE, KYD, XAF, CLE, CLP, CLF, CNX, CNY, CNH, COP, COU, KMF, CDF, CRC, HRD, HRK, CUC, CUP, CYP, CZK, CSK, DKK, DJF, DOP, NLG, XCD, DDM, ECS, ECV, EGP, GQE, ERN, EEK, ETB, EUR, XBA, XEU, XBB, XBC, XBD, FKP, FJD, FIM, FRF, XFO, XFU, GMD, GEK, GEL, DEM, GHS, GHC, GIP, XAU, GRD, GTQ, GWP, GNF, GNS, GYD, HTG, HNL, HKD, HUF, IMP, ISK, ISJ, INR, IDR, IRR, IQD, IEP, ILS, ILP, ILR, ITL, JMD, JPY, JOD, KZT, KES, KWD, KGS, LAK, LVL, LVR, LBP, LSL, LRD, LYD, LTL, LTT, LUL, LUC, LUF, MOP, MKD, MKN, MGA, MGF, MWK, MYR, MVR, MVP, MLF, MTL, MTP, MRU, MRO, MUR, MXV, MXN, MXP, MDC, MDL, MCF, MNT, MAD, MAF, MZE, MZN, MZM, MMK, NAD, NPR, ANG, TWD, NZD, NIO, NIC, NGN, KPW, NOK, OMR, PKR, XPD, PAB, PGK, PYG, PEI, PEN, PES, PHP, XPT, PLN, PLZ, PTE, GWE, QAR, XRE, RHD, RON, ROL, RUB, RUR, RWF, SVC, WST, SAR, RSD, CSD, SCR, SLL, XAG, SGD, SKK, SIT, SBD, SOS, ZAR, ZAL, KRH, KRW, KRO, SSP, SUR, ESP, ESA, ESB, XDR, LKR, SHP, XSU, SDD, SDG, SDP, SRD, SRG, SZL, SEK, CHF, SYP, STN, STD, TVD, TJR, TJS, TZS, XTS, THB, XXX, TPE, TOP, TTD, TND, TRY, TRL, TMT, TMM, USD, USN, USS, UGX, UGS, UAH, UAK, AED, UYW, UYU, UYP, UYI, UZS, VUV, VES, VEB, VEF, VND, VNN, CHE, CHW, XOF, YDD, YER, YUN, YUD, YUM, YUR, ZWN, ZRN, ZRZ, ZMW, ZMK, ZWD, ZWR, ZWL.

inclusive_of_taxBoolean
If the transaction is inclusive or exclusive of tax. True if inclusive, False if exclusive.

exchange_rateString
The purchase order's exchange rate.

tracking_categoriesArray

line_itemsArray

integration_paramsObject

linked_account_paramsObject

remote_fieldsArray

Field support by integration
See all supported fields
Use the /linked-accounts endpoint to pull platform support information
NetSuite
NetSuite
QuickBooks Online
QuickBooks Online
Sage Intacct
Sage Intacct
Not seeing an integration that you're looking for? Submit a request for it.
To include the correct model fields when making POST requests, use the GET /purchase-orders/meta/post endpoint. Learn more in our /meta guide.
GET
/purchase-orders/{id}

https://api.merge.dev/api/accounting/v1/purchase-orders/{id}

US
EU
APAC

Returns a PurchaseOrder object with the given id.


Query & Path Parameters

expandString
Optional
Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.

idUUID
Required

include_remote_dataBoolean
Optional
Whether to include the original data Merge fetched from the third-party to produce these models.

include_remote_fieldsBoolean
Optional
Whether to include all remote fields, including fields that Merge did not map to common models, in a normalized format.

remote_fieldsString
Optional
Deprecated. Use show_enum_origins.

show_enum_originsString
Optional
A comma separated list of enum field names for which you'd like the original values to be returned, instead of Merge's normalized enum values. Learn more

Field support by integration
See all supported fields
Use the /linked-accounts endpoint to pull platform support information
Microsoft Dynamics 365 Business Central
Microsoft Dynamics 365 Business Central
Microsoft Dynamics Finance and Operations
Microsoft Dynamics Finance and Operations
NetSuite
NetSuite
QuickBooks Online
QuickBooks Online
Sage Intacct
Sage Intacct
Xero
Xero
GET
/purchase-orders/line-items/remote-field-classes
Beta

https://api.merge.dev/api/accounting/v1/purchase-orders/line-items/remote-field-classes

US
EU
APAC

Returns a list of RemoteFieldClass objects.


Query & Path Parameters

cursorString
Optional
The pagination cursor value.

include_deleted_dataBoolean
Optional
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

include_remote_dataBoolean
Optional
Whether to include the original data Merge fetched from the third-party to produce these models.

include_shell_dataBoolean
Optional
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).

is_common_model_fieldBoolean
Optional
If provided, will only return remote field classes with this is_common_model_field value

page_sizeInteger
Optional
Number of results to return per page.

GET
/purchase-orders/meta/post

https://api.merge.dev/api/accounting/v1/purchase-orders/meta/post

US
EU
APAC

Returns metadata for PurchaseOrder POSTs.


Field support by integration
See all supported fields
Use the /linked-accounts endpoint to pull platform support information
NetSuite
NetSuite
QuickBooks Online
QuickBooks Online
Sage Intacct
Sage Intacct
Not seeing an integration that you're looking for? Submit a request for it.
GET
/purchase-orders/remote-field-classes
Beta

https://api.merge.dev/api/accounting/v1/purchase-orders/remote-field-classes

US
EU
APAC

Returns a list of RemoteFieldClass objects.


Query & Path Parameters

cursorString
Optional
The pagination cursor value.

include_deleted_dataBoolean
Optional
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. Learn more.

include_remote_dataBoolean
Optional
Whether to include the original data Merge fetched from the third-party to produce these models.

include_shell_dataBoolean
Optional
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).

is_common_model_fieldBoolean
Optional
If provided, will only return remote field classes with this is_common_model_field value

page_sizeInteger
Optional
Number of results to return per page.