cURL
curl -X PATCH "$EXSITED_BASE_URL/api/v4/invoices/INV-0001/information" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"invoice": {
"invoice_note": "Deliver to the loading dock.",
"customer_purchase_order_id": "PO-1001"
}
}'from exsited import build_client
client = build_client()
response = client.invoices.update_invoice_information(
"INV-0001",
{
"invoice": {
"invoice_note": "Deliver to the loading dock.",
"customer_purchase_order_id": "PO-1001",
}
},
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.invoices.updateInvoiceInformation('INV-0001', {
invoice: {invoice_note: 'Deliver to the loading dock.', customer_purchase_order_id: 'PO-1001'},
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->invoices->updateInvoiceInformation('INV-0001', [
'invoice' => [
'invoice_note' => 'Deliver to the loading dock.',
'customer_purchase_order_id' => 'PO-1001',
],
]);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.resources.invoices.invoices_dto.InvoicesDto.Invoice;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<Invoice> response = client.invoices().updateInvoiceInformation(
"INV-0001",
Map.of(
"invoice", Map.of(
"invoice_note", "Deliver to the loading dock.",
"customer_purchase_order_id", "PO-1001")));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Invoices.UpdateInvoiceInformationAsync(
"INV-0001",
new Dictionary<string, object?>
{
["invoice"] = new Dictionary<string, object?>
{
["invoice_note"] = "Deliver to the loading dock.",
["customer_purchase_order_id"] = "PO-1001",
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.invoices.updateInvoiceInformation('INV-0001', {
'invoice': {
'invoice_note': 'Deliver to the loading dock.',
'customer_purchase_order_id': 'PO-1001',
},
});
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.Invoices().UpdateInvoiceInformation(context.Background(), "INV-0001", map[string]any{
"invoice": map[string]any{
"invoice_note": "Deliver to the loading dock.",
"customer_purchase_order_id": "PO-1001",
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"invoice": {
"id": "<string>",
"uuid": "<string>",
"version": 123,
"status": "<string>",
"type": "<string>",
"origin": "<string>",
"payment_status": "<string>",
"account_id": "<string>",
"account_name": "<string>",
"order_id": "<string>",
"customer_purchase_order_id": "<string>",
"invoice_note": "<string>",
"issue_date": "<string>",
"due_date": "<string>",
"alternate_issue_date": "<string>",
"alternate_due_date": "<string>",
"billing_start_date": "<string>",
"billing_end_date": "<string>",
"alternate_billing_start_date": "<string>",
"alternate_billing_end_date": "<string>",
"subtotal": "<string>",
"tax": "<string>",
"tax_total": "<string>",
"total": "<string>",
"due": "<string>",
"paid": "<string>",
"discount_amount": 123,
"shipping_cost": "<string>",
"credit_applied": "<string>",
"credit_issued": "<string>",
"payment_applied": "<string>",
"outstanding": "<string>",
"price_tax_inclusive": true,
"recurring_rate_count": "<string>",
"usage_rate_count": "<string>",
"currency": {
"code": "<string>",
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>"
},
"custom_form": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"kpis": {
"credit_applied": "<string>",
"credit_issued": "<string>",
"payment_applied": "<string>",
"last_payment_date": "<string>",
"last_amended_on": "<string>",
"last_cancelled_on": "<string>",
"last_reactivated_on": "<string>",
"deleted_on": "<string>",
"voided_on": "<string>",
"outstanding": "<string>",
"overdue": 123
},
"last_payment": {
"uuid": "<string>",
"id": "<string>",
"date": "<string>",
"amount": "<string>",
"created_on": "<string>"
},
"created_on": "<string>",
"created_by": {
"name": "<string>",
"object": "<string>"
},
"last_updated_on": "<string>",
"last_updated_by": {
"name": "<string>",
"object": "<string>"
},
"lines": [
{
"object": "<string>",
"id": "<string>",
"version": 123,
"item": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"item_id": "<string>",
"item_uuid": "<string>",
"item_name": "<string>",
"item_uom": "<string>",
"item_warehouse": "<string>",
"item_serial_or_batch_number": "<string>",
"item_order_quantity": 123,
"item_charge_type": "<string>",
"item_custom_attributes": [
"<unknown>"
],
"pricing_snapshot_price": 123,
"pricing_snapshot_uuid": "<string>",
"charging_start_date": "<string>",
"charging_end_date": "<string>",
"alternate_charging_start_date": "<string>",
"alternate_charging_end_date": "<string>",
"subtotal": "<string>",
"total": "<string>",
"tax": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"rate": 123,
"amount": "<string>",
"href": "<string>"
},
"accounting_code": {
"sales_revenue": "<string>"
}
}
],
"custom_attributes": [
{
"name": "<string>",
"value": "<unknown>"
}
],
"custom_objects": [
"<unknown>"
],
"activity_logs": [
{
"activity": "<string>"
}
],
"notes": [
{
"object": "<string>",
"id": "<string>",
"href": "<string>",
"content": "<string>",
"version": 123,
"invoice": {
"href": "<string>",
"id": "<string>",
"object": "<string>"
},
"group": "<unknown>",
"user": "<unknown>",
"attachments": [
{
"uuid": "<string>",
"filename": "<string>",
"content_type": "<string>",
"size": 123,
"href": "<string>"
}
],
"watchers": [
{
"email": "<string>",
"name": "<string>",
"type": "<string>"
}
],
"created_on": "<string>",
"created_by": {
"name": "<string>",
"object": "<string>"
},
"last_updated_on": "<unknown>",
"last_updated_by": "<unknown>"
}
],
"item_fulfillments": [
{
"uuid": "<string>",
"id": "<string>",
"version": "<string>",
"invoice_id": "<string>",
"order_id": "<string>",
"date": "<string>",
"status": "<string>",
"note": "<string>",
"tracking_number": "<string>",
"created_on": "<string>",
"created_by": "<string>",
"last_updated_on": "<string>",
"last_updated_by": "<string>",
"fulfillments": [
"<unknown>"
]
}
],
"return_merchandise_authorisations": [
"<unknown>"
],
"account": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"object": "<string>",
"order": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
}
}
}Invoices
Update an invoice's information
Changes an invoice’s note or customer purchase order number and returns the invoice.
PATCH
/
invoices
/
{invoice_id}
/
information
cURL
curl -X PATCH "$EXSITED_BASE_URL/api/v4/invoices/INV-0001/information" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"invoice": {
"invoice_note": "Deliver to the loading dock.",
"customer_purchase_order_id": "PO-1001"
}
}'from exsited import build_client
client = build_client()
response = client.invoices.update_invoice_information(
"INV-0001",
{
"invoice": {
"invoice_note": "Deliver to the loading dock.",
"customer_purchase_order_id": "PO-1001",
}
},
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.invoices.updateInvoiceInformation('INV-0001', {
invoice: {invoice_note: 'Deliver to the loading dock.', customer_purchase_order_id: 'PO-1001'},
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->invoices->updateInvoiceInformation('INV-0001', [
'invoice' => [
'invoice_note' => 'Deliver to the loading dock.',
'customer_purchase_order_id' => 'PO-1001',
],
]);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.resources.invoices.invoices_dto.InvoicesDto.Invoice;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<Invoice> response = client.invoices().updateInvoiceInformation(
"INV-0001",
Map.of(
"invoice", Map.of(
"invoice_note", "Deliver to the loading dock.",
"customer_purchase_order_id", "PO-1001")));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Invoices.UpdateInvoiceInformationAsync(
"INV-0001",
new Dictionary<string, object?>
{
["invoice"] = new Dictionary<string, object?>
{
["invoice_note"] = "Deliver to the loading dock.",
["customer_purchase_order_id"] = "PO-1001",
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.invoices.updateInvoiceInformation('INV-0001', {
'invoice': {
'invoice_note': 'Deliver to the loading dock.',
'customer_purchase_order_id': 'PO-1001',
},
});
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.Invoices().UpdateInvoiceInformation(context.Background(), "INV-0001", map[string]any{
"invoice": map[string]any{
"invoice_note": "Deliver to the loading dock.",
"customer_purchase_order_id": "PO-1001",
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"invoice": {
"id": "<string>",
"uuid": "<string>",
"version": 123,
"status": "<string>",
"type": "<string>",
"origin": "<string>",
"payment_status": "<string>",
"account_id": "<string>",
"account_name": "<string>",
"order_id": "<string>",
"customer_purchase_order_id": "<string>",
"invoice_note": "<string>",
"issue_date": "<string>",
"due_date": "<string>",
"alternate_issue_date": "<string>",
"alternate_due_date": "<string>",
"billing_start_date": "<string>",
"billing_end_date": "<string>",
"alternate_billing_start_date": "<string>",
"alternate_billing_end_date": "<string>",
"subtotal": "<string>",
"tax": "<string>",
"tax_total": "<string>",
"total": "<string>",
"due": "<string>",
"paid": "<string>",
"discount_amount": 123,
"shipping_cost": "<string>",
"credit_applied": "<string>",
"credit_issued": "<string>",
"payment_applied": "<string>",
"outstanding": "<string>",
"price_tax_inclusive": true,
"recurring_rate_count": "<string>",
"usage_rate_count": "<string>",
"currency": {
"code": "<string>",
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>"
},
"custom_form": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"kpis": {
"credit_applied": "<string>",
"credit_issued": "<string>",
"payment_applied": "<string>",
"last_payment_date": "<string>",
"last_amended_on": "<string>",
"last_cancelled_on": "<string>",
"last_reactivated_on": "<string>",
"deleted_on": "<string>",
"voided_on": "<string>",
"outstanding": "<string>",
"overdue": 123
},
"last_payment": {
"uuid": "<string>",
"id": "<string>",
"date": "<string>",
"amount": "<string>",
"created_on": "<string>"
},
"created_on": "<string>",
"created_by": {
"name": "<string>",
"object": "<string>"
},
"last_updated_on": "<string>",
"last_updated_by": {
"name": "<string>",
"object": "<string>"
},
"lines": [
{
"object": "<string>",
"id": "<string>",
"version": 123,
"item": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"item_id": "<string>",
"item_uuid": "<string>",
"item_name": "<string>",
"item_uom": "<string>",
"item_warehouse": "<string>",
"item_serial_or_batch_number": "<string>",
"item_order_quantity": 123,
"item_charge_type": "<string>",
"item_custom_attributes": [
"<unknown>"
],
"pricing_snapshot_price": 123,
"pricing_snapshot_uuid": "<string>",
"charging_start_date": "<string>",
"charging_end_date": "<string>",
"alternate_charging_start_date": "<string>",
"alternate_charging_end_date": "<string>",
"subtotal": "<string>",
"total": "<string>",
"tax": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"rate": 123,
"amount": "<string>",
"href": "<string>"
},
"accounting_code": {
"sales_revenue": "<string>"
}
}
],
"custom_attributes": [
{
"name": "<string>",
"value": "<unknown>"
}
],
"custom_objects": [
"<unknown>"
],
"activity_logs": [
{
"activity": "<string>"
}
],
"notes": [
{
"object": "<string>",
"id": "<string>",
"href": "<string>",
"content": "<string>",
"version": 123,
"invoice": {
"href": "<string>",
"id": "<string>",
"object": "<string>"
},
"group": "<unknown>",
"user": "<unknown>",
"attachments": [
{
"uuid": "<string>",
"filename": "<string>",
"content_type": "<string>",
"size": 123,
"href": "<string>"
}
],
"watchers": [
{
"email": "<string>",
"name": "<string>",
"type": "<string>"
}
],
"created_on": "<string>",
"created_by": {
"name": "<string>",
"object": "<string>"
},
"last_updated_on": "<unknown>",
"last_updated_by": "<unknown>"
}
],
"item_fulfillments": [
{
"uuid": "<string>",
"id": "<string>",
"version": "<string>",
"invoice_id": "<string>",
"order_id": "<string>",
"date": "<string>",
"status": "<string>",
"note": "<string>",
"tracking_number": "<string>",
"created_on": "<string>",
"created_by": "<string>",
"last_updated_on": "<string>",
"last_updated_by": "<string>",
"fulfillments": [
"<unknown>"
]
}
],
"return_merchandise_authorisations": [
"<unknown>"
],
"account": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"object": "<string>",
"order": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
}
}
}Updates the invoice’s header fields sent under
invoice, such as invoice_note and customer_purchase_order_id. Fields you leave out keep their values.
The SDK samples get their client from credentials your app registers once when it starts, as shown in Authentication. To try the call here, click Try it, set
host to your Exsited API host name and paste an access token from Get an access token. To send a raw JSON body instead of filling in fields, copy the cURL sample and edit its -d payload.Authorizations
An access token from POST /api/v4/oauth2/token. The SDKs get and renew it for you.
Path Parameters
The invoice's id, such as INV-0001. Not its uuid.
Body
application/json
Show child attributes
Show child attributes
Response
200 - application/json
The updated invoice, under invoice.
Show child attributes
Show child attributes