Income Statement
NewIncomeStatement 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: Authentication • Caching • Polling • List Response Format • Scheduled 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"
}
]
}