K čemu tahle funkce je#
Klasická situace: spustíte na produkt slevovou akci a dodavatel vám slevu kompenzuje dobropisem (proto, abyste promo neplatili vy, ale on). Margly o tom ale z importu neví nic — vidí jen sníženou prodejní cenu v e-shopovém feedu, dobropis od dodavatele nikoli. Výsledek: marže v Margly se prudce propadá, vypadá to, že prodáváte pod nákupní cenou, a Plán růstu nebo AI Poradce začnou doporučovat „přestat tenhle produkt prodávat".
Manuální úprava prodejní ceny je řešení. Řeknete Margly: „od 1. března do 31. března ber pro výpočet marže místo aktuální prodejky původní cenu z ceníku — slevu mi kompenzuje dodavatel." Margly v daném okně přepočítá marže z té vámi zadané ceny a v ostatních obdobích bere normálně cenu z importu.
Kdo úpravu může nastavit#
Tlačítko „Upravit cenu" vedle marže produktu vidí Vlastník a Editor. Host z partnerské firmy (přes Sdílení přístupu mezi účty) má povolené úpravy dat, ale toto konkrétní tlačítko v tabulce produktů je v aktuální verzi Margly skryté pro hosty (na úrovni serveru by úprava jinak prošla — UI ji prostě nezobrazuje).
Kde úpravu najdete#
Otevřete sekci Produkty
V levém menu Produkty. Tabulka má sloupce ABC, Kód, Název, Množství, Obrat (s/bez DPH dle vašeho nastavení), Podíl %, Marže, Marže %, Storno %, Nákupní cena, Sazba DPH, Zákazníci.
Najděte řádek konkrétního produktu
Nahoře v kartě je filtr Kategorie, přepínač ABC (Vše / A / B / C), přepínač Marže (Vše / ≥ 30 % / 10–30 % / < 10 % / „Chybí nákupní cena") a vyhledávací pole „Hledat kód, název…".
Klikněte odkaz Upravit cenu pod marží
U každého produktu je pod hodnotou marže malý odkaz „Upravit cenu" (ikona slevenky / „ticket percent"). Otevře dialog „Manuální úprava prodejní ceny" s kódem a názvem produktu v podtitulku.
Vyplnění formuláře#
Dialog obsahuje vysvětlující banner (sbalitelný — zapamatuje si vaše rozhodnutí v prohlížeči), pak příklad (vidíte ho jen do první vytvořené úpravy) a níže samotný formulář „Přidat novou úpravu".
Pole, která vyplníte#
| Pole | Co zadat |
|---|---|
| Začátek promo akce | Datum, od kdy platila zákazníkům sleva. Margly bude od tohoto dne počítat marži z upravené ceny. |
| Konec promo akce | Poslední den slevy. Musí být po datu začátku. Po tomto datu Margly automaticky přejde zpět na aktuální cenu z importu — nemusíte na nic myslet. |
| Zadáváte cenu | Přepínač „Bez DPH" / „S DPH". Default sleduje vaše nastavení zobrazování cen. Když přepínač přepnete s už zadanou cenou, Margly hodnotu sám přepočítá ze sazby DPH — nemusíte mazat. |
| Upravená prodejní cena | Cena, ze které se má počítat marže — typicky vaše běžná cena z ceníku před slevou. Hodnota v režimu, který jste zvolili výše. |
| Sazba DPH | V procentech (0 – 30). Default 21 %. Stejná jako u standardní prodejní ceny produktu. Margly podle ní dopočítá druhou hodnotu (s DPH ↔ bez DPH). |
| Vaše poznámka | Volitelné, max 500 znaků. Doporučujeme zapsat ID dobropisu nebo název dodavatele — např. „Promo s ABC Vína, dobropis #2026/043". Vyhledat v tabulce úprav podle poznámky se tím usnadní. |
Náhled výpočtu#
Pod formulářem je živý „Náhled výpočtu" — jakmile začnete vyplňovat cenu, Margly v reálném čase ukáže:
- Vaše zadání — cena bez DPH i s DPH (zvýrazněná je ta, kterou jste vyplnili).
- Aktuální cena z importu — co Margly aktuálně vidí v datech z e-shopu.
- Marže před úpravou — co by Margly počítal bez vaší úpravy. Červeně, pokud je záporná; žlutě pod 10 %; zeleně od 10 % výš.
- Marže po úpravě — co bude Margly počítat v promo okně. Barvy stejné.
- Rozdíl — kolik Kč/ks (nebo jednotek vaší měny) dělá změna v marži.
Když cena dává nesmysl (např. překlep o nulu), v náhledu to hned uvidíte ještě před uložením.
Uložení#
Klikem na „Uložit úpravu" Margly:
- Vloží úpravu do databáze (oba sloupce s DPH i bez DPH, sazba DPH, poznámka, vaše uživatelské ID a čas).
- Synchronně přepočítá marže všech objednávek toho produktu v zadaném okně — žádné čekání, dashboard a tabulka produktů hned ukazují nové hodnoty.
- Aktualizuje denormalizovaný snapshot ziskovosti produktů (na pozadí).
- Invaliduje cache dashboardu — další načtení už ukáže nové marže.
Po uložení uvidíte hlášku „Úprava uložena. Marže produktu byla přepočítána."
Existující úpravy a jejich stavy#
Když na produkt už máte uloženou úpravu (nebo i víc), v dialogu nad formulářem uvidíte sekci „Existující úpravy". Každý záznam má stavový štítek:
- Aktivní do datum (modrý štítek) — úprava právě platí, dashboard z ní počítá marže.
- Začne datum (žlutý štítek) — naplánovaná na budoucnost, ještě nemá vliv na současné výpočty.
- Skončilo datum (šedý štítek) — historická úprava. Dashboard z ní stále reprodukuje marže v jejím původním okně (proto se nemaže automaticky).
U každého záznamu vidíte období, cenu (zvýrazněnou v aktivním režimu zobrazení, druhou v závorce), poznámku, datum a autora vytvoření. Vpravo je ikona koše pro smazání.
Pravidla pro období#
- Konec musí být striktně po začátku (kontrola na klientovi i serveru — jinak hláška „Neplatné období úpravy. Datum konce musí být po datu začátku.").
- Pro jeden produkt se období nesmí překrývat. Pokud zkusíte uložit úpravu, jejíž okno zasahuje do už existující úpravy stejného produktu, Margly vrátí hlášku „Zadané období se překrývá s jinou existující úpravou pro tento produkt." Tohle pravidlo hlídá databáze, takže se nedá obejít.
- Cena musí být ≥ 0, sazba DPH v rozmezí 0–30 %.
Když máte aktivní úpravu, ale dodavatel mezitím změnil ceník v e-shopu#
V dialogu uvidíte modrý informační proužek:
Aktuální cena z importu je X. Vaše úprava (Y) má přednost ve výpočtu marže do data konce. Importy váš záznam nepřepíší.
Margly tím říká: cena v e-shopu se změnila (např. po skončení promo už máte v ceníku jinou hodnotu), ale vaše úprava má v rámci svého období přednost. Žádné překvapení, žádný tichý přepis.
Smazání úpravy#
Klikem na ikonu koše u záznamu se objeví vnitřní potvrzovací rámeček s textem podle stavu úpravy:
| Stav | Co se stane po smazání |
|---|---|
| Aktivní | Marže produktu se přepočítá zpět z aktuální ceny z importu. Pokud dodavatel slevu kompenzoval (a vy proto úpravu vytvořili), marže může klesnout do záporu. Tlačítko: „Smazat a přepočítat". |
| Naplánovaná (ještě nezačala) | Smazání jen odebere záznam z plánu, současné marže nemění. Tlačítko: „Smazat a přepočítat". |
| Skončilo (historická) | Historické marže pro období úpravy se přepočítají z aktuálních cen v importu — to ovlivní historické pohledy v Přehledu, kartě Marže, doporučení AI Poradce i v Plánu růstu. Margly doporučuje historický záznam ponechat pro audit a smazat jen pokud byl omylem. Tlačítko: „Smazat a přepočítat historii". |
Po smazání Margly znovu spustí přepočet marží (synchronně) a invaliduje cache dashboardu. Toast hláška potvrdí, co se stalo.
Jak se úprava projeví v dashboardu#
Když máte aktivní úpravu, uvidíte v Margly tyhle vizuální stopy:
- V tabulce Produkty vedle marže produktu se objeví modrý štítek „Manuální cena" a pod marží monospace text „Z upravené ceny: X". Najetí myší ukáže tooltip: „Marže produktu se počítá z vámi zadané upravené prodejní ceny (X) místo z aktuální ceny v importu (Y). Kompenzace od dodavatele za poskytnutou slevu. Platnost: od – do."
- Když úprava skončila, ale historicky ovlivnila marže ve vybraném období dashboardu, štítek je šedý: „Promo v období" (s informačním tooltipem).
- V sekci Marže (levé menu → Marže, ikona trend up) se pod řádkem COGS rozbalí mini-rozpad „Surové COGS", „Promo kompenzace dodavatele" (s mínusovou částkou v zelené) a „Efektivní COGS po kompenzaci" (kurzívou). Pod tím malá poznámka s odkazem zpět do Produktů.
- AI Poradce používá pro analýzy marží tytéž RPC, které úpravu zohledňují (
get_margin_cascadevrací už efektivní COGS,get_top_productsnačításelling_price_uplift_per_unitz položek objednávek). Doporučení a žebříčky produktů v Poradci tedy nebudou v promo měsíci zkreslené.
Co úprava NEdělá (a proč)#
- Nemění tržby. Zákazníci zaplatili zlevněnou cenu, to je fakt. Účetně i v reportech tržeb to zůstává.
- Nepřepisuje data z e-shopu. Šet (Shoptet / Shopify / Upgates / CSV feedy) o tabulce úprav vůbec neví — synchronizace produktů nikdy nezapíše ani nepřečte z
product_selling_price_overrides. Je to čistě „nadstavbová vrstva", kterou kontroluje merchant. - Nesmaže se sama po skončení promo. Historické záznamy zůstávají, aby šly přesně reprodukovat historické marže (na hodnoty z okamžiku, kdy je dashboard nebo Poradce viděl).
- Neovlivňuje COGS mimo nastavené okno. Mimo valid_from – valid_to Margly bere normálně aktuální nákupní cenu i prodejní cenu z importu.
- Nepřepočítává pouze produkty bez úprav — když nemáte úpravu, nic se nemění (nemusíte se bát, že by funkce „zanechala otisk" na ostatních produktech).
Bezpečné rozsahy a limity#
- Rate limit: 30 uložení a 30 smazání za 5 minut na účet (každá akce má vlastní samostatné okno — POST a DELETE se nepočítají dohromady). Větší dávky rozložte do času.
- Poznámka max 500 znaků.
- Sazba DPH 0–30 %, cena ≥ 0 (validace klient i server).
- Cena uložená s přesností na 4 desetinná místa v databázi (zobrazení se zaokrouhluje na 2).
- Časové pásmo úprav je tenant-wide — okno se porovnává s datem objednávky převedeným do časového pásma vašeho účtu (odvozeno z fakturační země).
Časté chyby a co s nimi#
| Hláška | Co znamená a co s tím |
|---|---|
| „Zadané období se překrývá s jinou existující úpravou pro tento produkt." | Pro stejný produkt už máte úpravu, jejíž okno protíná to nové. Buď upravte období, nebo smažte starší záznam. |
| „Neplatné období úpravy. Datum konce musí být po datu začátku." | Konec ≤ začátek. Opravte data. |
| „Neplatná cena úpravy." | Cena vyšla na NaN nebo zápornou hodnotu. Zkontrolujte vstup — pozor na desetinný oddělovač. |
| „Úprava byla uložena, ale přepočet marží selhal. Zkontrolujte stav synchronizace nebo kontaktujte podporu." | Záznam je v DB, ale recalculate_margins selhal. Otevřete Aktualizace dat a podívejte se na poslední stav. Když problém přetrvává, napište na info@margly.io. |
| „Úprava ceny byla uložena, ale v daném období neodpovídá žádné objednávce — marže se nepřepočítaly." | V okně není ani jedna objednávka tohoto produktu. Buď ještě nedoteklá data, nebo jste nastavili pásmo, kdy se produkt neprodával. |
Co dál#
- Pochopení marží — jak Margly počítá hrubou marži, CM1 a čistou marži
- Nastavení DPH — jak přepínač zobrazování ovlivňuje pole „Zadáváte cenu" v dialogu úpravy
- Aktualizace dat — kdy se nová úprava promítne, pokud data ještě nedoteklá