> ## Documentation Index
> Fetch the complete documentation index at: https://www.twicecommerce.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Skladový kód (kód položky)

> Jedinečný, systémem generovaný identifikátor přiřazený každé skladové položce, který zajišťuje přesné sledování a konzistenci dat.

![Kód položky zobrazený na skladové položce](https://mintcdn.com/twicecommerce/lZhc_tO8u1u_bL0Q/images/stock-item-general-tab.webp?fit=max\&auto=format\&n=lZhc_tO8u1u_bL0Q\&q=85\&s=e0a29bba3d2126e9149d978d008e2a62)

Inventář > Skladové položky > \[Položka] > Všeobecné

## Definice

<Snippet file="definitions/cs/stock-code-definition.mdx" />

**Skladový kód** (nazývaný také **kód položky**) je řetězec jedinečný v rámci tenanta, který identifikuje jednu skladovou položku. Skladová položka nese pole `codes`: může mít přiřazený **jeden nebo více** kódů, což umožňuje, aby jedna fyzická položka najednou podporovala více skenovacích procesů (interní kód majetku, vytištěný čárový kód, sériové číslo výrobce).

> [!NOTE]
>
> **Analogie:** Skladový kód je jako rodné číslo pro položku: provází fyzický objekt celým jeho životním cyklem a je tím, čím se na něj odkazuje každý jiný záznam v TWICE.

> [!TIP]
>
> **Více kódů na položku.** Pole `codes` v TWICE je pole (array). Ke stejné skladové položce můžete přiřadit sériové číslo výrobce, vytištěný štítek majetku a interní kód a naskenováním kteréhokoli z nich ji najít.

## Skladový kód vs kód SKU

Jde o odlišné identifikátory na odlišných úrovních.

| | Skladový kód (kód položky) | Kód SKU |
| - | - | - |
| Patří k | Jedné skladové položce | Jednomu SKU |
| Kardinalita | 1 až N na položku | 1 na SKU |
| Identifikuje | Fyzickou jednotku | Typ produktu |
| Pole API | `codes` na `Article` | `code` na `Sku` |
| Jedinečnost | V rámci tenanta | V rámci tenanta |
| Příklad | `B-1`, `SN12345`, `LF93HXB1` | `BIK-S`, `SKI-ATOM-170` |

Kolo `B-1` (skladový kód) je jedna konkrétní jednotka produktu `BIK-S` (kód SKU). Dvacet kol stejného modelu = dvacet skladových kódů odkazujících na jeden kód SKU.

## Kde to použiji?

Skladové kódy se v TWICE používají pro:

* **Jedinečnou identifikaci**: odkazování na konkrétní položky v objednávkách, reportech a operacích.
* **Skenování čárových a QR kódů**: fyzické štítky se přímo propojují s digitálním záznamem.
* **Hromadné procesy vyřízení**: skenování položek při výdeji a vrácení.
* **Integritu dat**: omezení jedinečnosti zabraňuje duplicitním záznamům.
* **Operace API**: programové ovládání konkrétních skladových položek.
* **Auditní stopy**: historie objednávek a protokoly událostí odkazují na tehdy použité kódy.

## Klíčové vlastnosti

| Vlastnost | Typ | Popis |
| - | - | - |
| `codes` | string\[] | Pole kódů přiřazených k jedné skladové položce. Každý kód musí být jedinečný v rámci tenanta. |
| Rozsah jedinečnosti | V rámci tenanta | Kód lze znovu použít napříč různými tenanty, ale ne v rámci vašeho. |
| Automatické generování | Ano (pokud vynecháno) | Pokud vytvoříte article bez zadání `codes`, TWICE vygeneruje 8znakové ID. |
| Editovatelné po vytvoření | Ano | Kódy lze přidávat nebo odebírat. Změny identifikátorů se zaznamenávají jako události `identifiers_changed`. |
| Povinné při vytvoření | Ne | Pokud není zadán žádný kód, jeden se vygeneruje. |

## Systémem generované vs vlastní kódy

Kódy můžete nastavit třemi způsoby:

### Automaticky generované

Při vytváření article vynechte `codes`. TWICE vygeneruje náhodné 8znakové ID (např. `LF93HXB1`). Vhodné pro rychlý nástup, kdy vám na konkrétních hodnotách nezáleží.

### Ruční zadání

Zadejte `codes` při vytvoření nebo aktualizaci. Použijte jakýkoli formát řetězce vyhovující vašemu provozu: krátké štítky majetku (`B-1`), sériová čísla (`SN-2024-00123`), nebo kódy s předponou místa (`HEL-BIK-001`). Ověřte před uložením pomocí `POST /articles/validate-code`, nebo hromadně přes `POST /articles/validate-codes`.

### Hromadná registrace se vzorem

V dialogu administrace **Registrovat skladové položky** můžete při vytváření více jednotek najednou automaticky vygenerovat sekvenci (`B-1`, `B-2`, ..., `B-N`). Toto je nejběžnější postup pro příjem nové zásilky identických jednotek.

## Více kódů na položku

Jedna skladová položka může mít v poli `codes` více hodnot. Je to záměrné a podporuje to reálné skenovací procesy:

```json theme={null}
{
  "id": "art_xyz789",
  "name": "Atomic Race Ski 170cm",
  "codes": ["SKI-001", "SN240501234", "9783161484100"]
}
```

* `SKI-001`: interní štítek majetku vytištěný na nálepce.
* `SN240501234`: sériové číslo výrobce vytištěné na lyži.
* `9783161484100`: čárový kód na původním obalu.

Naskenování **kteréhokoli** z nich vede ke stejné skladové položce. Všechny tři jsou udržovány synchronizovaně, takže odebrání nebo nahrazení jednoho nenaruší ostatní.

## Pravidla formátu kódu

* **Typ:** string. Není vynucen žádný limit délky kromě automaticky generovaného výchozího počtu 8 znaků.
* **Znaky:** jakékoli tisknutelné znaky. Většina provozovatelů se drží alfanumerických znaků, pomlček a podtržítek, aby kódy přežily tiskárny štítků a čtečky čárových kódů.
* **Jedinečnost:** v rámci tenanta. Ověřuje se při vytvoření i aktualizaci.
* **Rozlišování velikosti písmen:** kódy se ukládají s rozlišením velikosti písmen, ale většina skenovacích procesů je považuje za nerozlišující. Zvolte jednu konvenci a držte se jí.
* **Bílé znaky:** před uložením odstraňte úvodní a koncové mezery. Vložené mezery fungují, ale skenování dělají křehčím.

Dobré vzory:

| Vzor | Příklad | Případ užití |
| - | - | - |
| Čistá sekvence | `B-1`, `B-2`, ... | Rychlý nástup |
| S předponou SKU | `BIK-S-001` | Snadno čitelné na první pohled |
| S předponou místa | `HEL-BIK-001` | Provoz s více místy |
| S předponou roku | `2025-BIK-001` | Sledování nákupní kohorty |
| Sériové číslo | `SN12345` | Vydáno výrobcem |

## QR kódy a skenování čárových kódů

Skladové kódy jsou navržené tak, aby se daly zakódovat na fyzické štítky. Běžné procesy:

* **Tisk při příjmu.** Když dorazí nový inventář, zaregistrujte skladové položky s automaticky generovanými nebo vlastními kódy a poté vytiskněte štítky přímo z administrace.
* **Skenování při výdeji.** Operátoři při přiřazování položky k objednávce pronájmu naskenují její kód. TWICE kód ověří, najde položku a přiřadí ji k řádku objednávky.
* **Skenování při vrácení.** Stejný proces skenování proběhne obráceně a označí položky jako vrácené a přepne stav z **U zákazníka** na **U vás**.
* **Skenování pro vyhledání.** Rychlé hledání v administraci: naskenujte kód a přejděte přímo na detail položky.

Protože `codes` je pole, položku, která má jak interní štítek majetku, tak čárový kód výrobce, lze naskenovat z kteréhokoli štítku. Operátoři nemusí vědět, na který štítek se právě dívají.

## Rozsah jedinečnosti

Omezení jedinečnosti platí **v rámci tenanta** (vašeho účtu TWICE Commerce). Dva různé tenanty mohou mít oba skladovou položku `B-1`. V rámci jednoho tenanta:

* Každý kód v poli `codes` libovolného article musí být jedinečný napříč **všemi** skladovými položkami.
* Ověření probíhá na straně serveru při vytvoření i aktualizaci prostřednictvím tabulky `articleCodes`.
* Před odesláním použijte `POST /articles/validate-code` (jednotlivě), nebo `POST /articles/validate-codes` (hromadně), abyste chybu odhalili včas s jasnou hláškou.

## Vztahy

```mermaid theme={null}
flowchart LR
    SKU["SKU<br/>code: BIK-S"]
    Article1["Skladová položka<br/>codes: B-1, SN001"]
    Article2["Skladová položka<br/>codes: B-2, SN002"]
    Article3["Skladová položka<br/>codes: B-3"]
    Label1["Štítek B-1"]
    Label2["Čárový kód SN001"]
    SKU --> Article1
    SKU --> Article2
    SKU --> Article3
    Label1 -.->|skenuje na| Article1
    Label2 -.->|skenuje na| Article1
```

## Životní cyklus

**1. Vytvoření**

Kódy se přiřazují při vytvoření skladové položky.

> **Jak se kódy generují?**
>
> Pokud odešlete `codes: ["..."]`, použijí se tak, jak jsou. Pokud `codes` vynecháte, TWICE vygeneruje náhodný 8znakový kód. Hromadný dialog **Registrovat skladové položky** může vygenerovat i sekvenci.

> **Mohu ověřit před vytvořením?**
>
> Ano. `POST /articles/validate-code` s `{ code }` vrátí `{ isUnique }`. `POST /articles/validate-codes` s `{ codes: [...] }` vrátí seznam neplatných kódů a jejich důvod (`existing`).

**2. Používání**

Kódy jsou každodenním úchytem na skladovou položku.

> **Kde se kódy zobrazují?**
>
> Na detailu skladové položky, ve sloupci tabulky, v objednávkách obsahujících položku, na štítcích, které tisknete, ve skenovacích procesech a v každé odpovědi API, která obsahuje Article.

> **Mohu vyhledávat podle kódu?**
>
> Ano. Vyhledávání v tabulce skladových položek i globální vyhledávání v administraci přeloží kódy na jejich skladovou položku. API podporuje `filters.code` pro přesnou i částečnou shodu.

**3. Úprava**

Kódy lze přidávat, odebírat nebo nahrazovat.

> **Jak přidám kód?**
>
> Upravte položku a přidejte do pole `codes`, nebo použijte `PUT /articles/:id` s novým celým polem. Změna se zaznamená jako událost `identifiers_changed` s předchozím a novým polem.

> **Mohu kód změnit?**
>
> Ano, nahraďte pole novou hodnotou. Starý kód se odpojí a okamžitě je dostupný k použití na jiné položce.

> **Co se stane s historickými odkazy?**
>
> Řádkové položky objednávek a položky hlavní knihy odkazují na skladovou položku podle jejího `id`, ne podle kódu. Změna nebo odebrání kódu historické odkazy nenaruší.

## Časté dotazy

> **Mohu změnit skladový kód po vytvoření?**
>
> Ano. Kódy nejsou neměnné. Můžete je kdykoli přidat, odebrat nebo nahradit. Změna se zaznamená do protokolu aktivit jako `identifiers_changed`. Historické objednávky a položky hlavní knihy se odkazují podle id položky, ne podle kódu, takže zůstávají platné.

> **Jaký je rozdíl mezi skladovým kódem a kódem položky?**
>
> Jde o totéž. „Skladový kód" zdůrazňuje úhel pohledu sledování inventáře; „kód položky" zdůrazňuje, že identifikuje konkrétní fyzickou položku. V API je toto pole `codes` na zdroji `Article`.

> **Mohou mít dvě položky stejný kód?**
>
> Ne, kódy jsou jedinečné napříč všemi skladovými položkami v tenantovi. Pokud se pokusíte vytvořit nebo aktualizovat s duplicitním kódem, operace selže s důvodem ověření `existing`.

> **Může mít jedna položka více kódů?**
>
> Ano. Pole `codes` je pole (array). Ke stejné skladové položce můžete přiřadit interní kód, sériové číslo výrobce a čárový kód z obalu. Naskenování kteréhokoli z nich vede k dané položce.

> **Jaký formát mám použít?**
>
> Cokoli, co vyhovuje vašemu provozu. Většina provozovatelů používá alfanumerické znaky s pomlčkami nebo podtržítky, aby kódy přežily tiskárny štítků a čtečky čárových kódů. Pokud hodnotu vynecháte, systém vygeneruje náhodný 8znakový kód.

> **Je jedinečnost globální, nebo za jednotlivá místa?**
>
> V rámci tenanta. Kód je jedinečný napříč celým vaším účtem, nejen v rámci jednoho servisního místa. Dvě místa ve stejném tenantovi TWICE nemohou mít obě `B-1`.

## Reference pro vývojáře

Skladové kódy se spravují přes endpointy `articles`. Použijte `validate-code` k ověření jedinečnosti před vytvořením.

> **[API: Articles](https://www.twicecommerce.com/docs/api-reference/articles)**
>
> Otevřete endpoint v API referenci.

## Související články

> **[Skladové položky](https://www.twicecommerce.com/docs/cs/concepts/inventory/stock-items.md)**
>
> Záznamy, které kódy identifikují

> **[SKU](https://www.twicecommerce.com/docs/cs/concepts/inventory/skus.md)**
>
> Kód SKU vs kód položky

> **[Sledování skladu](https://www.twicecommerce.com/docs/cs/concepts/inventory/inventory-tracking.md)**
>
> Kódy se chovají odlišně pro sériové a sdružené sledování


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.