Skip to main content

Income Statement

New

IncomeStatement objects represent individual line-items in an Income Statement (Profit & Loss) report. Skywalk API allows you to obtain month-to-date, year-to-date, and last-year-to-date financial data for each GL account.

The IncomeStatement Object

Attributes


idinteger
AppFolio row ID.
Example:
1

accountNamestring
Name of the GL account (e.g. "Parking").
Example:
"Rental Income"

levelstring
Nesting depth of the row in the report hierarchy.
Example:
"4"

treeNodeLabelstring
Dot-separated path label for this node in the report tree (e.g. "GL.108-600.Parking").
Example:
"GL.100-100.Rental Income"

accountNumberstring
GL account number (e.g. "108-600").
Example:
"100-100"

monthToDatestring
Month-to-date amount for this account (e.g. "49,065.00").
Example:
"12,500.00"

monthToDatePercentstring
Month-to-date amount as a percentage of total income/expense (e.g. "84.83").
Example:
"75.00"

yearToDatestring
Year-to-date amount for this account (e.g. "49,065.00").
Example:
"12,500.00"

yearToDatePercentstring
Year-to-date amount as a percentage of total income/expense (e.g. "84.83").
Example:
"75.00"

lastYearToDatestring
Same period last year amount for this account (e.g. "44,349.00").
Example:
"11,000.00"

lastYearToDatePercentstring
Same period last year amount as a percentage of total income/expense (e.g. "93.21").
Example:
"80.00"


More Attributes


treeNodeIdinteger

rowTypestring

monthToDateDollarsPerUnitstring

glAccountIdstring

The IncomeStatement Object
{
"id": 1,
"accountName": "Rental Income",
"level": "4",
"treeNodeLabel": "GL.100-100.Rental Income",
"treeNodeId": 1,
"accountNumber": "100-100",
"rowType": "row",
"monthToDate": "12,500.00",
"monthToDatePercent": "75.00",
"yearToDate": "12,500.00",
"yearToDatePercent": "75.00",
"lastYearToDate": "11,000.00",
"lastYearToDatePercent": "80.00",
"monthToDateDollarsPerUnit": "1,250.00",
"glAccountId": "1"
}

Get Income Statement

GET /v1/income-statement

Follows: AuthenticationCachingPollingList Response FormatScheduled Job

The income statement endpoint returns all line-items in your AppFolio® Income Statement (Profit & Loss) report, including month-to-date, year-to-date, and last-year-to-date amounts for each GL account.

Parameters


propertyIdselect
AppFolio ID of a Property to serve as a filter.

propertyGroupIdselect
AppFolio ID of a Property Group to serve as a filter.

ownerIdselect
AppFolio ID of an Owner to serve as a filter.

accountingselect
Accounting Basis.
Default: cash.
Possible Values: cash, accrual
Default Value:  
cash
Possible Values:  
cash
accrual

asOfDatedate_month
As-of month/year given in MM/YYYY (e.g. 03/2026). Defaults to the current month.

 

Returns


The standard List Response Format with a data property containing an array of IncomeStatement objects.

GET /v1/income-statement
curl -X GET 'https://api.skywalkapi.com/v1/income-statement' \ 
-H "X-API-Key: PUT_YOUR_API_KEY_HERE"
Response
{
"meta": {
"status": "ok",
"path": "/v1/income-statement",
"query": {
"asOfDate": "03/2026"
},
"count": 1,
"lastUpdated": 1743465600
},
"links": {
"next": "/v1/income-statement?cursor=abcdefg"
},
"data": [
{
"id": 1,
"accountName": "Rental Income",
"level": "4",
"treeNodeLabel": "GL.100-100.Rental Income",
"treeNodeId": 1,
"accountNumber": "100-100",
"rowType": "row",
"monthToDate": "12,500.00",
"monthToDatePercent": "75.00",
"yearToDate": "12,500.00",
"yearToDatePercent": "75.00",
"lastYearToDate": "11,000.00",
"lastYearToDatePercent": "80.00",
"monthToDateDollarsPerUnit": "1,250.00",
"glAccountId": "1"
}
]
}