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

# Get journal entry detail

> 
        Get detailed information about a specific journal entry including:
        - Full entry information
        - All debit/credit lines with account details
        - Accounting period information
        - Source information with linked documents (invoices, bills, payments, etc.)
        - Bank transaction details if reconciled
        - Status and audit trail
        



## OpenAPI

````yaml GET /v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/
openapi: 3.0.3
info:
  title: Thredfi Accounting Platform API
  version: 1.0.0
  description: >-
    Comprehensive API for accounting, invoice management, open banking, and
    intelligence services.
servers: []
security: []
paths:
  /v1/platform/businesses/{business_id}/general-ledger/journal-entries/{entry_id}/:
    get:
      tags:
        - General Ledger
      summary: Get journal entry detail
      description: |2-

                Get detailed information about a specific journal entry including:
                - Full entry information
                - All debit/credit lines with account details
                - Accounting period information
                - Source information with linked documents (invoices, bills, payments, etc.)
                - Bank transaction details if reconciled
                - Status and audit trail
                
      operationId: get_journal_entry_detail
      parameters:
        - in: path
          name: business_id
          schema:
            type: string
            format: uuid
          description: Business UUID
          required: true
        - in: path
          name: entry_id
          schema:
            type: string
            format: uuid
          description: Journal Entry UUID
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JournalEntryDetail'
              examples:
                UKJournalEntryDetail-InvoiceWithVAT:
                  value:
                    id: je-uuid-001
                    sequence_number: JE-2024-0042
                    entry_date: '2024-03-28'
                    reference: INV-0042
                    description: Customer invoice for The Red Lion Pub Ltd
                    currency: GBP
                    total_debit: 540000
                    total_credit: 540000
                    is_balanced: true
                    created_by: system
                    created_by_display: System
                    status: approved
                    status_display: Approved
                    is_posted: true
                    posted_at: '2024-03-28T10:15:00Z'
                    bank_transaction_id: null
                    source_type: invoice
                    source_reference: INV-0042
                    created_at: '2024-03-28T10:10:00Z'
                    accounting_period:
                      id: period-uuid
                      year: 2024
                      month: 3
                      period_name: March 2024
                      status: open
                    lines:
                      - id: line-uuid-001
                        line_number: 1
                        account_code: '1200'
                        account_name: Accounts Receivable
                        account_type: asset
                        debit_amount: 540000
                        credit_amount: 0
                        description: Invoice INV-0042 - The Red Lion Pub Ltd
                        external_reference: INV-0042
                      - id: line-uuid-002
                        line_number: 2
                        account_code: '4000'
                        account_name: Sales Revenue
                        account_type: revenue
                        debit_amount: 0
                        credit_amount: 450000
                        description: Beer supply revenue
                        external_reference: INV-0042
                      - id: line-uuid-003
                        line_number: 3
                        account_code: '2200'
                        account_name: VAT Payable
                        account_type: liability
                        debit_amount: 0
                        credit_amount: 90000
                        description: VAT @ 20%
                        external_reference: INV-0042
                    source_info:
                      linked_documents:
                        - type: invoice
                          app_label: main
                          id: invoice-uuid
                          reference: INV-0042
                          display_name: Invoice INV-0042
                          created_at: '2024-03-28T10:00:00Z'
                          file_link:
                            url: >-
                              https://s3.example.com/invoice.pdf?X-Amz-Signature=...
                            expires_in: 3600
                            document_id: document-uuid
                            file_name: Invoice_INV-0042.pdf
                            file_size: 12345
                            mime_type: application/pdf
                    rejection_reason: null
                    rejected_at: null
                    updated_at: '2024-03-28T10:15:00Z'
                  summary: UK Journal Entry Detail - Invoice with VAT
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
          description: Validation errors in request data
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Authentication required - missing or invalid API key
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Permission denied - insufficient privileges
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Resource not found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict - resource already exists or invalid state transition
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable entity - business logic validation failed
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
      security:
        - PartnerJWT: []
        - BusinessScopedJWT: []
        - BasicAuth: []
        - BearerUnscoped: []
        - BearerBusinessScoped: []
