{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ProfitAndLoss",
"title": "ProfitAndLoss",
"type": "object",
"x-apideck-schema-id": "ProfitAndLoss",
"x-apideck-circular-ref": true,
"x-apideck-weights": {
"id": "medium",
"report_name": "medium",
"start_date": "low",
"end_date": "low",
"currency": "critical",
"income": "critical",
"cost_of_goods_sold": "high",
"expenses": "critical",
"other_income": "high",
"other_expenses": "high",
"uncategorized_accounts": "low",
"gross_profit": "medium",
"net_operating_income": "medium",
"net_income": "high",
"customer": "low"
},
"additionalProperties": false,
"required": [
"report_name",
"income",
"expenses"
],
"properties": {
"id": {
"$ref": "#/components/schemas/Id"
},
"report_name": {
"type": "string",
"description": "The name of the report",
"title": "Report Name",
"example": "ProfitAndLoss"
},
"start_date": {
"type": "string",
"description": "The start date of the report",
"title": "Start Date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"example": "2017-01-01"
},
"end_date": {
"type": "string",
"description": "The end date of the report",
"title": "End Date",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"example": "2017-01-31"
},
"currency": {
"$ref": "#/components/schemas/Currency"
},
"income": {
"x-apideck-weights": {
"id": "medium",
"code": "medium",
"title": "high",
"type": "medium",
"total": "critical",
"records": "critical"
},
"type": "object",
"title": "Income",
"description": "The operating income accounts",
"required": [
"total",
"records"
],
"properties": {
"id": {
"$ref": "#/components/schemas/Id"
},
"code": {
"$ref": "#/components/schemas/AccountCode"
},
"title": {
"$ref": "#/components/schemas/AccountName"
},
"type": {
"$ref": "#/components/schemas/ProfitAndLossType"
},
"total": {
"$ref": "#/components/schemas/TotalPLAmount"
},
"records": {
"$ref": "#/components/schemas/ProfitAndLossRecords"
}
},
"example": {
"id": "123",
"code": "123",
"title": "Operating Income",
"type": "Section",
"total": 60000,
"records": [
{
"id": "137",
"title": "Sales of products",
"code": "137",
"type": "Section",
"total": 20000,
"records": [
{
"id": "13701",
"title": "Sales of products",
"code": "13701",
"type": "Record",
"total": 20000
}
]
},
{
"id": "138",
"title": "Sales of services",
"code": "138",
"type": "Section",
"total": 40000,
"records": [
{
"id": "789",
"code": "789",
"title": "Sales of External Services",
"type": "Record",
"total": 10000
},
{
"id": "101",
"code": "101",
"title": "Sales of Internal Services",
"type": "Record",
"total": 30000
}
]
}
]
}
},
"cost_of_goods_sold": {
"x-apideck-weights": {
"id": "medium",
"code": "medium",
"title": "high",
"type": "medium",
"total": "critical",
"records": "critical"
},
"type": "object",
"title": "Cost of Goods Sold",
"description": "The cost of goods sold accounts",
"required": [
"records"
],
"properties": {
"id": {
"$ref": "#/components/schemas/Id"
},
"code": {
"$ref": "#/components/schemas/AccountCode"
},
"title": {
"$ref": "#/components/schemas/AccountName"
},
"type": {
"$ref": "#/components/schemas/ProfitAndLossType"
},
"total": {
"$ref": "#/components/schemas/TotalPLAmount"
},
"records": {
"$ref": "#/components/schemas/ProfitAndLossRecords"
}
},
"example": {
"id": "123",
"code": "123",
"title": "Cost of Goods Sold",
"type": "Section",
"total": 12000,
"records": [
{
"id": "123",
"code": "123",
"title": "COGS Sales",
"type": "Record",
"total": 12000
}
]
}
},
"expenses": {
"x-apideck-weights": {
"id": "medium",
"code": "medium",
"title": "high",
"type": "medium",
"total": "critical",
"records": "critical"
},
"type": "object",
"title": "Expenses",
"description": "The operating expenses accounts",
"required": [
"total",
"records"
],
"properties": {
"id": {
"$ref": "#/components/schemas/Id"
},
"code": {
"$ref": "#/components/schemas/AccountCode"
},
"title": {
"$ref": "#/components/schemas/AccountName"
},
"type": {
"$ref": "#/components/schemas/ProfitAndLossType"
},
"total": {
"$ref": "#/components/schemas/TotalPLAmount"
},
"records": {
"$ref": "#/components/schemas/ProfitAndLossRecords"
}
},
"example": {
"id": "123",
"code": "123",
"title": "Operating Expenses",
"type": "Section",
"total": 14000,
"records": [
{
"id": "137",
"title": "Maintenance",
"code": "137",
"type": "Record",
"total": 1000
},
{
"id": "138",
"title": "Rent",
"code": "138",
"type": "Record",
"total": 10000
},
{
"id": "789",
"code": "789",
"title": "Utilities",
"type": "Section",
"total": 3000,
"records": [
{
"id": "101",
"code": "101",
"title": "Electricity",
"type": "Record",
"total": 2000
},
{
"id": "102",
"code": "102",
"title": "Telephone",
"type": "Record",
"total": 1000
}
]
}
]
}
},
"other_income": {
"x-apideck-weights": {
"id": "medium",
"code": "medium",
"title": "high",
"type": "medium",
"total": "critical",
"records": "critical"
},
"type": "object",
"title": "Other Income",
"description": "The other income accounts",
"required": [
"records"
],
"properties": {
"id": {
"$ref": "#/components/schemas/Id"
},
"code": {
"$ref": "#/components/schemas/AccountCode"
},
"title": {
"$ref": "#/components/schemas/AccountName"
},
"type": {
"$ref": "#/components/schemas/ProfitAndLossType"
},
"total": {
"$ref": "#/components/schemas/TotalPLAmount"
},
"records": {
"$ref": "#/components/schemas/ProfitAndLossRecords"
}
},
"example": {
"id": "123",
"code": "123",
"title": "Other Income",
"type": "Section",
"total": 3000,
"records": [
{
"id": "123",
"code": "123",
"title": "Interest Income",
"type": "Record",
"total": 2000
},
{
"id": "123",
"code": "123",
"title": "Foreign Exchange Gain",
"type": "Record",
"total": 1000
}
]
}
},
"other_expenses": {
"x-apideck-weights": {
"id": "medium",
"code": "medium",
"title": "high",
"type": "medium",
"total": "critical",
"records": "critical"
},
"type": "object",
"title": "Other Expenses",
"description": "The other expenses accounts",
"required": [
"records"
],
"properties": {
"id": {
"$ref": "#/components/schemas/Id"
},
"code": {
"$ref": "#/components/schemas/AccountCode"
},
"title": {
"$ref": "#/components/schemas/AccountName"
},
"type": {
"$ref": "#/components/schemas/ProfitAndLossType"
},
"total": {
"$ref": "#/components/schemas/TotalPLAmount"
},
"records": {
"$ref": "#/components/schemas/ProfitAndLossRecords"
}
},
"example": {
"id": "123",
"code": "123",
"title": "Other Expenses",
"type": "Section",
"total": 1000,
"records": [
{
"id": "123",
"code": "123",
"title": "Unrealized Gain/Loss",
"type": "Record",
"total": 1000
}
]
}
},
"uncategorized_accounts": {
"x-apideck-weights": {
"id": "medium",
"code": "medium",
"title": "high",
"type": "medium",
"total": "critical",
"records": "critical"
},
"type": "object",
"title": "Uncategorized Accounts",
"description": "The accounts not categorized in the other sections",
"required": [
"total",
"records"
],
"properties": {
"id": {
"$ref": "#/components/schemas/Id"
},
"code": {
"$ref": "#/components/schemas/AccountCode"
},
"title": {
"$ref": "#/components/schemas/AccountName"
},
"type": {
"$ref": "#/components/schemas/ProfitAndLossType"
},
"total": {
"$ref": "#/components/schemas/TotalPLAmount"
},
"records": {
"$ref": "#/components/schemas/ProfitAndLossRecords"
}
},
"example": {
"id": "123",
"code": "123",
"title": "Uncategorized Accounts",
"type": "Section",
"total": 0,
"records": [
{
"id": "123",
"code": "123",
"title": "Elimination Adjustments",
"type": "Record",
"total": 0
}
]
}
},
"gross_profit": {
"$ref": "#/components/schemas/ProfitAndLossIndicator"
},
"net_operating_income": {
"$ref": "#/components/schemas/ProfitAndLossIndicator"
},
"net_income": {
"$ref": "#/components/schemas/ProfitAndLossIndicator"
},
"custom_mappings": {
"$ref": "#/components/schemas/CustomMappings"
},
"customer": {
"type": "string",
"description": "The customer id",
"title": "Customer",
"example": "123"
}
}
}