generated: '2026-10-10' method: derived generator: derive-data-model.py source: - openapi/invoicecraftly-documents-api-openapi.yml - openapi/invoicecraftly-openapi.json - openapi/invoicecraftly-structured-invoicing-api-openapi.yml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 16 entities_in_spec: 16 relationships: 12 entities: - name: Branding fields: 3 - name: ComplianceLine fields: 5 - name: ComplianceParty fields: 5 - name: ComplianceSupplementV1 fields: 5 description: Optional EN16931-core metadata. Unknown nested fields are ignored by the current normalizer; listed fields are the supported public surface. - name: ErrorEnvelope fields: 1 - name: LineItem fields: 5 - name: Logo fields: 2 - name: Party fields: 2 - name: Payment fields: 10 - name: PostalAddress fields: 4 - name: PublicDocumentV1 fields: 13 - name: PublicStructuredArtifactRequestV1 fields: 0 description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API. - name: ReadinessResponse fields: 0 description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API. - name: StructuredArtifactResponse fields: 0 description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API. - name: TaxIdMetadata fields: 3 - name: TaxRegistrationIdentifier fields: 2 relationships: - from: Branding to: Logo type: has_one via: logo - from: PublicDocumentV1 to: Party type: has_one via: seller - from: PublicDocumentV1 to: Party type: has_one via: buyer - from: PublicDocumentV1 to: LineItem type: has_many via: items - from: PublicDocumentV1 to: Payment type: has_one via: payment - from: PublicDocumentV1 to: Branding type: has_one via: branding - from: ComplianceParty to: PostalAddress type: has_one via: postalAddress - from: ComplianceParty to: TaxIdMetadata type: has_one via: taxId - from: ComplianceParty to: TaxRegistrationIdentifier type: has_one via: taxRegistrationIdentifier - from: ComplianceSupplementV1 to: ComplianceParty type: has_one via: seller - from: ComplianceSupplementV1 to: ComplianceParty type: has_one via: buyer - from: ComplianceSupplementV1 to: ComplianceLine type: has_many via: lines