Skip to main content
PUT
Update PurchaseOrderV2 record

Authorizations

X-API-KEY
string
header
required

Headers

Idempotency-Key
string

Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422.

Maximum string length: 255

Path Parameters

record_number
integer
required

The number attribute of the record.

Body

application/json
date
string<date>
required
company_id
integer
required
vendor_id
integer
required
currency_iso_4217_code
enum<string>
required
Available options:
AED,
AFN,
ALL,
AMD,
ANG,
AOA,
ARS,
AUD,
AWG,
AZN,
BAM,
BBD,
BDT,
BGN,
BHD,
BIF,
BMD,
BND,
BOB,
BRL,
BSD,
BTN,
BWP,
BYN,
BZD,
CAD,
CDF,
CHF,
CLF,
CLP,
CNY,
COP,
CRC,
CUP,
CVE,
CZK,
DJF,
DKK,
DOP,
DZD,
EGP,
ERN,
ETB,
EUR,
FJD,
FKP,
GBP,
GEL,
GHS,
GIP,
GMD,
GNF,
GTQ,
GYD,
HKD,
HNL,
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,
LYD,
MAD,
MDL,
MGA,
MKD,
MMK,
MNT,
MOP,
MRU,
MUR,
MVR,
MWK,
MXN,
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,
STN,
SVC,
SYP,
SZL,
THB,
TJS,
TMT,
TND,
TOP,
TRY,
TTD,
TWD,
TZS,
UAH,
UGX,
USD,
UYU,
UZS,
VES,
VND,
VUV,
WST,
XAF,
XAG,
XAU,
XCD,
XDR,
XOF,
XPD,
XPF,
XPT,
YER,
ZAR,
ZMW,
ZWL
exchange_rate
required
memo
string
required
ship_from_address
AddressSchemaIn · object | null
ship_to_address
AddressSchemaIn · object | null
supply_date
string<date> | null
place_of_supply
string | null
Maximum string length: 2
tax_registration_numbers
TaxRegistrationNumbersSnapshot · object | null
tax_metadata
object | null
auto_calculate_tax
enum<string> | null

Set to "required" to calculate tax for every line and replace any supplied tax amounts before saving, or return 422 when calculation cannot complete. Omit the field to keep caller-supplied tax. The calculation supports native US sales tax (the DualEntry tax engine) and Avalara Sales Tax, VAT, and GST. Native VAT and GST return 422, because this field does not select a rate. Tax addresses: money-in uses shipping_address, then billing_address, then the customer saved address. Money-out uses ship_from_address and ship_to_address, then the vendor and company saved addresses. When a money-in payload has no address, DualEntry copies the customer saved address to billing_address and shipping_address. A money-out record saves only the ship addresses that the payload sends. Returns 422 when calculation cannot resolve a required address.

Available options:
required
items
PublicPurchaseOrderItemIn · object[]
expenses
PublicPurchaseOrderExpenseIn · object[]
attachments
AttachmentSchemaOut · object[]
record_status
enum<string>
default:posted
Available options:
draft,
posted,
archived
term_id
integer | null
reference_number
string
default:""
expected_location_id
integer | null

Default expected location for this PO's lines. Advisory only, not enforced.

Response

OK

term_id
integer | null
required
term_name
string
required
internal_id
integer
required
number
integer
required
date
string<date>
required
company_id
integer
required
company_name
string
required

Name of the company

company_currency
string
required
vendor_id
integer
required
vendor_name
string
required
currency_iso_4217_code
enum<string>
required
Available options:
AED,
AFN,
ALL,
AMD,
ANG,
AOA,
ARS,
AUD,
AWG,
AZN,
BAM,
BBD,
BDT,
BGN,
BHD,
BIF,
BMD,
BND,
BOB,
BRL,
BSD,
BTN,
BWP,
BYN,
BZD,
CAD,
CDF,
CHF,
CLF,
CLP,
CNY,
COP,
CRC,
CUP,
CVE,
CZK,
DJF,
DKK,
DOP,
DZD,
EGP,
ERN,
ETB,
EUR,
FJD,
FKP,
GBP,
GEL,
GHS,
GIP,
GMD,
GNF,
GTQ,
GYD,
HKD,
HNL,
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,
LYD,
MAD,
MDL,
MGA,
MKD,
MMK,
MNT,
MOP,
MRU,
MUR,
MVR,
MWK,
MXN,
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,
STN,
SVC,
SYP,
SZL,
THB,
TJS,
TMT,
TND,
TOP,
TRY,
TTD,
TWD,
TZS,
UAH,
UGX,
USD,
UYU,
UZS,
VES,
VND,
VUV,
WST,
XAF,
XAG,
XAU,
XCD,
XDR,
XOF,
XPD,
XPF,
XPT,
YER,
ZAR,
ZMW,
ZWL
exchange_rate
string
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,16}0*$
billed_total
string
required

Total quantity of items that were already billed

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
due_total
string
required

Total quantity of items yet to be billed

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
amount
string
required

Total amount of ordered items

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
memo
string
required
record_status
enum<string>
required
Available options:
draft,
posted,
archived
billed_status
enum<string>
required
Available options:
billed,
unbilled,
partially_billed
lifecycle_status
enum<string>
required
Available options:
open,
closed,
cancelled
created_at
string<date-time>
required

Date and time the record was created

updated_at
string<date-time>
required

Date and time the record was last updated

ship_from_address
AddressSchemaOut · object | null
ship_to_address
AddressSchemaOut · object | null
attachments
PublicAttachmentSchemaOut · object[]
created_by
AuditActorSchemaOut · object | null

Schema for audit actor information.

updated_by
AuditActorSchemaOut · object | null

Schema for audit actor information.

approval_status
string | null
next_approvers
ApproverDictSchema · object[] | null
rejected_by
RejectedBySchema · object | null

Schema for rejector information including rejection reason.

code
string | null
items
PublicPurchaseOrderItemOut · object[]
expenses
PublicPurchaseOrderExpenseOut · object[]
expense_billed_total
string
default:0.00

Total amount of expense lines that were already billed

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
expense_due_total
string
default:0.00

Total amount of expense lines yet to be billed

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d{0,2}0*$
reference_number
string
default:""
expected_location_id
integer | null

Default expected location for this PO's lines. Advisory only, not enforced.

expected_location_name
string | null

Name of the default expected location

has_more_lines
boolean
default:false
has_more_expenses
boolean
default:false
lines_count
integer
default:0