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

# Get profit/loss statement report



## OpenAPI

````yaml api-reference/openapi.json get /api/reports/profit-loss-sheet
openapi: 3.0.0
info:
  title: Bigcapital
  description: Financial accounting software
  version: '1.0'
  contact: {}
servers: []
security: []
tags: []
paths:
  /api/reports/profit-loss-sheet:
    get:
      tags:
        - Reports
      summary: Get profit/loss statement report
      operationId: ProfitLossSheetController_profitLossSheet
      parameters:
        - name: Authorization
          in: header
          description: >-
            Value must be 'Bearer <token>' where <token> is an API key prefixed
            with 'bc_' or a JWT token.
          required: true
          schema:
            type: string
            example: Bearer bc_1234567890abcdef
        - name: organization-id
          in: header
          description: >-
            Required if Authorization is a JWT token. The organization ID to
            operate within.
          required: true
          schema:
            type: string
        - name: basis
          required: true
          in: query
          description: The basis for the profit and loss sheet
          schema:
            type: string
        - description: Number of decimal places to display
          required: false
          name: precision
          in: query
          schema:
            example: 2
            type: number
        - description: Whether to divide the number by 1000
          required: false
          name: divideOn1000
          in: query
          schema:
            example: false
            type: boolean
        - description: Whether to show zero values
          required: false
          name: showZero
          in: query
          schema:
            type: boolean
            example: true
        - description: How to format money values
          required: false
          name: formatMoney
          in: query
          schema:
            example: total
            enum:
              - total
              - always
              - none
            type: string
        - description: How to format negative numbers
          required: false
          name: negativeFormat
          in: query
          schema:
            example: parentheses
            enum:
              - parentheses
              - mines
            type: string
        - name: noneZero
          required: false
          in: query
          description: Whether to exclude zero values
          schema:
            type: boolean
        - name: noneTransactions
          required: false
          in: query
          description: Whether to exclude transactions
          schema:
            type: boolean
        - name: accountsIds
          required: false
          in: query
          description: Array of account IDs to include
          schema:
            type: array
            items:
              type: string
        - name: displayColumnsType
          required: true
          in: query
          description: Type of columns to display
          schema:
            enum:
              - total
              - date_periods
            type: string
        - name: displayColumnsBy
          required: true
          in: query
          description: How to display columns
          schema:
            type: string
        - name: percentageColumn
          required: false
          in: query
          description: Whether to show percentage column
          schema:
            type: boolean
        - name: percentageRow
          required: false
          in: query
          description: Whether to show percentage row
          schema:
            type: boolean
        - name: percentageIncome
          required: false
          in: query
          description: Whether to show income percentage
          schema:
            type: boolean
        - name: percentageExpense
          required: false
          in: query
          description: Whether to show expense percentage
          schema:
            type: boolean
        - name: previousPeriod
          required: false
          in: query
          description: Whether to include previous period
          schema:
            type: boolean
        - name: previousPeriodAmountChange
          required: false
          in: query
          description: Whether to show previous period amount change
          schema:
            type: boolean
        - name: previousPeriodPercentageChange
          required: false
          in: query
          description: Whether to show previous period percentage change
          schema:
            type: boolean
        - name: previousYear
          required: false
          in: query
          description: Whether to include previous year
          schema:
            type: boolean
        - name: previousYearAmountChange
          required: false
          in: query
          description: Whether to show previous year amount change
          schema:
            type: boolean
        - name: previousYearPercentageChange
          required: false
          in: query
          description: Whether to show previous year percentage change
          schema:
            type: boolean
        - name: accept
          required: true
          in: header
          schema:
            type: string
      responses:
        '200':
          description: Profit & loss statement
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfitLossSheetResponseDto'
              example:
                query:
                  from_date: '2025-01-01'
                  to_date: '2025-06-22'
                  number_format:
                    divide_on1000: false
                    negative_format: mines
                    show_zero: false
                    format_money: total
                    precision: 2
                  basis: accrual
                  none_zero: false
                  none_transactions: false
                  display_columns_type: total
                  display_columns_by: year
                  accounts_ids: []
                  percentage_column: false
                  percentage_row: false
                  percentage_income: false
                  percentage_expense: false
                  previous_period: false
                  previous_period_amount_change: false
                  previous_period_percentage_change: false
                  previous_year: false
                  previous_year_amount_change: false
                  previous_year_percentage_change: false
                data:
                  - id: INCOME
                    name: Income
                    node_type: ACCOUNTS
                    total:
                      amount: 3931
                      formatted_amount: $3,931.00
                    children:
                      - id: 1025
                        name: Sales of Product Income
                        node_type: ACCOUNT
                        total:
                          amount: 3931
                          formatted_amount: 3,931.00
                      - id: 1026
                        name: Sales of Service Income
                        node_type: ACCOUNT
                        total:
                          amount: 0
                          formatted_amount: ''
                      - id: 1027
                        name: Uncategorized Income
                        node_type: ACCOUNT
                        total:
                          amount: 0
                          formatted_amount: ''
                  - id: COST_OF_SALES
                    name: Cost of sales
                    node_type: ACCOUNTS
                    total:
                      amount: 800
                      formatted_amount: $800.00
                    children:
                      - id: 1019
                        name: Cost of Goods Sold
                        node_type: ACCOUNT
                        total:
                          amount: 800
                          formatted_amount: '800.00'
                  - id: GROSS_PROFIT
                    name: GROSS PROFIT
                    node_type: EQUATION
                    total:
                      amount: 3131
                      formatted_amount: $3,131.00
                  - id: EXPENSES
                    name: Expenses
                    node_type: ACCOUNTS
                    total:
                      amount: -111563
                      formatted_amount: '-$111,563.00'
                    children:
                      - id: 1020
                        name: Office expenses
                        node_type: ACCOUNT
                        total:
                          amount: 0
                          formatted_amount: ''
                      - id: 1021
                        name: Rent
                        node_type: ACCOUNT
                        total:
                          amount: -92831
                          formatted_amount: '-92,831.00'
                      - id: 1023
                        name: Bank Fees and Charges
                        node_type: ACCOUNT
                        total:
                          amount: -8732
                          formatted_amount: '-8,732.00'
                      - id: 1024
                        name: Depreciation Expense
                        node_type: ACCOUNT
                        total:
                          amount: -10000
                          formatted_amount: '-10,000.00'
                  - id: NET_OPERATING_INCOME
                    name: NET OPERATING INCOME
                    node_type: EQUATION
                    total:
                      amount: 114694
                      formatted_amount: $114,694.00
                  - id: OTHER_INCOME
                    name: Other income
                    node_type: ACCOUNTS
                    total:
                      amount: 0
                      formatted_amount: $0.00
                    children:
                      - id: 1031
                        name: Discount
                        node_type: ACCOUNT
                        total:
                          amount: 0
                          formatted_amount: ''
                      - id: 1033
                        name: Other Charges
                        node_type: ACCOUNT
                        total:
                          amount: 0
                          formatted_amount: ''
                  - id: OTHER_EXPENSES
                    name: Other expenses
                    node_type: ACCOUNTS
                    total:
                      amount: 119149
                      formatted_amount: $119,149.00
                    children:
                      - id: 1018
                        name: Other Expenses
                        node_type: ACCOUNT
                        total:
                          amount: -1243
                          formatted_amount: '-1,243.00'
                      - id: 1022
                        name: Exchange Gain or Loss
                        node_type: ACCOUNT
                        total:
                          amount: 123123
                          formatted_amount: 123,123.00
                      - id: 1032
                        name: Purchase Discount
                        node_type: ACCOUNT
                        total:
                          amount: -2731
                          formatted_amount: '-2,731.00'
                  - id: NET_INCOME
                    name: NET INCOME
                    node_type: EQUATION
                    total:
                      amount: -4455
                      formatted_amount: '-$4,455.00'
                meta:
                  organization_name: BIGCAPITAL, INC
                  base_currency: USD
                  date_format: DD MMM yyyy
                  is_cost_compute_running: false
                  sheet_name: Cashflow Statement
                  formatted_from_date: 2025/01/01
                  formatted_to_date: 2025/06/22
                  formatted_date_range: From 2025/01/01 | To 2025/06/22
            application/json+table:
              schema:
                $ref: '#/components/schemas/ProfitLossSheetTableResponseDto'
