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

# Get tax payments

> Returns quarterly tax payment history and tracking.

<Info>
  To enable the Tax Estimates feature for your customers, request access from your Layer representative.
</Info>

Returns the quarterly estimated tax payment history for the year, including roll-overs from prior quarters. Use this to show what has been paid and what remains due each quarter; for the underlying liability calculation, use [Get tax details](/api-reference/v1/tax-estimates/get-tax-details).

## Quarterly payment calculation

Each quarter in `quarters` reflects the split of the annual projected liability (from [Get tax details](/api-reference/v1/tax-estimates/get-tax-details)) into four estimated payments, combined with the actual payments the business has recorded. Note: Federal tax periods are not all the same length, and quarterly tax estimates are not equal across all quarters in a year.

* `owed_this_quarter`: the projected liability allocated to this quarter, in cents.
* `total_paid`: payments already recorded against this quarter, in cents.
* `owed_rolled_over_from_previous`: the unpaid balance (positive) or overpayment (negative) carried forward from the previous quarter, in cents.
* `total`: the net balance for the quarter, in cents, accounting for this quarter's owed amount, prior roll-overs, and payments made.

Typical federal quarterly due dates are April 15, June 15, September 15, and January 15 of the following year; state due dates may differ and are returned per quarter via [Get tax details](/api-reference/v1/tax-estimates/get-tax-details).


## OpenAPI

````yaml get /v1/businesses/{businessId}/tax-estimates/payments
openapi: 3.0.1
info:
  title: API
  version: latest
servers: []
security:
  - BearerAuth: []
tags: []
externalDocs:
  url: /
paths:
  /v1/businesses/{businessId}/tax-estimates/payments:
    get:
      tags:
        - Tax Estimates
      summary: Get tax payments
      description: Returns quarterly tax payment history and tracking.
      operationId: business.tax-estimates.payments.get
      parameters:
        - name: businessId
          in: path
          description: The UUID of the business.
          required: true
          schema:
            type: string
            format: uuid
        - name: year
          in: query
          description: 'The tax year (e.g., 2025). Supported years: 2024-2026.'
          required: true
          schema:
            type: integer
            format: int32
        - name: reporting_basis
          in: query
          description: >-
            The accounting basis for reporting. Defaults to the business's
            default reporting basis, or CASH if not set.
          required: false
          schema:
            type: string
            enum:
              - ACCRUAL
              - CASH
            default: CASH
        - name: full_year_projection
          in: query
          description: >-
            Whether to project income/expenses for the full year based on
            year-to-date data. Only applicable for the current year. Defaults to
            false.
          required: false
          schema:
            type: boolean
            default: false
        - name: Content-Type
          in: header
          description: Content-Type must be set to application/json.
          schema:
            type: string
      responses:
        '200':
          description: Tax payments for the specified year.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ApiTaxPayments'
                required:
                  - data
        '404':
          description: Business not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      deprecated: false
