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

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

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

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

statusEnum
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)
The purchase order's issue date.

purchase_order_numberString
The human-readable number of the purchase order.

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

delivery_addressUUID
The purchase order's delivery address.

customerUUID
The contact making the purchase order.

vendorUUID
The party fulfilling the purchase order.

memoString
A memo attached to the purchase order.

companyUUID
The company the purchase order belongs to.

total_amountNumber
The purchase order's total amount.

currencyEnum
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
The purchase order's exchange rate.

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

idUUID

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

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

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

descriptionString
A description of the good being purchased.

unit_priceNumber
The line item's unit price.

quantityNumber
The line item's quantity.

itemUUID

accountUUID
The purchase order line item's account.

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

tax_amountString
The purchase order line item's tax amount.

total_line_amountString
The purchase order line item's total amount.

currencyEnum
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
The tax rate that applies to this line item.

exchange_rateString
The purchase order line item's exchange rate.

companyUUID
The company the purchase order line item belongs to.

remote_was_deletedBoolean
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[]

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

tracking_categoriesArray

accounting_periodUUID
The accounting period that the PurchaseOrder was generated in.

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

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

remote_was_deletedBoolean
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

remote_dataRemoteData[]
The RemoteData object
The RemoteData object is used to represent the full data pulled from the third-party API for an object.
Properties

pathString
The third-party API path that is being called.

dataAny
The data returned from the third-party for this object in its original, unnormalized format.

remote_fieldsRemoteField[]


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
FreeAgent
FreeAgent
Unsupported by API provider
POST
/purchase-orders

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

US
EU
APAC

Creates a PurchaseOrder object with the given values. To run asynchronously, see our guide.


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
FreeAgent
FreeAgent
Unsupported by API provider
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.