components:
  schemas:
    ProfitLossSheetResponseDto:
      type: object
      properties:
        query:
          description: Query parameters used to generate the report
          allOf:
            - $ref: '#/components/schemas/ProfitLossSheetQueryResponseDto'
        data:
          description: Hierarchical profit/loss data
          type: array
          items:
            $ref: '#/components/schemas/ProfitLossSheetDataNodeDto'
        meta:
          description: Report metadata
          allOf:
            - $ref: '#/components/schemas/ProfitLossSheetMetaDto'
      required:
        - query
        - data
        - meta
    ProfitLossSheetTableResponseDto:
      type: object
      properties:
        table:
          description: Table data structure
          allOf:
            - $ref: '#/components/schemas/FinancialTableDataDto'
        query:
          description: Query parameters used to generate the report
          allOf:
            - $ref: '#/components/schemas/ProfitLossSheetQueryResponseDto'
        meta:
          description: Report metadata
          allOf:
            - $ref: '#/components/schemas/ProfitLossSheetMetaDto'
      required:
        - table
        - query
        - meta
    ProfitLossSheetQueryResponseDto:
      type: object
      properties:
        display_columns_type:
          type: string
          description: Column display type
          enum:
            - total
            - date_periods
        display_columns_by:
          type: string
          description: Column grouping
          enum:
            - day
            - month
            - year
            - quarter
        from_date:
          type: string
          description: Start date
        to_date:
          type: string
          description: End date
        number_format:
          description: Number format settings
          allOf:
            - $ref: '#/components/schemas/NumberFormatQueryDto'
        none_zero:
          type: boolean
          description: Exclude zero balance accounts
        none_transactions:
          type: boolean
          description: Exclude accounts with no transactions
        basis:
          type: string
          description: Accounting basis
          enum:
            - cash
            - accrual
        accounts_ids:
          description: Account IDs to include
          type: array
          items:
            type: number
        percentage_column:
          type: boolean
          description: Show percentage of column
        percentage_row:
          type: boolean
          description: Show percentage of row
        percentage_income:
          type: boolean
          description: Show percentage of income
        percentage_expense:
          type: boolean
          description: Show percentage of expense
        previous_period:
          type: boolean
          description: Include previous period
        previous_period_amount_change:
          type: boolean
          description: Show previous period amount change
        previous_period_percentage_change:
          type: boolean
          description: Show previous period percentage change
        previous_year:
          type: boolean
          description: Include previous year
        previous_year_amount_change:
          type: boolean
          description: Show previous year amount change
        previous_year_percentage_change:
          type: boolean
          description: Show previous year percentage change
      required:
        - display_columns_type
        - display_columns_by
        - from_date
        - to_date
        - number_format
        - none_zero
        - none_transactions
        - basis
        - accounts_ids
        - percentage_column
        - percentage_row
        - percentage_income
        - percentage_expense
        - previous_period
        - previous_period_amount_change
        - previous_period_percentage_change
        - previous_year
        - previous_year_amount_change
        - previous_year_percentage_change
    ProfitLossSheetDataNodeDto:
      type: object
      properties:
        id:
          type: object
          description: Node identifier (string for aggregates, number for accounts)
        name:
          type: string
          description: Account or category name
        node_type:
          type: string
          description: Type of node
          enum:
            - ACCOUNTS
            - ACCOUNT
            - EQUATION
            - TOTAL
        type:
          type: string
          description: Node type alias
        total:
          description: Total amount information
          allOf:
            - $ref: '#/components/schemas/FinancialReportTotalDto'
        horizontal_totals:
          description: Horizontal totals for date periods
          type: array
          items:
            $ref: '#/components/schemas/FinancialReportTotalDto'
        percentage_income:
          description: Percentage of income
          allOf:
            - $ref: '#/components/schemas/FinancialReportPercentageDto'
        percentage_expense:
          description: Percentage of expense
          allOf:
            - $ref: '#/components/schemas/FinancialReportPercentageDto'
        percentage_row:
          description: Percentage of row
          allOf:
            - $ref: '#/components/schemas/FinancialReportPercentageDto'
        percentage_column:
          description: Percentage of column
          allOf:
            - $ref: '#/components/schemas/FinancialReportPercentageDto'
        previous_period:
          description: Previous period total
          allOf:
            - $ref: '#/components/schemas/FinancialReportTotalDto'
        previous_period_change:
          description: Previous period change
          allOf:
            - $ref: '#/components/schemas/FinancialReportTotalDto'
        previous_period_percentage:
          description: Previous period percentage
          allOf:
            - $ref: '#/components/schemas/FinancialReportPercentageDto'
        previous_year:
          description: Previous year total
          allOf:
            - $ref: '#/components/schemas/FinancialReportTotalDto'
        previous_year_change:
          description: Previous year change
          allOf:
            - $ref: '#/components/schemas/FinancialReportTotalDto'
        previous_year_percentage:
          description: Previous year percentage
          allOf:
            - $ref: '#/components/schemas/FinancialReportPercentageDto'
        code:
          type: string
          description: Account code
        index:
          type: number
          description: Display index
        children:
          description: Child nodes
          type: array
          items:
            $ref: '#/components/schemas/ProfitLossSheetDataNodeDto'
      required:
        - id
        - name
        - node_type
        - total
    ProfitLossSheetMetaDto:
      type: object
      properties:
        organizationName:
          type: string
          description: Organization name
        baseCurrency:
          type: string
          description: Base currency code
        dateFormat:
          type: string
          description: Date format string
        isCostComputeRunning:
          type: boolean
          description: Whether cost computation is running
        sheetName:
          type: string
          description: Sheet name
        formatted_from_date:
          type: string
          description: Formatted from date
        formatted_to_date:
          type: string
          description: Formatted to date
        formatted_date_range:
          type: string
          description: Formatted date range
      required:
        - organizationName
        - baseCurrency
        - dateFormat
        - isCostComputeRunning
        - sheetName
        - formatted_from_date
        - formatted_to_date
        - formatted_date_range
    FinancialTableDataDto:
      type: object
      properties:
        columns:
          description: Table column definitions
          type: array
          items:
            $ref: '#/components/schemas/FinancialTableColumnDto'
        rows:
          description: Table row data
          type: array
          items:
            $ref: '#/components/schemas/FinancialTableRowDto'
      required:
        - columns
        - rows
    NumberFormatQueryDto:
      type: object
      properties:
        precision:
          type: number
          description: Number of decimal places to display
          example: 2
        divideOn1000:
          type: boolean
          description: Whether to divide the number by 1000
          example: false
        showZero:
          type: boolean
          description: Whether to show zero values
          example: true
        formatMoney:
          type: string
          description: How to format money values
          example: total
          enum:
            - total
            - always
            - none
        negativeFormat:
          type: string
          description: How to format negative numbers
          example: parentheses
          enum:
            - parentheses
            - mines
    FinancialReportTotalDto:
      type: object
      properties:
        amount:
          type: number
          description: Numeric amount
        formattedAmount:
          type: string
          description: Formatted amount string
        currencyCode:
          type: string
          description: Currency code
        date:
          type: object
          description: Date associated with the total
      required:
        - amount
        - formattedAmount
        - currencyCode
    FinancialReportPercentageDto:
      type: object
      properties:
        amount:
          type: number
          description: Percentage amount
        formattedAmount:
          type: string
          description: Formatted percentage string
      required:
        - amount
        - formattedAmount
    FinancialTableColumnDto:
      type: object
      properties:
        key:
          type: string
          description: Column key
        label:
          type: string
          description: Column header label
        cellIndex:
          type: number
          description: Cell position index
        children:
          description: Nested column definitions
          type: array
          items:
            $ref: '#/components/schemas/FinancialTableColumnDto'
      required:
        - key
        - label
    FinancialTableRowDto:
      type: object
      properties:
        cells:
          description: Cell data for this row
          type: array
          items:
            $ref: '#/components/schemas/FinancialTableCellDto'
        rowTypes:
          description: Row type classifications
          type: array
          items:
            type: string
        id:
          type: object
          description: Row identifier
        children:
          description: Child rows
          type: array
          items:
            $ref: '#/components/schemas/FinancialTableRowDto'
      required:
        - cells
        - rowTypes
        - id
    FinancialTableCellDto:
      type: object
      properties:
        key:
          type: string
          description: Cell key
        value:
          type: string
          description: Cell value
      required:
        - key
        - value

````