---
title: "List Invoices"
method: GET
path: "/coa/api/v1/invoice/"
tags: ["Accounts Receivable"]
---

# List Invoices

`GET /coa/api/v1/invoice/`

Retrieve a paginated list of invoices with comprehensive filtering, sorting, and download capabilities.

        This endpoint provides powerful invoice listing with:
        - Advanced filtering by date ranges, status, clients, and entities
        - Full-text search across multiple fields
        - Flexible sorting options including custom calculated fields
        - Async CSV export functionality via email
        - Optimized queries with prefetched relationships

        **Filtering Options:**
        - Date-based filtering (invoice_date, due_date ranges)
        - Status-based filtering (payment status, sent status, aging buckets)
        - Entity and client-based filtering (supports multiple selections)
        - Contract and currency filtering
        - Full-text search across invoice numbers, addresses, messages, and client names

        **Sorting Capabilities:**
        - Standard field sorting (invoice_date, total_amount, due_date, etc.)
        - Custom calculated field sorting (amount_due, client_name, contract_name)
        - Ascending/descending order with null handling

        **Performance Features:**
        - Efficient database queries with proper indexing
        - Prefetched related objects (lines, payments, clients, entities)
        - Pagination support for large datasets
        - Optimized for high-volume invoice management

        **Export Functionality:**
        - Async CSV generation and email delivery
        - Filtered export based on current query parameters
        - Background processing to handle large datasets

## Query parameters

- `client` integer
- `contract` integer
- `currency` string
- `download` boolean
- `end_date` string
- `entity` integer
- `invoice_number` string
- `limit` integer
- `line_tag_group_id` integer
- `line_tag_id` integer
- `offset` integer
- `paid_date_from` string
- `paid_date_to` string
- `parent_client` integer
- `q` string
- `ref_number` string
- `sentStatus` 'not_sent' | 'sent'
- `sort` string
- `start_date` string
- `status` '1_30' | '31_60' | '61_90' | '91_120' | 'current' | 'over_120' | 'paid' | 'partially_paid' | 'past_due' | 'sent' | 'uncollectible' | 'unpaid' | 'voided'

## Response `200`

