---
title: "Invoice billing status"
method: GET
path: "/api/billing/invoice-billing"
tags: ["internal"]
---

# Invoice billing status

`GET /api/billing/invoice-billing`

## Request

- Base URL: `https://app.scanopy.net`
- URL: `https://app.scanopy.net/api/billing/invoice-billing`
- Auth: one of:
  - API key in header `Authorization`
  - API key in cookie `session_id`

Whether the organization pays by invoice, the PO number on its invoices,
the unpaid invoice, and any open quote.

## Response `200`

Invoice billing status

- ApiResponseInvoiceBillingStatus: Envelope for a successful response. Failures are sent with a non-2xx status and an `ApiErrorResponse` body instead.
  - `data` object: Invoice billing state shown on the License tab.
    - `bills_by_invoice` boolean, required: The subscription is billed by sent invoice.
    - `open_invoice` InvoiceSummary: An issued invoice that has not been paid.
      - `amount_due_cents` integer, required: Outstanding balance, in cents.
      - `currency` string, required: Three-letter ISO currency code the invoice is denominated in.
      - `due_date` string, date-time, nullable: When payment is due. Absent on an invoice Stripe collects automatically, which is charged rather than sent.
      - `hosted_invoice_url` string, nullable: Stripe-hosted page where the invoice can be viewed and paid.
      - `number` string, nullable: Invoice number printed on the PDF, which a remittance references. Absent until Stripe finalizes the invoice.
    - `pending_quote` PendingQuote: An open quote waiting for the buyer's purchase order.
      - `amount_total_cents` integer, required: Total per annual term, in cents.
      - `currency` string, required: Three-letter ISO currency code the quote is denominated in.
      - `expires_at` string, date-time, required: When the quote stops being valid, after which the buyer needs a new one.
      - `number` string, nullable: Quote number printed on the PDF, which the purchase order references.
    - `po_number` string, nullable: Purchase order number printed on invoices.
    - `written_off_invoice` InvoiceSummary: An issued invoice that has not been paid.
      - `amount_due_cents` integer, required: Outstanding balance, in cents.
      - `currency` string, required: Three-letter ISO currency code the invoice is denominated in.
      - `due_date` string, date-time, nullable: When payment is due. Absent on an invoice Stripe collects automatically, which is charged rather than sent.
      - `hosted_invoice_url` string, nullable: Stripe-hosted page where the invoice can be viewed and paid.
      - `number` string, nullable: Invoice number printed on the PDF, which a remittance references. Absent until Stripe finalizes the invoice.
  - `error` string, nullable: Not sent on a successful response. Failure messages arrive in an `ApiErrorResponse`.
  - `meta` ApiMeta, required: API metadata included in all responses
    - `api_version` integer, required: API version (integer, increments on breaking changes)
    - `server_version` string, required: Server version (semver)
  - `success` boolean, required: Always `true` on a successful response.

## Other responses

- `400`: Billing not enabled

## Changes

- **2026-10-26** `c9d9d46d1ae8`: 1 info
  - api tag `billing` removed
- **2026-09-24** `07fed83d132a`: 1 breaking, 2 info
  - added `#/components/schemas/InvoiceSummary` to the `data/open_invoice` response property `oneOf` list for the response status `200`
  - added the optional property `data/written_off_invoice` to the response with the `200` status
  - removed `#/components/schemas/OpenInvoice` from the `data/open_invoice` response property `oneOf` list for the response status `200`
- **2026-09-24** `7a30dff58ddd`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/scanopy/apis/scanopy-api/changes/api/billing/invoice-billing/get.md)

---

[API](https://skmtc.dev/scanopy/apis/scanopy-api.md) - [All operations](https://skmtc.dev/scanopy/apis/scanopy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/scanopy/apis/scanopy-api/revisions/966ba786bdb5?raw)
