> ## Documentation Index
> Fetch the complete documentation index at: https://docs.commenda.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get liability report

> Returns per-filing liability snapshots for a list of filing IDs (max 100). Each entry's `breakdown` object is populated for US and Canadian filings, where liability values live on the filing row itself, and `null` for VAT filings (UK and EU country VAT, Union OSS, Non-Union OSS, IOSS) — fetch the box-level VAT detail for those via `POST /filings/contributions`.



## OpenAPI

````yaml POST /filings/liability-report
openapi: 3.0.1
info:
  title: Commenda Public APIs
  description: >-
    APIs for Commenda entity management, partner incorporation, indirect tax,
    compliance, and corporate operations.
  license:
    name: NONE
    url: NONE
  version: 1.0.0
servers:
  - url: https://api.prod.commenda.io/api/v1
    description: Commenda platform APIs, including Partner Incorporation and Commenda OS.
  - url: https://transaction-tax.api.in.commenda.io/api/v1
    description: Global Indirect Tax API.
security:
  - bearerAuth: []
paths:
  /filings/liability-report:
    post:
      tags:
        - Filings
      summary: Get liability report
      description: >-
        Returns per-filing liability snapshots for a list of filing IDs (max
        100). Each entry's `breakdown` object is populated for US and Canadian
        filings, where liability values live on the filing row itself, and
        `null` for VAT filings (UK and EU country VAT, Union OSS, Non-Union OSS,
        IOSS) — fetch the box-level VAT detail for those via `POST
        /filings/contributions`.
      operationId: getLiabilityReport
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetLiabilityReportRequest'
      responses:
        '200':
          description: Liability report built successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/GetLiabilityReportResponse'
                  message:
                    type: string
                    example: Successfully built liability report.
        '400':
          description: Bad request — invalid body or filing not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Caller is not authorized to access one or more filings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    GetLiabilityReportRequest:
      type: object
      required:
        - filing_ids
      properties:
        filing_ids:
          type: array
          description: List of filing UUIDs to include in the report. Maximum 100 entries.
          minItems: 1
          maxItems: 100
          items:
            type: string
            format: uuid
          example:
            - f1e2d3c4-b5a6-7890-abcd-ef1234567890
            - a2b3c4d5-e6f7-8901-bcde-f23456789012
    GetLiabilityReportResponse:
      type: object
      properties:
        filings:
          type: array
          items:
            $ref: '#/components/schemas/LiabilityReportFiling'
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              description: 'Specific Error type. Example: CLIENT_INVALID_REQUEST_BODY.'
              example: CLIENT_INVALID_REQUEST_BODY
            doc_url:
              type: string
              description: >-
                A link to the docs with details about this error. Example:
                https://sales-tax-docs.commenda.io/
              example: https://sales-tax-docs.commenda.io/
            title:
              type: string
              description: >-
                A short title describing the error. Example: Missing query
                parameters.
              example: Failed to validate the request body
            detail:
              type: string
              description: >-
                A json string with a description on how to fix the error.
                Example {"description":"Please pass in a valid corporation_id"}
            status:
              type: number
              description: >-
                The status code. It should be the same as the HTTP protocol
                status code. Example: 200
              example: 400
            instance:
              type: string
              description: >-
                The relative path that was hit by the user. Example:
                /api/v1/corporations/1
            Errors:
              type: array
              items:
                type: object
                properties:
                  details:
                    type: string
                    description: More details on how to solve this particular error.
                  pointer:
                    type: string
                    description: >-
                      Relative reference to missing or invalid piece of passed
                      information.
    LiabilityReportFiling:
      type: object
      description: >-
        One filing's slot in the liability report response. Common metadata
        (form title, jurisdiction, period) is always present so the consumer has
        enough context to render the row even when `breakdown` is `null`.
      properties:
        filing_id:
          type: string
          format: uuid
          description: Unique identifier for the filing.
          example: f1e2d3c4-b5a6-7890-abcd-ef1234567890
        form_title:
          type: string
          description: Display name of the tax return form.
          example: Sales and Use Tax Return
        jurisdiction:
          type: string
          description: Human-readable jurisdiction name.
          example: California
        tax_period_start_date:
          type: string
          format: date
          description: ISO 8601 start date of the tax period.
          example: '2025-01-01'
        tax_period_end_date:
          type: string
          format: date
          description: ISO 8601 end date of the tax period.
          example: '2025-03-31'
        due_date:
          type: string
          format: date
          description: ISO 8601 due date of the filing.
          example: '2025-04-30'
        filing_status:
          type: string
          description: >-
            Current status of the filing (e.g., `SCHEDULED`, `UPCOMING`,
            `OVERDUE`, `FILED`).
          example: UPCOMING
        breakdown:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/LiabilityReportBreakdown'
    LiabilityReportBreakdown:
      type: object
      description: >-
        Filing-level liability snapshot. Populated only for filings whose
        liability values live on the filing row itself (US sales/use tax,
        Canadian GST/HST/PST). For VAT filings (UK/EU country VAT and OSS/IOSS
        variants), this object is `null` on the parent entry — fetch box-level
        values from `POST /filings/contributions` instead. Money fields are
        major-unit decimals.
      properties:
        transactions_count:
          type: integer
          format: int64
          description: Number of transactions contributing to this filing.
          example: 142
        estimated_taxable_amount:
          type: number
          format: double
          description: Estimated taxable amount in major currency units.
          example: 12500
        estimated_non_taxable_amount:
          type: number
          format: double
          description: Estimated non-taxable amount in major currency units.
          example: 1500.5
        estimated_exempt_amount:
          type: number
          format: double
          description: Estimated exempt amount in major currency units.
          example: 250
        estimated_tax_collected:
          type: number
          format: double
          description: Estimated tax collected in major currency units.
          example: 1031.25
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````