- PaginatedAccountingInvoiceListList
  - `count` integer, required
  - `next` string, uri, nullable
  - `previous` string, uri, nullable
  - `results` AccountingInvoiceList[], required
    - `id` integer, required
    - `lines` AccountingInvoiceLine[], required
      - `id` integer, required
      - `invoice` integer
      - `product_name` string, required
      - `product_bundle_name` string, required
      - `stripe_product_id` string, required
      - `product_is_taxable` boolean, required
      - `anrok_item_id` string, required
      - `sphere_item_id` string, required
      - `service_date` string, date, nullable
      - `tags` object[], required
      - `department_name` string, required
      - `department_code` string, required
      - `withholding_tax_rate_name` string, required
      - `withholding_tax_rate_value` number, double, nullable, required — Sum of the selected withholding rate's component rates, for line-level preview.
      - `description` string, nullable
      - `quantity` number, double
      - `rate` number, double
      - `currency` string
      - `amount` number, double
      - `tax` number, double
      - `tax_description` string, nullable
      - `entity_use_code` string, nullable — Avalara entity/use code for line-level tax exemptions
      - `discount` number, double — Discount amount in currency
      - `discount_percentage` number, double — Discount percentage (0-100)
      - `discount_amount` number, double — Discount amount calculated from percentage
      - `tag_ids` integer[]
      - `tag_group_ids` integer[]
      - `created_at` string, date-time, required
      - `last_modified_at` string, date-time, required
      - `customer` integer, required
      - `product` integer, nullable
      - `product_bundle` integer, nullable
      - `withholding_tax_rate` integer, nullable — Marks this line as subject to withholding; used for preview only. Null = not subject.
      - `department` integer, nullable
    - `journal_entry_intercompany` string, required
    - `client_name` string, required
    - `client_email` string, required
    - `anrok_customer_id` string, required
    - `client_invoice_message` string, required
    - `client_use_stripe_auto_bill` boolean, required
    - `contract_custom_fields` object[], required
    - `status` string, required
    - `past_due_days` integer, nullable, required
    - `entity_name` string, required
    - `entity_currency` string, required
    - `entity_invoice_message` string, nullable, required
    - `total_amount` number, double, required
    - `amount_paid` number, double, required
    - `amount_due` number, double, required
    - `contract_name` string, required
    - `invoice_number` string
    - `stripe_connection_name` string, required
    - `stripe_connection_entity` integer, required
    - `stripe_connection_billing_portal_enabled` boolean, required
    - `avalara_connection_name` string, required
    - `avalara_connection_company` string, required
    - `tax_rate_name` string, required
    - `tax_rate_value` number, double, required
    - `payment_term_name` string, required
    - `revenue_transactions` integer[]
    - `item_date` string, date, nullable
    - `voided_journal_entry_order` integer, nullable, required
    - `last_modified_at` string, date-time, required
    - `is_deleted` boolean, required
    - `deleted_at` string, date-time, nullable, required
    - `search_vector` string, nullable, required
    - `search_text` string, nullable, required
    - `auto_send_invoice` boolean, nullable
    - `auto_send_invoice_at` string, date, nullable
    - `auto_sent_at` string, date-time, nullable, required
    - `reminder_sent_dates` unknown
    - `pre_due_reminder_sent_dates` unknown
    - `billing_address` string, nullable
    - `billing_addressee` string, nullable
    - `shipping_address` string, nullable
    - `shipping_addressee` string, nullable
    - `terms` union
      - 'custom' | 'net_5' | 'net_7' | 'net_10' | 'net_15' | 'net_20' | 'net_30' | 'net_40' | 'net_45' | 'net_60' | 'net_90' | 'net_105' | 'net_120' | 'due_on_receipt' — * `custom` - Custom * `net_5` - Net 5 * `net_7` - Net 7 * `net_10` - Net 10 * `net_15` - Net 15 * `net_20` - Net 20 * `net_30` - Net 30 * `net_40` - Net 40 * `net_45` - Net 45 * `net_60` - Net 60 * `net_90` - Net 90 * `net_105` - Net 105 * `net_120` - Net 120 * `due_on_receipt` - Due on Receipt
      - ''
      - unknown
    - `ref_number` string, nullable
    - `purchase_order_number` string, nullable
    - `invoice_date` string, date, required
    - `due_date` string, date, required
    - `shipping_date` string, date, nullable
    - `paid_date` string, date, nullable
    - `uncollectible_date` string, date, nullable
    - `sent_date` string, date, nullable, required
    - `period_start` string, date, nullable
    - `period_end` string, date, nullable
    - `location_of_sale` string, nullable
    - `message_on_invoice` string, nullable
    - `ita_allocation_number` string, nullable
    - `payment_status` union
      - 'draft' | 'open' | 'sent' | 'partial' | 'paid' | 'uncollectible' | 'voided' — * `draft` - Draft * `open` - Open * `sent` - Sent * `partial` - Partially Paid * `paid` - Paid * `uncollectible` - Uncollectible * `voided` - Voided
      - ''
      - unknown
    - `anrok_transaction_id` string, nullable — ID of the transaction in Anrok (set when transaction is created)
    - `warning_message` string, nullable
    - `created_at` string, date-time, required
    - `currency` string
    - `exchange_rate` number, double, nullable
    - `exchange_rate_book` number, double, nullable
    - `last_sent_at` string, date-time, nullable, required
    - `integration_id` string, nullable
    - `integration_context` unknown
    - `vat_number` string, nullable
    - `discount` number, double, nullable — Discount amount for the invoice
    - `payment_term_applied_discount` number, double, nullable — Discount amount applied based on payment term early payment discount
    - `use_stripe_auto_bill` boolean, nullable
    - `stripe_payment_link_id` string, nullable
    - `stripe_payment_intent_id` string, nullable
    - `stripe_invoice_id` string, nullable
    - `stripe_pdf_url` string, nullable
    - `stripe_payment_link` string, nullable
    - `source` string, nullable
    - `source_id` string, nullable
    - `is_migrated` boolean — True for invoices imported via opening balance migration (no finalization JE).
    - `voided_date` string, date, nullable
    - `invoice_labels` unknown
    - `invoice_language` string, nullable
    - `chat_id` integer, nullable
    - `customer` integer, required
    - `entity` integer, required
    - `client` integer, nullable
    - `payment_term` integer, nullable
    - `bad_debt_journal_entry` integer, nullable
    - `journal_entry` integer, nullable
    - `ar_account` integer, nullable — Accounts Receivable account for this invoice. Populated for single-AR and migrated invoices. NULL for multi-AR invoices (aging uses ChartTransactions instead).
    - `voided_journal_entry` integer, nullable
    - `entity_transfer_journal_entry` integer, nullable
    - `contract` integer, nullable
    - `avalara_connection` integer, nullable
    - `sphere_connection` integer, nullable
    - `anrok_connection` integer, nullable
    - `tax_rate` integer, nullable
    - `stripe_connection` integer, nullable
    - `source_file` integer, nullable

---

[API](https://skmtc.net/campfire/apis/campfire-developer-apis.md) · [All operations](https://skmtc.net/campfire/apis/campfire-developer-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/campfire/campfire-developer-apis/versions/6945ebc3180e/schema)
