﻿{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Invoice",
  "title": "Invoice",
  "version": "1.0.0",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "resourceType": {
      "type": "string"
    },
    "meta": {
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Meta"
    },
    "owner": {
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Reference"
      }
    },
    "comment": {
      "type": "string"
    },
    "category": {
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/CodeableConcept"
      }
    },
    "status": {
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/CodeableConcept"
    },
    "type": {
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/CodeableConcept"
    },
    "contained": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "attribute": {
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Attribute"
      }
    },
    "identifier": {
      "description": "Identyfikatory faktury",
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Identifier"
      }
    },
    "issueDate": {
      "description": "Data wystawienia",
      "type": "string"
    },
    "saleDate": {
      "description": "Data sprzeda\u017Cy",
      "type": "string"
    },
    "dueDate": {
      "description": "Termin p\u0142atno\u015Bci",
      "type": "string"
    },
    "seller": {
      "description": "Wystawca",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Reference"
    },
    "buyer": {
      "description": "Nabywca",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Reference"
    },
    "payer": {
      "description": "P\u0142atnik",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Reference"
    },
    "totalNet": {
      "description": "Suma netto dokumentu",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Money"
    },
    "totalVat": {
      "description": "Suma VAT dokumentu",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Money"
    },
    "totalExcise": {
      "description": "Suma akcyzy dokumentu",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Money"
    },
    "totalGross": {
      "description": "Kwota nale\u017Cno\u015Bci og\u00F3\u0142em",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Money"
    },
    "currency": {
      "description": "Waluta",
      "type": "string"
    },
    "paymentMethod": {
      "description": "Spos\u00F3b zap\u0142aty",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/CodeableConcept"
    },
    "paymentAccount": {
      "description": "Rachunek bankowy",
      "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Reference"
    },
    "splitPayment": {
      "description": "Split payment (MPP)",
      "type": "boolean"
    },
    "ksefAcquisitionDate": {
      "description": "Data otrzymania w KSeF",
      "type": "string"
    },
    "lines": {
      "description": "Wiersze faktury",
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/InvoicePosition"
      }
    },
    "taxLine": {
      "description": "Podsumowanie VAT per stawka",
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/InvoiceTaxLine"
      }
    },
    "basedOn": {
      "description": "Powi\u0105zane dokumenty",
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Reference"
      }
    },
    "attachment": {
      "description": "Za\u0142\u0105czniki",
      "type": "array",
      "items": {
        "$ref": "https://api-erp.kamsoft.pl/ns/StructureDefinition/Attachment"
      }
    }
  },
  "required": [
    "identifier",
    "issueDate",
    "seller",
    "buyer",
    "totalGross",
    "currency",
    "lines"
  ]
}