Files
Neon-Desk/rust/taxonomy/fiscal/v1/contractors_construction.surface.json
francy51 17de3dd72d Add history window controls and expand taxonomy pack support
- add 3Y/5Y/10Y financial history filtering and reorganize normalization details UI
- add new fiscal taxonomy surface/income bridge/KPI packs and update Rust taxonomy loading
- auto-detect Homebrew SQLite for native `sqlite-vec` in local dev/e2e with docs and env guidance
2026-03-18 23:40:28 -04:00

238 lines
7.0 KiB
JSON

{
"version": "fiscal-v1",
"pack": "contractors_construction",
"surfaces": [
{
"surface_key": "contract_revenue",
"statement": "income",
"label": "Construction Contract Revenue",
"category": "surface",
"order": 10,
"unit": "currency",
"rollup_policy": "aggregate_children",
"allowed_source_concepts": [
"us-gaap:RevenueFromConstructionContracts",
"us-gaap:ContractRevenue"
],
"allowed_authoritative_concepts": [
"us-gaap:RevenueFromConstructionContracts",
"us-gaap:ContractRevenue"
],
"formula_fallback": null,
"detail_grouping_policy": "group_all_children",
"materiality_policy": "income_default"
},
{
"surface_key": "cost_of_contract_revenue",
"statement": "income",
"label": "Cost of Contract Revenue",
"category": "surface",
"order": 20,
"unit": "currency",
"rollup_policy": "aggregate_children",
"allowed_source_concepts": [
"us-gaap:CostOfContractRevenue",
"us-gaap:CostsIncurredOnContracts"
],
"allowed_authoritative_concepts": [
"us-gaap:CostOfContractRevenue",
"us-gaap:CostsIncurredOnContracts"
],
"formula_fallback": null,
"detail_grouping_policy": "group_all_children",
"materiality_policy": "income_default"
},
{
"surface_key": "gross_profit",
"statement": "income",
"label": "Gross Profit",
"category": "surface",
"order": 30,
"unit": "currency",
"rollup_policy": "direct_or_formula",
"allowed_source_concepts": [
"us-gaap:GrossProfit"
],
"allowed_authoritative_concepts": [
"us-gaap:GrossProfit"
],
"formula_fallback": {
"op": "subtract",
"sources": [
"contract_revenue",
"cost_of_contract_revenue"
],
"treat_null_as_zero": false
},
"detail_grouping_policy": "top_level_only",
"materiality_policy": "income_default"
},
{
"surface_key": "operating_expenses",
"statement": "income",
"label": "Operating Expenses",
"category": "surface",
"order": 40,
"unit": "currency",
"rollup_policy": "aggregate_children",
"allowed_source_concepts": [
"us-gaap:OperatingExpenses"
],
"allowed_authoritative_concepts": [
"us-gaap:OperatingExpenses"
],
"formula_fallback": null,
"detail_grouping_policy": "group_all_children",
"materiality_policy": "income_default"
},
{
"surface_key": "operating_income",
"statement": "income",
"label": "Operating Income",
"category": "surface",
"order": 50,
"unit": "currency",
"rollup_policy": "direct_or_formula",
"allowed_source_concepts": [
"us-gaap:OperatingIncomeLoss"
],
"allowed_authoritative_concepts": [
"us-gaap:OperatingIncomeLoss"
],
"formula_fallback": null,
"detail_grouping_policy": "top_level_only",
"materiality_policy": "income_default"
},
{
"surface_key": "net_income",
"statement": "income",
"label": "Net Income",
"category": "surface",
"order": 90,
"unit": "currency",
"rollup_policy": "direct_or_formula",
"allowed_source_concepts": [
"us-gaap:NetIncomeLoss"
],
"allowed_authoritative_concepts": [
"us-gaap:NetIncomeLoss"
],
"formula_fallback": null,
"detail_grouping_policy": "top_level_only",
"materiality_policy": "income_default"
},
{
"surface_key": "construction_in_progress",
"statement": "balance",
"label": "Construction in Progress",
"category": "noncurrent_assets",
"order": 30,
"unit": "currency",
"rollup_policy": "aggregate_children",
"allowed_source_concepts": [
"us-gaap:ConstructionInProgress",
"us-gaap:ContractAssets"
],
"allowed_authoritative_concepts": [
"us-gaap:ConstructionInProgress",
"us-gaap:ContractAssets"
],
"formula_fallback": null,
"detail_grouping_policy": "group_all_children",
"materiality_policy": "balance_default"
},
{
"surface_key": "contract_assets",
"statement": "balance",
"label": "Contract Assets",
"category": "current_assets",
"order": 35,
"unit": "currency",
"rollup_policy": "aggregate_children",
"allowed_source_concepts": [
"us-gaap:ContractAssets"
],
"allowed_authoritative_concepts": [
"us-gaap:ContractAssets"
],
"formula_fallback": null,
"detail_grouping_policy": "group_all_children",
"materiality_policy": "balance_default"
},
{
"surface_key": "contract_liabilities",
"statement": "balance",
"label": "Contract Liabilities",
"category": "current_liabilities",
"order": 75,
"unit": "currency",
"rollup_policy": "aggregate_children",
"allowed_source_concepts": [
"us-gaap:ContractLiabilities",
"us-gaap:BillingsInExcessOfCostsAndEstimatedEarnings"
],
"allowed_authoritative_concepts": [
"us-gaap:ContractLiabilities",
"us-gaap:BillingsInExcessOfCostsAndEstimatedEarnings"
],
"formula_fallback": null,
"detail_grouping_policy": "group_all_children",
"materiality_policy": "balance_default"
},
{
"surface_key": "total_assets",
"statement": "balance",
"label": "Total Assets",
"category": "derived",
"order": 90,
"unit": "currency",
"rollup_policy": "direct_only",
"allowed_source_concepts": [
"us-gaap:Assets"
],
"allowed_authoritative_concepts": [
"us-gaap:Assets"
],
"formula_fallback": null,
"detail_grouping_policy": "top_level_only",
"materiality_policy": "balance_default"
},
{
"surface_key": "total_liabilities",
"statement": "balance",
"label": "Total Liabilities",
"category": "derived",
"order": 100,
"unit": "currency",
"rollup_policy": "direct_only",
"allowed_source_concepts": [
"us-gaap:Liabilities"
],
"allowed_authoritative_concepts": [
"us-gaap:Liabilities"
],
"formula_fallback": null,
"detail_grouping_policy": "top_level_only",
"materiality_policy": "balance_default"
},
{
"surface_key": "total_equity",
"statement": "balance",
"label": "Total Equity",
"category": "equity",
"order": 110,
"unit": "currency",
"rollup_policy": "direct_only",
"allowed_source_concepts": [
"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"
],
"allowed_authoritative_concepts": [
"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest"
],
"formula_fallback": null,
"detail_grouping_policy": "top_level_only",
"materiality_policy": "balance_default"
}
]
}