Przejdź do treści

InventoryDocument

InventoryDocument (dokument ruchu magazynowego) to zasób reprezentujący zmianę stanu magazynowego: zmianę ilości, własności i/lub lokalizacji. Jeden dokument = jeden ruch (przyjęcie, wydanie, przesunięcie, korekta) z nagłówkiem (movementType, effectiveDate, opcjonalnie fromLocation/toLocation na nagłówku) i pozycjami InventoryDocumentPosition (product, quantity jako delta, fromLocation, toLocation). Zamiast osobnych typów „PZ” i „WZ” używany jest wspólny zasób z movementType (receipt, issue, transfer, adjustment); kierunek zmiany wynika z pól from/to i znaku quantity. Wzorowany na SAP (Material Document, movement type 101/201/301), Oracle (MTL_MATERIAL_TRANSACTIONS, transaction type), D365 (InventMovement).

Rozszerza DomainResource. Zasób z pakietu Kamsoft.FAIR (Fast Adaptive Interoperable Resources).


1. Zakres i zastosowanie

InventoryDocument = jeden dokument ruchu: movementType (CodeableConcept – receipt, issue, transfer, adjustment), effectiveDate (data obowiązywania), position[] (pozycje z product, quantity jako delta, fromLocation, toLocation). Opcjonalnie na nagłówku: fromLocation, toLocation (gdy wspólne dla wszystkich pozycji), participant (magazyn, dostawca, odbiorca – referencje do Party/PartyRole), relatedDocument (zamówienie, zlecenie, korekta).

  • PZ (przyjęcie) = InventoryDocument z movementType=receipt; pozycje z toLocation. Ilość na pozycji dodatnia. Dostawca w participant.
  • WZ (wydanie) = movementType=issue; pozycje z fromLocation. Ilość na pozycji ujemna lub wartość bezwzględna z konwencji. Odbiorca w participant.
  • Przesunięcie = movementType=transfer; pozycje z fromLocation i toLocation.
  • Korekta = movementType=adjustment; pozycje z from/to lub jedną lokacją i quantity (delta).

Relacja do Document: W kanonicznym WMS dokumentem ruchu jest InventoryDocument. Ogólny Document może służyć do powiązań międzydomenowych przez relatedDocument lub identifier.


2. Zawartość (struktura)

Oprócz elementów DomainResource (id, meta, comment, category, status, type, contained, attribute):

Nazwa Kard. Typ Opis
identifier 0..* Identifier Identyfikatory dokumentu ruchu (numer PZ/WZ/MM z systemu WMS – rodzaj w Identifier.system)
movementType 1..1 CodeableConcept Rodzaj zmiany: receipt (przyjęcie), issue (wydanie), transfer (przesunięcie), adjustment (korekta) – system inventory-movement-type
effectiveDate 1..1 date Data obowiązywania ruchu (dzień przyjęcia/wydania/przesunięcia)
fromLocation 0..1 Reference(Location) Lokalizacja źródłowa (gdy wspólna dla wszystkich pozycji; np. jeden magazyn przy wydaniu)
toLocation 0..1 Reference(Location) Lokalizacja docelowa (gdy wspólna dla wszystkich pozycji)
participant 0..* Reference(Party / PartyRole) Uczestnicy (magazyn, dostawca, odbiorca); magazyn wynika też z Location.owner/managingParty
relatedDocument 0..* Reference(Document / InventoryDocument) lub Identifier Powiązane dokumenty (zamówienie, zlecenie, dokument korygowany)
position 0..* InventoryDocumentPosition Pozycje ruchu (produkt, delta ilości, fromLocation, toLocation)
attribute 0..* Attribute Atrybuty dokumentu (np. podsumowanie; code + value*)

Uwaga: status (z DomainResource) – np. draft, completed, cancelled. type / category – opcjonalna dalsza klasyfikacja (np. PZ z dostawcy, PZ zwrot).


3. Zgodność z systemami ERP

System Odpowiednik Uwagi
SAP Material Document (MIGO), Movement Type (101, 201, 301) Dokument = ruch; movement type definiuje efekt (+/- qty, z/do lokacji).
Oracle MTL_MATERIAL_TRANSACTIONS, transaction_type_id Transakcja = zmiana stanu; typ = receipt, issue, transfer.
D365 InventMovement, WHS – movement type Ruch z typem; from/to location, quantity.
Workday Inventory adjustment / transfer Operacja na stanie z kierunkiem zmiany.

Model kanoniczny: InventoryDocument z movementType i position[] (fromLocation, toLocation, quantity jako delta) pokrywa dokument ruchu w SAP, Oracle, D365.


4. Odniesienia