COUNTCOUNT
Sign Up
InvoicesUpdate an invoice

Update an invoice

PATCH/partners/invoices/{uuid}

Updates an invoice. Edits to non-draft invoices are field-specific and may be rejected.

HMAC signature + Bearer access token
Try this request

Path parameters

uuiduuidrequired

The UUID of the invoice.

Request body

dueDatedate

Updated due date.

productsarray

Replacement line items (draft invoices only). Same shape as create.

Responses

200Invoice updated.
400Bad request — the change is not allowed on a non-draft invoice.
404Invoice not found.
PATCHhttps://api.getcount.com/partners/invoices/{uuid}
Request
import crypto from 'node:crypto';

const BASE_URL = 'https://api.getcount.com';
const CLIENT_ID = process.env.COUNT_CLIENT_ID;
const CLIENT_SECRET = process.env.COUNT_CLIENT_SECRET;
const ACCESS_TOKEN = process.env.COUNT_ACCESS_TOKEN;

const method = 'PATCH';
const signingPath = '/invoices/3fa85f64-5717-4562-b3fc-2c963f66afa6';
const timestamp = Math.floor(Date.now() / 1000).toString();
const body = {
  "dueDate": "2026-04-15"
};
const bodyString = JSON.stringify(body);

const bodyHash = crypto.createHash('sha256').update(bodyString).digest('hex');
const baseString = `${method}:${signingPath}:${timestamp}:${bodyHash}`;
const signature = crypto.createHmac('sha256', CLIENT_SECRET).update(baseString).digest('hex');

const response = await fetch(`${BASE_URL}/partners/invoices/3fa85f64-5717-4562-b3fc-2c963f66afa6`, {
  method,
  headers: {
    'x-client-id': CLIENT_ID,
    'x-timestamp': timestamp,
    'x-signature': signature,
    'Content-Type': 'application/json',
    Authorization: `Bearer ${ACCESS_TOKEN}`,
  },
  body: bodyString,
});

console.log(await response.json());
Response · 200
{
  "status": "success",
  "data": {
    "invoice": {
      "id": "f6a7b8c9-d0e1-2345-fabc-456789012345",
      "invoiceNumber": "INV-1042",
      "invoiceType": "invoice",
      "customerUuid": "dfa3219e-6af8-4c53-997a-037534f63a35",
      "date": "2026-03-01",
      "dueDate": "2026-04-15",
      "currency": "USD",
      "status": "sent",
      "isDraft": false,
      "approved": true,
      "isSent": true,
      "paymentStatus": "unpaid",
      "subtotal": 1000,
      "taxTotal": 85,
      "total": 1085,
      "amountDue": 1085,
      "products": [
        {
          "productUuid": "aa11bb22-cc33-dd44-ee55-ff6677889900",
          "description": "Consulting services",
          "quantity": 10,
          "unitPrice": 100,
          "nonTaxable": false
        }
      ],
      "createdAt": "2026-03-01T09:00:00.000Z",
      "updatedAt": "2026-03-02T11:15:00.000Z"
    }
  }
}