COUNTCOUNT
Sign Up
BillsUnassign a vendor memo from a bill

Unassign a vendor memo from a bill

POST/partners/bills/{uuid}/unassign-vendor-memos

Removes a vendor credit memo previously applied to a bill.

Reverses an apply-vendor-memos application in full, restoring the bill open balance and the memo available balance. vendorMemoId is the vendor memo UUID. Vendor memos are not transactions, so POST /{uuid}/unassign-transaction cannot remove them. MCP equivalent: COUNT_unassign_vendor_memo_from_bill.

HMAC signature + Bearer access token
Try this request

Path parameters

uuiduuidrequired

The bill UUID the memo is applied to.

Request body

vendorMemoIduuidrequired

UUID of the applied vendor memo to remove.

Responses

200Vendor memo unassigned from bill.
400vendorMemoId missing, the memo is not applied to this bill, or the application date is in a closed period.
404Bill or vendor memo not found.
401Missing or invalid HMAC signature, expired timestamp, or invalid Bearer token. Troubleshoot
403The credential does not have access to this workspace or resource. Troubleshoot
429Rate limit exceeded (100 requests per minute per clientId). Retry after the Retry-After header. Troubleshoot
POSThttps://api.getcount.com/partners/bills/{uuid}/unassign-vendor-memos
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 = 'POST';
const signingPath = '/bills/3fa85f64-5717-4562-b3fc-2c963f66afa6/unassign-vendor-memos';
const timestamp = Math.floor(Date.now() / 1000).toString();
const body = {
  "vendorMemoId": "e3f4a5b6-c7d8-9012-efab-345678901234"
};
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/bills/3fa85f64-5717-4562-b3fc-2c963f66afa6/unassign-vendor-memos`, {
  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",
  "message": "Vendor memos unassigned from bill",
  "data": {
    "bill": {
      "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
      "billNumber": "BILL-1042",
      "billType": "bill",
      "date": "2026-01-15",
      "dueDate": "2026-02-15",
      "currency": "USD",
      "approvalStatus": "approved",
      "status": "unpaid",
      "total": 250,
      "paidAmount": 0,
      "amountDue": 250,
      "notes": "Office supplies for Q1",
      "purchaseOrderNumber": null,
      "isDeleted": false,
      "vendor": {
        "id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
        "name": "Office Depot",
        "email": "ap@officedepot.example"
      },
      "lineItems": [
        {
          "id": "a4b5c6d7-e8f9-0123-abcd-456789012345",
          "description": "Office supplies",
          "quantity": 1,
          "price": 250,
          "total": 250,
          "categoryAccountUuid": "c3d4e5f6-a7b8-9012-cdef-123456789012"
        }
      ],
      "transactions": [],
      "appliedVendorMemos": [],
      "tagUuids": [],
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-28T14:22:30.000Z"
    }
  }
}