{"product":"NebenkostenBlitz","purpose":"Import schema for AI assistants that collect German Nebenkostenabrechnung data for deterministic validation and calculation in NebenkostenBlitz.","schemaVersion":"1.0","maxInputBytes":102400,"importMarkers":{"start":"BEGIN_NEBENKOSTENBLITZ_IMPORT","end":"END_NEBENKOSTENBLITZ_IMPORT"},"agentRules":["Collect and structure billing data only.","Do not calculate final tenant balances, Nachzahlung, Guthaben, or PDF totals.","Do not invent missing names, addresses, dates, costs, areas, or advance payments.","Use aiConfidence below 0.75 or needsReview=true when uncertain.","Use allocationKey area for Wohnfläche and units for equal per-unit distribution.","Use persons, consumption, manual, or unknown only when the user must review the allocation in NebenkostenBlitz."],"schema":{"type":"object","required":["schemaVersion","billingYear","property","units","costItems"],"additionalProperties":false,"properties":{"schemaVersion":{"const":"1.0"},"source":{"enum":["chatgpt","claude","other"]},"billingYear":{"type":"integer","minimum":2000,"maximum":2027},"billingPeriod":{"type":"object","required":["from","to"],"properties":{"from":{"type":"string","format":"date"},"to":{"type":"string","format":"date"}}},"property":{"type":"object","properties":{"name":{"type":"string"},"address":{"type":"string"},"totalAreaSqm":{"type":"number","exclusiveMinimum":0}}},"units":{"type":"array","minItems":1,"items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"tenantName":{"type":"string"},"areaSqm":{"type":"number","exclusiveMinimum":0},"persons":{"type":"integer","minimum":1},"occupiedFrom":{"type":"string","format":"date"},"occupiedTo":{"type":"string","format":"date"},"advancePayments":{"type":"number","minimum":0}}}},"costItems":{"type":"array","minItems":1,"items":{"type":"object","required":["name","amount"],"properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"amount":{"type":"number","exclusiveMinimum":0},"allocationKey":{"enum":["area","units","persons","consumption","manual","unknown"]},"periodFrom":{"type":"string","format":"date"},"periodTo":{"type":"string","format":"date"},"notes":{"type":"string"},"aiConfidence":{"type":"number","minimum":0,"maximum":1},"needsReview":{"type":"boolean"}}}},"notes":{"type":"string"}}},"example":{"schemaVersion":"1.0","source":"chatgpt","billingYear":2026,"billingPeriod":{"from":"2026-01-01","to":"2026-12-31"},"property":{"name":"Beispielhaus","address":"Musterstraße 1, 12345 Berlin","totalAreaSqm":120},"units":[{"id":"eg","label":"EG","tenantName":"Mieter EG","areaSqm":70,"advancePayments":1200},{"id":"og","label":"OG","tenantName":"Mieter OG","areaSqm":50,"advancePayments":1000}],"costItems":[{"id":"grundsteuer","name":"Grundsteuer","amount":600,"allocationKey":"area","aiConfidence":0.9},{"id":"reinigung","name":"Treppenhausreinigung","amount":240,"allocationKey":"units","aiConfidence":0.9}],"notes":"NebenkostenBlitz berechnet die Verteilung deterministisch."},"validationEndpoint":"https://nebenkostenblitz.de/api/ai-import/validate","importUrl":"https://nebenkostenblitz.de/ai-import"}