components:
  schemas:
    ApiTaxPayments:
      type: object
      properties:
        type:
          type: string
          description: Resource type.
          example: Tax_Payments
        year:
          type: integer
          format: int32
          description: The tax year for these payments.
          example: 2025
        quarters:
          type: array
          items:
            $ref: '#/components/schemas/TaxPaymentQuarter'
          description: Quarterly payment breakdown.
      description: Quarterly tax payment history and tracking.
    ApiError:
      type: object
      description: An error object returned in API error responses.
      properties:
        type:
          $ref: '#/components/schemas/ApiErrorType'
          description: >-
            A fixed category for the error, helpful for categorizing and
            processing errors.
        description:
          type: string
          description: A human-readable error description.
        error_enum:
          $ref: '#/components/schemas/ApiEnumErrorType'
          description: >-
            A stable, machine-readable identifier for programmatically handling
            specific error conditions. Only present for 4xx client errors—not
            included for 5xx server errors. Use this instead of parsing the
            description field, as enum values remain stable across API versions.
          nullable: true
        meta:
          type: object
          description: Optional additional information about the error.
          nullable: true
      required:
        - type
        - description
    TaxPaymentQuarter:
      type: object
      properties:
        quarter:
          type: integer
          format: int32
          minimum: 1
          maximum: 4
          description: Quarter number (1-4).
        owed_rolled_over_from_previous:
          type: integer
          format: int64
          description: >-
            Amount owed rolled over from previous quarter, in cents. Positive
            means still owed, negative means overpaid.
        owed_this_quarter:
          type: integer
          format: int64
          description: Amount owed this quarter, in cents.
        total_paid:
          type: integer
          format: int64
          description: Total amount paid this quarter, in cents.
        total:
          type: integer
          format: int64
          description: Net balance for the quarter, in cents.
      description: Tax payment information for a single quarter.
    ApiErrorType:
      type: string
      enum:
        - ResourceArchived
        - AuthFailure
        - Plaid
        - Stripe
        - InvalidState
        - ResourceNotFound
        - InvalidParameters
        - JsonSerialization
        - Unknown
        - BadRequest
        - PaginationCursor
        - Conflict
        - LedgerOperationFailed
      example: InvalidParameters
    ApiEnumErrorType:
      type: string
      description: >-
        Stable enum values for programmatic error handling. Only present in 4xx
        error responses.
      enum:
        - AccessCodeInvalid
        - BalanceSheetDoesNotBalance
        - BalanceSheetMissingAccount
        - BankStatementParserError
        - BillStateError
        - BulkCategorizeFailure
        - BulkMatchFailure
        - BusinessTaskAlreadyCompleted
        - BusinessTaskDeleted
        - CalendlyOAuthError
        - CallBookingError
        - CantUpdateTransactionInCustomerPayout
        - CantUpdateTransactionInVendorPayout
        - CheckPayrollConfigNotFound
        - CheckPayrollServiceNotFound
        - ClerkUserAlreadyExists
        - ConflictingQueryParams
        - CustomAccountAlreadyExists
        - CustomTransactionCsvParsingError
        - CustomTransactionUploadFailure
        - CustomerPayoutInputFormatError
        - DoesNotMatchExistingEntity
        - EmptyBatchRequest
        - ExpenseParserError
        - ExternalAccountBalanceReconciliationError
        - ExternalIdConflict
        - InvalidCategory
        - InvalidEffectiveDate
        - InvalidLedgerOperation
        - InvalidMonthlyAverageRange
        - InvalidMultiPartRequest
        - InvalidPaginationCursor
        - InvalidPayload
        - InvoiceDeleted
        - InvoiceNotFound
        - InvoiceReferenceMismatch
        - InvoiceStateError
        - ManualRateLimit
        - MultipleTagKeyFiltersUnsupported
        - NoCognitoUserFound
        - NoOpeningBalanceFound
        - NotYetReconciled
        - OnePasswordApiError
        - OnePasswordItemNotFound
        - OnePasswordVaultNotFound
        - OpenAICategorizationError
        - PaymentLinkInvalid
        - PayrollStateError
        - PeriodIsClosed
        - PeriodNotClosed
        - PhoneNumberAlreadyRegistered
        - PlaidApiError
        - PlaidConnectionBroken
        - PlaidCreateLinkTokenError
        - PlaidCredentialsNotConfigured
        - PlaidExchangePublicTokenError
        - PlaidGetInstitutionByIdError
        - PlaidGetItemError
        - PlaidInvalidEnvironment
        - PlaidItemAlreadyExists
        - PlaidItemNotFound
        - PlaidProcessorApiError
        - PlaidUnlinkItemError
        - QueryParamFormat
        - QueryParamMissing
        - QuickbooksBrokenConnection
        - QuickbooksConnectionAlreadyExists
        - QuickbooksConnectionAlreadySyncing
        - QuickbooksConnectionMissing
        - QuickbooksConnectionNotActivated
        - QuickbooksInvalidRequest
        - QuickbooksInvalidState
        - QuickbooksNoMatchingAccount
        - QuickbooksNonPostingAccountType
        - QuickbooksNotConfigured
        - QuickbooksOAuthCallbackInvalid
        - QuickbooksOAuthError
        - QuickbooksTokenExpired
        - ResourceArchived
        - ScheduleCNotConfigured
        - SmsNotEnabled
        - SpecifiedBadRequest
        - SpecifiedIdNotFound
        - SplitTransactionError
        - StepEvaluationBadRequest
        - StripeConnectAccountIdNotFound
        - StripeCredentialsNotConfigured
        - StripeGetBalanceForConnectAccountFailure
        - StripeRedirectOrRefreshUrlNotConfigured
        - TagFilterNotFound
        - UnexpectedQueryParam
        - UnitAccountsInUse
        - WrongAnswerType
      example: InvalidPayload
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````