Skip to main content
POST
/
v1
/
platform
/
businesses
/
{business_id}
/
invoices
/
{invoice_id}
/
void
Void invoice
curl --request POST \
  --url https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/invoices/{invoice_id}/void/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "invoice_number": "<string>",
  "external_id": "<string>",
  "memo": "<string>",
  "customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'
{
  "type": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "status": "SENT",
  "sent_at": "2023-11-07T05:31:56Z",
  "due_at": "2023-11-07T05:31:56Z",
  "paid_at": "2023-11-07T05:31:56Z",
  "voided_at": "2023-11-07T05:31:56Z",
  "is_overdue": false,
  "invoice_number": "<string>",
  "invoice_type": "invoice",
  "currency": "<string>",
  "customer": {
    "type": "<string>",
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "external_id": "<string>",
    "reference_number": "<string>",
    "individual_name": "<string>",
    "company_name": "<string>",
    "display_name": "<string>",
    "email": "[email protected]",
    "mobile_phone": "<string>",
    "office_phone": "<string>",
    "address_line1": "<string>",
    "address_line2": "<string>",
    "city": "<string>",
    "state_county": "<string>",
    "postal_code": "<string>",
    "country": "<string>",
    "full_address": "<string>",
    "address_string": "<string>",
    "vat_number": "<string>",
    "tax_exempt": true,
    "status": "<string>",
    "is_active": true,
    "is_archived": true,
    "transaction_tags": [
      "<unknown>"
    ],
    "notes": "<string>",
    "metadata": "<unknown>",
    "payment_terms_days": 123,
    "credit_limit": 123,
    "credit_limit_cents": 123,
    "outstanding_balance": 123,
    "documents": [
      {
        "url": "<string>",
        "expires_in": 123,
        "document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "file_name": "<string>",
        "file_size": 123,
        "mime_type": "<string>"
      }
    ],
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "archived_at": "2023-11-07T05:31:56Z"
  },
  "line_items": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "invoice_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "account_identifier": {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "type": "AccountId"
      },
      "description": "<string>",
      "unit_price": 123,
      "quantity": 123,
      "subtotal": 123,
      "discount_amount": 123,
      "sales_taxes_total": 123,
      "total_amount": 123,
      "external_id": "<string>",
      "product": "<string>"
    }
  ],
  "subtotal": 123,
  "additional_discount": 123,
  "additional_sales_taxes": [
    {
      "amount": 123,
      "tax_account": "<unknown>",
      "rate": "<string>",
      "name": "<string>"
    }
  ],
  "additional_sales_taxes_total": 123,
  "tips": 123,
  "tips_account": "<string>",
  "total_amount": 123,
  "outstanding_balance": 123,
  "payment_allocations": [
    {
      "amount_cents": 123,
      "payment_date": "2023-12-25",
      "payment_method": "<string>",
      "payment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    }
  ],
  "credit_allocations": [
    {
      "amount_cents": 123,
      "applied_at": "2023-11-07T05:31:56Z",
      "credit_note_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "reference_number": "<string>"
    }
  ],
  "refund_allocations": [
    {
      "refund_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "amount_cents": 123,
      "allocated_at": "2023-11-07T05:31:56Z",
      "reference_number": "<string>"
    }
  ],
  "write_offs": [
    {
      "write_off_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "amount_cents": 123,
      "reason": "<string>",
      "status": "<string>",
      "write_off_at": "2023-11-07T05:31:56Z"
    }
  ],
  "document": {
    "url": "<string>",
    "expires_in": 123,
    "document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "file_name": "<string>",
    "file_size": 123,
    "mime_type": "<string>"
  },
  "imported_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "external_id": "<string>",
  "memo": "<string>"
}

Authorizations

Authorization
string
header
required

Partner-level JWT token (unscoped). Token payload includes partner_id. Business access is validated via partner ownership. Format: Bearer <your-jwt-token>

Use this for: Multi-business operations where the business_id is specified in the URL and partner has access to multiple businesses.

Path Parameters

business_id
string<uuid>
required

Business UUID provided by Thred (unique identifier for the business)

invoice_id
string<uuid>
required

A UUID string identifying this invoice.

Body

Invoice serializer for API responses All monetary amounts are returned in cents

invoice_number
string
required

Invoice number for display and reference

Required string length: 1 - 100
external_id
string

External system identifier

memo
string

Invoice description or memo

customer_id
string<uuid>

Customer ID for invoice creation

Response

Invoice serializer for API responses All monetary amounts are returned in cents

type
string
required

Resource type identifier

id
string<uuid>
required

Unique invoice identifier

business_id
string<uuid>
required

Business this invoice belongs to

status
enum<string>
required

Invoice status in uppercase format

Available options:
DRAFT,
SENT,
PAID,
PARTIALLY_PAID,
OVERDUE,
CANCELLED,
REFUNDED
Example:

"SENT"

sent_at
string<date-time>
required

When the invoice was sent to customer

due_at
string<date-time>
required

When payment is due (ISO timestamp)

paid_at
string<date-time>
required

When the invoice was fully paid

voided_at
string<date-time> | null
required

When the invoice was voided (always null - we use cancelled status)

is_overdue
boolean
required

True if invoice is past due date and has outstanding balance

Example:

false

invoice_number
string
required

Invoice number for display and reference

Maximum string length: 100
invoice_type
enum<string>
required

Type of invoice: invoice or receipt

  • invoice - Invoice
  • receipt - Receipt
Available options:
invoice,
receipt
currency
string
required

ISO 4217 currency code (e.g., EUR, GBP, USD)

Maximum string length: 3
customer
object
required

Customer information

line_items
object[]
required

Array of invoice line items

subtotal
integer
required

Subtotal amount in cents before taxes

additional_discount
integer
required

Additional invoice-level discount in cents

additional_sales_taxes
object[]
required

Additional sales taxes array

additional_sales_taxes_total
integer
required

Total additional sales taxes in cents

tips
integer
required

Tips amount in cents

tips_account
string | null
required

Tips account information

total_amount
integer
required

Total invoice amount in cents including taxes

outstanding_balance
integer
required

Outstanding balance in cents

payment_allocations
object[]
required

Array of payment allocations

credit_allocations
object[]
required

Array of customer credit note allocations

refund_allocations
object[]
required

Array of refund allocations

write_offs
object[]
required

Array of write-offs on this invoice

document
object
required

Latest invoice document file with presigned URL

imported_at
string<date-time>
required

When the invoice was imported/created

updated_at
string<date-time>
required

When the invoice was last updated

external_id
string

External system identifier

memo
string

Invoice description or memo