> ## 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.

# Export account transactions as Excel

> Exports the transaction history for a specific ledger account as an Excel file. Returns a pre-signed URL for downloading the generated Excel file. The export includes transaction date, entry number, description, debit/credit amounts, running balance, and related accounts.

## Rate Limiting

This endpoint has a custom rate limit policy.

**Rate Limit Details:**

| Environment | Limit       | Refill Period | Initial Size |
| ----------- | ----------- | ------------- | ------------ |
| Sandbox     | 20 requests | 1 second      | 40 requests  |
| Production  | 20 requests | 1 second      | 40 requests  |

**Response Headers:**

All responses include the following rate limit headers:

* **X-RateLimit-Limit**: The rate limit bucket capacity
* **X-RateLimit-Remaining**: The number of tokens remaining in the bucket
* **X-RateLimit-Reset**: UTC timestamp (in seconds) when the bucket will be refilled

For more details on rate limiting, see [Rate Limiting](/api-details/rate-limiting).


## OpenAPI

````yaml get /v1/businesses/{businessId}/ledger/accounts/{accountId}/exports/excel
openapi: 3.0.1
info:
  title: API
  version: latest
servers: []
security:
  - BearerAuth: []
tags: []
externalDocs:
  url: /
paths:
  /v1/businesses/{businessId}/ledger/accounts/{accountId}/exports/excel:
    get:
      tags: []
      summary: Export account transactions as Excel
      description: >-
        Exports the transaction history for a specific ledger account as an
        Excel file. Returns a pre-signed URL for downloading the generated Excel
        file. The export includes transaction date, entry number, description,
        debit/credit amounts, running balance, and related accounts.
      operationId: business.ledger.accounts.accountId.exports.excel.get
      parameters:
        - name: businessId
          in: path
          description: The UUID of the business.
          required: true
          schema:
            type: string
            format: uuid
        - name: accountId
          in: path
          description: The ID or stable_name of the ledger account.
          required: true
          schema:
            type: string
        - name: start_date
          in: query
          description: Start date for filtering transactions (inclusive). ISO-8601 format.
          required: false
          schema:
            type: string
            format: date-time
        - name: end_date
          in: query
          description: End date for filtering transactions (exclusive). ISO-8601 format.
          required: false
          schema:
            type: string
            format: date-time
        - name: reporting_basis
          in: query
          description: >-
            Reporting basis for the export (ACCRUAL or CASH). Defaults to the
            business's default reporting basis.
          required: false
          schema:
            type: string
            enum:
              - ACCRUAL
              - CASH
        - name: tag_key
          in: query
          description: >-
            Tag key to filter transactions by. Must be used together with
            tag_values.
          required: false
          schema:
            type: string
        - name: tag_values
          in: query
          description: >-
            Comma-separated list of tag values to filter by. Must be used
            together with tag_key.
          required: false
          schema:
            type: string
        - name: include_child_account_lines
          in: query
          description: >-
            If true, includes transactions from child accounts in the export.
            Each child account will have its own section. Defaults to false.
          required: false
          schema:
            type: boolean
            default: false
        - name: include_entries_before_activation
          in: query
          description: >-
            If true, includes ledger entries from before the business activation
            date. 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: Pre-signed URL for downloading the Excel export.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/S3PresignedUrl'
        '404':
          description: Business or account not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      deprecated: false
components:
  schemas:
    S3PresignedUrl:
      type: object
      properties:
        type:
          type: string
          description: Resource type. Value will be 'S3_Presigned_Url'.
          example: S3_Presigned_Url
        presignedUrl:
          type: string
          description: Pre-signed URL to download a document.
          example: >
            https://example-bucket.s3.amazonaws.com/example-object?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=FAKEAWSACCESSKEY%2F20240710%2Fus-west-1%2Fs3%2Faws4_request&X-Amz-Date=20240710T000000Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=FAKESIGNATURE1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
        fileType:
          type: string
          description: The file type of the document.
          example: csv
      description: A pre-signed URL to download a document.
    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
    ApiErrorType:
      type: string
      enum:
        - ResourceArchived
        - AuthFailure
        - Plaid
        - Stripe
        - InvalidState
        - ResourceNotFound
        - InvalidParameters
        - JsonSerialization
        - Unknown
        - BadRequest
        - PaginationCursor
        - Conflict
        - LedgerOperationFailed
    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
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````