{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Financial Forecast","description":"Forward-looking profit-and-loss and cash projection for a single scenario over a specified period and granularity (monthly or quarterly), accompanied by the list of assumptions and a management commentary.","type":"object","required":["entity","currency","period_start","period_end","granularity","scenario","assumptions","projections","preparer","approver"],"additionalProperties":false,"properties":{"entity":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1}}},"currency":{"type":"string","minLength":3,"maxLength":3},"period_start":{"type":"string","format":"date"},"period_end":{"type":"string","format":"date"},"granularity":{"type":"string","enum":["monthly","quarterly"]},"scenario":{"type":"string","enum":["base","upside","downside"]},"assumptions":{"type":"array","minItems":1,"items":{"type":"object","required":["topic","description"],"additionalProperties":false,"properties":{"topic":{"type":"string","minLength":1},"description":{"type":"string","minLength":1}}}},"projections":{"type":"array","minItems":2,"maxItems":24,"items":{"type":"object","required":["label","revenue","cogs","gross_margin","opex_personnel","opex_sales","opex_ga","opex_other","ebitda","cash_eop"],"additionalProperties":false,"properties":{"label":{"type":"string","minLength":1},"revenue":{"type":"number"},"cogs":{"type":"number"},"gross_margin":{"type":"number"},"opex_personnel":{"type":"number"},"opex_sales":{"type":"number"},"opex_ga":{"type":"number"},"opex_other":{"type":"number"},"ebitda":{"type":"number"},"cash_eop":{"type":"number"}}}},"commentary":{"type":"string"},"preparer":{"type":"object","required":["name","title"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"date":{"type":"string","format":"date"}}},"approver":{"type":"object","required":["name","title"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"date":{"type":"string","format":"date"}}}}}