components:
  schemas:
    JournalEntryDetail:
      type: object
      description: Detailed serializer for journal entry with all lines.
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
          description: Unique journal entry identifier
        sequence_number:
          type: string
          readOnly: true
          description: Sequential journal entry number (e.g., 'JE-2024-0042')
        entry_date:
          type: string
          format: date
          readOnly: true
          description: Date of the journal entry (YYYY-MM-DD)
        reference:
          type: string
          readOnly: true
          description: Journal entry reference number or source document reference
        description:
          type: string
          readOnly: true
          description: Journal entry description
        currency:
          type: string
          description: Entry currency from business base currency (GBP, EUR, USD)
          readOnly: true
        total_debit:
          type: integer
          description: Total debit amount in cents (sum of all debit lines)
          readOnly: true
        total_credit:
          type: integer
          description: Total credit amount in cents (sum of all credit lines)
          readOnly: true
        is_balanced:
          type: boolean
          readOnly: true
          description: Whether debits equal credits (balanced entry required for posting)
        created_by:
          enum:
            - ai
            - manual
            - system
            - import
          type: string
          x-spec-enum-id: 6007642db49bb795
          readOnly: true
          description: |-
            Creator type: ai, manual, system, import

            * `ai` - AI System
            * `manual` - Manual Entry
            * `system` - System Generated
            * `import` - Data Import
        created_by_display:
          type: string
          description: Human-readable creator type
          readOnly: true
        status:
          enum:
            - draft
            - approved
            - rejected
          type: string
          x-spec-enum-id: 497c72e056439a37
          readOnly: true
          description: |-
            Entry status: draft, approved, rejected

            * `draft` - Draft
            * `approved` - Approved
            * `rejected` - Rejected
        status_display:
          type: string
          description: Human-readable status
          readOnly: true
        is_posted:
          type: boolean
          readOnly: true
          description: Whether entry is posted to ledger (affects account balances)
        posted_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
          description: Timestamp when entry was posted to ledger (null if not posted)
        bank_transaction_id:
          type: string
          nullable: true
          description: Linked bank transaction UUID (null if not from bank feed)
          readOnly: true
        source_type:
          type: string
          nullable: true
          description: >-
            Source document type (invoice, bill, payment, bank_transaction,
            etc.)
          readOnly: true
        source_reference:
          type: string
          nullable: true
          description: Source document reference number
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Timestamp when entry was created
        accounting_period:
          type: object
          additionalProperties: {}
          nullable: true
          description: >-
            Accounting period this entry belongs to (year, month, period name,
            status)
          readOnly: true
        lines:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: All debit and credit lines for this journal entry
          readOnly: true
        source_info:
          allOf:
            - $ref: '#/components/schemas/SourceInfo'
          readOnly: true
          description: >-
            Source document information (invoice, bill, bank transaction, etc.)
            with links to original documents
        rejection_reason:
          type: string
          nullable: true
          description: Reason for rejection if status is rejected (null otherwise)
        rejected_at:
          type: string
          format: date-time
          nullable: true
          description: Timestamp when entry was rejected (null if not rejected)
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: Last update timestamp
      required:
        - accounting_period
        - bank_transaction_id
        - created_at
        - created_by
        - created_by_display
        - currency
        - description
        - entry_date
        - id
        - is_balanced
        - is_posted
        - lines
        - posted_at
        - reference
        - sequence_number
        - source_info
        - source_reference
        - source_type
        - status
        - status_display
        - total_credit
        - total_debit
        - updated_at
    ValidationErrorResponse:
      type: object
      description: Validation error response with field-specific errors
      properties:
        error_code:
          type: string
          description: Error code (e.g., 'validation_error')
        message:
          type: string
          nullable: true
          description: Human-readable error message
        detail:
          type: object
          additionalProperties: {}
          description: Contains field_errors and additional context
        request_id:
          type: string
          description: Request ID for tracing
      required:
        - detail
        - error_code
        - message
    ErrorResponse:
      type: object
      description: Standard error response format
      properties:
        error_code:
          type: string
          description: Error code for programmatic handling
        message:
          type: string
          nullable: true
          description: Human-readable error message
        detail:
          type: object
          additionalProperties: {}
          description: Additional error details including field_errors and debug info
        request_id:
          type: string
          description: Request ID for tracing
      required:
        - error_code
        - message
    SourceInfo:
      type: object
      description: |-
        Serializer for source information in journal entry detail.

        Contains information about the source documents (invoices, bills, etc.)
        and bank transactions that generated this journal entry.
      properties:
        bank_transaction:
          allOf:
            - $ref: '#/components/schemas/BankTransactionInfo'
          nullable: true
          description: >-
            Bank transaction details if this entry is linked to a bank
            transaction
        linked_documents:
          type: array
          items:
            $ref: '#/components/schemas/LinkedDocument'
          description: >-
            List of source documents (invoices, bills, credit notes, etc.)
            linked to this entry
    BankTransactionInfo:
      type: object
      description: Serializer for bank transaction information in source_info.
      properties:
        id:
          type: string
          format: uuid
          description: Bank transaction ID
        description:
          type: string
          description: Transaction description
        date:
          type: string
          format: date
          description: Transaction date
        amount_cents:
          type: integer
          description: Transaction amount in cents
      required:
        - amount_cents
        - date
        - description
        - id
    LinkedDocument:
      type: object
      description: |-
        Serializer for linked document information in journal entries.

        Represents a source document (invoice, bill, credit note, etc.) that
        generated this journal entry, with optional file attachment.
      properties:
        type:
          type: string
          description: Entity type (e.g., 'invoice', 'bill', 'vendorcreditnote')
        app_label:
          type: string
          description: Django app label containing the model
        id:
          type: string
          format: uuid
          description: Unique identifier of the linked entity
        created_at:
          type: string
          format: date-time
          nullable: true
          description: When the link was created
        reference:
          type: string
          description: Reference number (invoice number, bill number, etc.)
        display_name:
          type: string
          description: Human-readable display name for the entity
        file_link:
          allOf:
            - $ref: '#/components/schemas/FileLink'
          nullable: true
          description: >-
            Presigned URL and metadata for attached document. Only present if a
            document is attached.
      required:
        - app_label
        - id
        - type
    FileLink:
      type: object
      description: |-
        Serializer for file link metadata in linked documents.

        Contains presigned S3 URL and document metadata for direct file access.
        URLs are temporary and expire after the specified duration.
      properties:
        url:
          type: string
          format: uri
          description: >-
            Presigned S3 URL for direct document download. Temporary and expires
            after expires_in seconds.
        expires_in:
          type: integer
          description: >-
            Seconds until the URL expires (typically 3600 for normal docs, 1800
            for sensitive)
        document_id:
          type: string
          format: uuid
          description: Unique identifier of the document
        file_name:
          type: string
          description: Original filename of the document
        file_size:
          type: integer
          description: File size in bytes
        mime_type:
          type: string
          description: MIME type of the document (e.g., 'application/pdf', 'image/png')
      required:
        - document_id
        - expires_in
        - file_name
        - file_size
        - mime_type
        - url
  securitySchemes:
    PartnerJWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Partner-level JWT token (unscoped). Token payload includes `partner_id`.
        Business access is validated via partner ownership. Format: `Bearer
        <your-jwt-token>`


        **Use this for**: Multi-business operations where the business_id is
        specified in the URL and partner has access to multiple businesses.
    BusinessScopedJWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Business-scoped JWT token. Token payload includes `business_id` to
        automatically scope requests. Format: `Bearer <your-jwt-token>`


        **Use this for**: Business-specific operations where the business
        context is embedded in the token.
    BasicAuth:
      type: http
      scheme: basic
      description: >-
        Basic authentication for OAuth2 token endpoint. Use partner_uuid:api_key
        as username:password. Example: Authorization: Basic
        base64(partner_uuid:api_key)
    BearerUnscoped:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Partner (unscoped) JWT Bearer token. Obtain via POST
        /v1/platform/oauth2/token with Basic auth (partner_uuid:api_key). Use
        header: Authorization: Bearer {access_token}
    BearerBusinessScoped:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Business-scoped JWT Bearer token. Obtain via POST
        /v1/platform/{business_id}/oauth2/token/ using a partner Bearer token.
        Only valid for endpoints whose URL contains that business_id.

````