CostAssignment
CostAssignment (przypisanie kosztów) to zasób reprezentujący alokację kosztów na nośnik kosztów (CostCarrier) w danym okresie. Każde przypisanie zawiera position[] – listę pozycji, gdzie każda wskazuje zasób, z którego koszt pochodzi (resource), i wartość (valueMoney lub valueQuantity). Wzorowany na SAP (Cost Assignment COEP), Oracle (Cost Allocation), Dynamics 365 (Cost Distribution).
Rozszerza DomainResource.
1. Zakres i zastosowanie
CostAssignment = dokument alokacyjny przypisujący koszty do CostCarrier. Przypisanie niesie:
- costCarrier – nośnik kosztów (cel alokacji),
- date / period – dzień i okres alokacji (w odczycie: pierwszy dzień miesiąca oraz pełny miesiąc rozliczeniowy),
- position[] – pozycje z
resource(w odczycie: ośrodek kosztów,CostCenter) i wartością.
Brak bezpośredniego wpływu na zasoby źródłowe – CostAssignment nie modyfikuje dokumentów ani nośników; jest samodzielnym zapisem alokacyjnym.
2. Zawartość (struktura)
Oprócz elementów DomainResource (id, resourceType, meta, owner[], comment, category[], status, type, contained[], attribute[]):
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| identifier | 0..* | Identifier | Identyfikatory przypisania |
| costCarrier | 0..1 | Reference(CostCarrier) | Nośnik kosztów – cel alokacji; identifier w przestrzeni CostCarrier.Id |
| date | 0..1 | date | Data (dzienna) alokacji |
| period | 0..1 | Period | Okres alokacji (start/end) |
| position | 0..* | CostAssignmentPosition | Pozycje przypisania |
2a. CostAssignmentPosition (zagnieżdżony)
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| positionNo | 0..1 | integer | Numer pozycji w alokacji (od 1) |
| type | 0..1 | CodeableConcept | Typ pozycji alokacji; słownik finance/cost-assignment-position-type, kod allocation |
| resource | 0..1 | Reference | Zasób źródłowy alokacji; w odczycie ośrodek kosztów (type = CostCenter, identifier w przestrzeni CostCenter.Id z numerem ośrodka) |
| valueMoney | 0..1 | Money | Wartość kwotowa (w odczycie w PLN) |
| valueQuantity | 0..1 | Quantity | Wartość ilościowa |
Uwaga: pozycja niesie jedno z valueMoney lub valueQuantity. Pozycja nie ma tablicy attribute — cechy dodatkowe wyraża attribute[] zasobu.
3. Operacje
| Metoda | Ścieżka | Opis |
|---|---|---|
| GET | /v1/cost-assignments |
Wartości alokowane na nośniki kosztów w okresie (tylko odczyt) |
Odpowiedź: { "items": [...], "nextToken": null }; paginacja count (domyślnie 20) i offset (domyślnie 0).
| Parametr | Wymagany | Format | Opis |
|---|---|---|---|
costCarrierId |
nie | integer | Id nośnika kosztów |
costCenterNumber |
nie | string | Numer ośrodka kosztów |
year |
nie | integer | Rok okresu |
month |
nie | integer | Miesiąc okresu (1–12) |
owner |
nie | system\|value |
Firma po NIP: https://gov.pl/nip\|<NIP> |
Błędny format parametru → 400 Problem Details (type = https://httpstatuses.com/400).
4. Zgodność z systemami wzorcowymi
| System | Odpowiednik | Uwagi |
|---|---|---|
| SAP | Cost Assignment documents (COEP), Allocation documents | costCarrier = Cost Center / Internal Order; position[] = wiersze alokacji |
| Oracle | Cost Allocation, Accruals | wpis alokacyjny z segmentem Cost Center |
| Dynamics 365 | Cost Allocation, Distribution | position[] = wiersze alokacji per źródło |
| Workday | Cost Distribution, Work Tag Assignment | costCarrier = Cost Center / Project |
5. Odniesienia
- DomainResource, CostCarrier (CostAssignment.costCarrier)
- Identifier, CodeableConcept, Reference, Money, Quantity, Period