Konfigurácia prenosu Gram CRM a MRP-K/S
V tomto dokumente sú popísané možnosti konfigurácie Gram CRM Connectora pre prepojenie Gram CRM s účtovným programom MRP-K/S.
Po inštalácii Gram CRM Connectoru priečinok obsahuje 2 hlavné súbory. Konfiguračný súbor Mrp.ini (formát INI) a Mrp.bat. Mrp.bat je spustiteľný súbor, ktorý sa používa na spustenie prenosu údajov. V rámci prepojenia je možné z MRP-K/S dáta čítať (import).
Princíp fungovania a stratégia prenosu
Na import údajov z MRP sa používa priamy prístup k databáze. To sprístupňuje rozsiahle možnosti importu a zároveň veľkú rýchlosť a spoľahlivosť vykonávaných operácií.
Pre import údajov budeme potrebovať:
- Názov databázy (pre každý rok existuje vždy samostatná databáza uložená v inštalačnom adresári DATA a číslom príslušnej firmy napr pre firmu č.3 je databáza so súborom DATA0003.MRP)
- V prípade užívateľské meno a heslo (MRPDBA resp. SYSDBA)
Import účtovnej jednotky
MRP má jednotlivé roky rozdelené do samostatných databáz. Ak sú vytvárané kopírovaním predchádzajúcich rokov, tak do Gram CRM odporúčame importovať vždy poslednú. Import by mal prebiehať vždy od najstaršieho roku. Naraz je možné importovať len jeden rok.
Všetky parametre prenosu sú určené v konfiguračnom súbore Mrp.ini, pričom po inštalácii už obsahujú vzorové údaje. Je možné mať viacero konfiguračných súborov. Napríklad je možné vytvoriť jednu konfiguráciu pre kompletný import dát a druhú len pre aktualizáciu stavu skladových zásob produktov, ktorá sa bude spúšťať v častejších intervaloch.
UPOZORNENIE: Nikdy nesmie nastať situácia, že beží naraz viac ako jedno prepojenie. V takomto prípade môžu vzniknúť nezvratné následky.
Príklad konfigurácie, ktorá prenesie agendu adresár, faktúry a objednávky z MRP-K/S:
[GRAMCRM]
ORGANIZATION = crm0661
TOKEN = a952fca7608744c6aad3bfa1775eca2d
[MRP]
YEAR = 2022
SOURCE = firebird
HOST = localhost
USER = SYSDBA
PASSWORD = masterkey
DATABASE = C:\Program Files (x86)\Mrp\Demo\MrpKS\Data\DATA0003.MRP
IMPORT_ACCOUNTS = 1
IMPORT_INVOICES = 1
IMPORT_ORDERS = 1Prechod medzi rokmi – údajová uzavierka
Po vykonaní údajovej uzávierky a vytvorení ročného prevodu v MRP-K/S pribudne nová účtovná jednotka a vytvorí sa nová databáza. Aby bol zabezpečený bezproblémový prechod medzi rokmi je potrebné dodržať odporúčaný postup:
- Odstavte pravidelnú synchronizáciu a nespúšťajte žiadny import/export dát ani ručne!
- Upravte konfiguračné súbory (štandardne v C:\GramCRM) pre nový rok účtovnej jednotky v parametroch:
- upravte YEAR (resp. AGENDA),
- zmeniť databázový súbor (DATAXXXX.MRP) v DATABASE,
- nastavte pre všetky agendy INTERVAL = 0
- Opätovne spustite – povoľte automatickú synchronizáciu údajov
UPOZORNENIE: V prípade nedodržania uvedeného postupu sa vymažú všetky doklady z aktuálneho roku, ktoré boli účtované do nového roku a následne sa znovu naimportujú. Toto môže byť nežiadúce pokiaľ ste na doklady realizovali aktivity alebo pripájali dokumenty.
Dôležité: Po spustení prenosu do nového roka odporúčame nastaviť parameter IMPORT_INTERVAL = 3, aby sa zrýchlil prenos údajov do Gram CRM.
Mazanie záznamov v MRP-K/S
Pri nastavenom plánovanom spustení synchronizácie MRP s Gram CRM je nutné zohľadniť pri mazaní záznamu v MRP existenciu už prenesenia záznamu v Gram CRM. Pred zmazaním a vytvorením nového záznamu v MRP odporúčame postupovať nasledovne:
- skontrolujte existenciu čísla dokladu napr. vystavenej faktúry v Gram CRM.
- zmažte faktúru v MRP
- zmažte faktúru v Gram CRM
- môžete vytvoriť faktúru v MRP s rovnakým číslom
Týmto postupom vieme predchádzať chýbam v synchronizácii v nesprávnom spárovaní a budúcej aktualizácii dokladov.
Konfigurácia pripojenia
Sekcia [GRAMCRM] je povinná a obsahuje údaje k pripojeniu na Gram CRM. Všetky parametre sú povinné.
- ORGANIZATION – názov organizácie podľa Gram CRM (rovnaký ako pri prihlasovaní do Gram CRM napr. crm0001)
- TOKEN – API kľúč (návod na jeho vytvorenie nájdete na stránke API kľúče – vytvorenie a deaktivovanie)
Sekcia [MRP] obsahuje parametre samotnej logiky prepojenia. Povinné položky sú nasledovné:
- YEAR – rok podľa účtovnej jednotky v MRP-K/S, s ktorou chceme pracovať. /Napríklad: 2022, 2023/
- SOURCE – určuje typ uložených údajov (napr. firebird)
- HOST – hodnota definujúca umiestnenie databázového servera (localhost resp. IP adresa) . Štandardne detekované pri inštalácii
- USER – užívateľ s prístupom k databáze (východzí SYSDBA)
- PASSWORD – heslo užívateľa s prístupom k databáze (východzie masterkey)
- DATABASE – cesta k databázovému súboru (napr.: C:\Program Files (x86)\Mrp\Demo\MrpKS\Data\DATA0003.MRP).
TIP: Pri inštalácii Connectora sú údaje detekované a doplnené automaticky a zo strany užívateľa stačí údaje len skontrolovať.
Podporované agendy/moduly
V rámci parametrov je potrebné definovať ktoré agendy z MRP-K/S chceme prenášať do Gram CRM (import).
Pre import sú podporované nasledovné parametre:
- IMPORT_PRICELISTS – Import cenníkov, cenových hladín produktov a produktových skupín
- IMPORT_ACCOUNTS – import adries z Adresára
- IMPORT_CONTACTS – import kontaktov z Adresára
- IMPORT_DEALS – import zákaziek z Adresára
- IMPORT_PRODUCTS – import produktov
- IMPORT_PRODUCTS_STOCK_AMOUNT – import stavu skladových zásob produktov
- IMPORT_INVOICES – import vystavených faktúr (vrátane zálohových a dobropisov)
- IMPORT_INVOICES_TYPE – definovanie typu faktúry (Proforma, Standard, Credit)
- IMPORT_INVOICES_PAYMENTS – import platieb vydaných faktúr
- IMPORT_ORDERS – import prijatých objednávok
- IMPORT_PURCHASE_PROFORMA_INVOICES – import prijatých zálohových faktúr
- IMPORT_PURCHASE_STANDARD_INVOICES – import prijatých faktúr
- IMPORT_PURCHASE_INVOICES_PAYMENTS – import platieb prijatých faktúr
Príklad importu Adresára, Faktúr a Objednávok:
[MRP]
# ...
IMPORT_ACCOUNTS = 1
IMPORT_INVOICES = 1
IMPORT_INVOICES_PAYMENTS = 1
IMPORT_ORDERS = 1Podrobná konfigurácia
Prepojenie umožňuje upraviť správanie tak, aby presne vyhovovalo zvolenej stratégii.
Vlastník záznamov
V prípade prenosu dát z MRP-K/S štandardne systém priradí vlastníka v Grame podľa strediska. Takýto užívateľ musí v Grame existovať a musí mať vyplnený „Alias“, ktorý bude zhodný s názvom strediska. Užívateľ nemusí byť aktívny.
TIP: Pred spustením importu záznamov odporúčame vytvoriť – nastaviť užívateľov s ich „Alias“ podľa Strediska v MRP-K/S
Pokiaľ záznam nemá žiadneho vlastníka, systém automaticky nastaví vlastníka užívateľa „Import“. Túto logiku je taktiež možné upraviť pomocou parametra OWNER_NONE.
Príklad konfigurácie:
[MRP]
# ...
# Stredisko - východzia hodnota
OWNER = Stredisko
# Cele meno uzivatela, napr.: Juraj Lackovič
OWNER_NONE = ImportInterval prenosu údajov
Štandardne sú prenášané všetky záznamy za celé obdobie. Čo môže spôsobiť zvýšenú záťaž pre server, na ktorom prevádzkujete MRP a tento proces je aj časovo náročný. Preto odporúčame nastaviť po prvom prenose interval na 1-3 dni. To je možné pomocou parametra IMPORT_INTERVAL. Tento interval platí pre všetky importované agendy. Upresniť pre konkrétnu agendu môžeme doplnením názvu napríklad pre objednávky: IMPORT_ORDERS_INTERVAL.
POZNÁMKA: Nastavením parametru na hodnotu 0 sa prenesú všetky údaje bez časového rozdelenia, čo môže predĺžiť trvanie prenosu.
Príklad nastavenia intervalu na 1 deň a na 3 dni pre objednávky:
[MRP]
# ...
IMPORT_INTERVAL = 1
IMPORT_ORDERS_INTERVAL = 3UPOZORNENIE: Pri ponechanom parametri INTERVAL na hodnote 0 alebo pri nastavení na desiatky dní, v kombinácii s plánovaným spúšťaním prenosu na dennej báze, môže dôjsť k deaktivovaniu tokenu z dôvodu nadmerného zaťaženia API rozhrania. Pre plynulejší a stabilnejší prenos sa odporúča nastaviť INTERVAL v rozsahu 1 až 3 dni.
Výška DPH
Sadzba DPH je automaticky spracovávaná podľa platnej legislatívy. Štandardne je nastavená slovenská legislatíva a teda aktuálna výška DPH. Do 31.1.2024 teda 20%, 10%, 0% a pre doklady po 1.1.2025 s novou výškou DPH teda 23%, 19%, 5%.
Aktuálnu výšku DPH určujú jednotlivé moduly na základe:
- Dátum dodania – Vystavené a Prijaté faktúry, Dobropisy
- Dátum vystavenia – Zálohové faktúry, Prijaté zálohové faktúry
- Dátum vytvorenia – Objednávky
Konflikty
Prepojenie rieši aj vzniknuté konflikty. Takáto situácia môže nastať vtedy, keď medzi poslednou synchronizáciou zmeníte ten istý záznam aj v MRP-K/S aj v Grame a záznam v Grame bol zmenený neskôr ako v MRP-K/S. V štandardnom nastavení prepojenie v tomto prípade zmenu neprepíše (aby nedošlo k strate údajov zapísaných v Grame) a na výstupe vráti ako konflikt pre daný záznam.
Toto správanie je možné upraviť pomocou parametru IGNORE_CONFLICT. Môžete tak dosiahnuť, že dáta uložené v MRP-K/S budú mať vždy prednosť a takúto zmenu Vám „opraví“ v Grame podľa MRP-K/S.
Príklad:
[MRP]
# ...
# zmeny v Gram CRM budu prepisane hodnotami v MRP
IGNORE_CONFLICT = 1Import iba vybraných záznamov
Pre každú agendu je možné definovať podmienku, aké dáta sa majú importovať. Napríklad ak máme záujem importovať len uhradené faktúry alebo len jednu číselnú radu. Môžeme tak urobiť doplnením filtra pre konkrétnu agendu. Tu je však potrebná aspoň základná znalosť SQL a zároveň štruktúry dát v MRP-K/S.
Príklad importu klientov z agendy Adresár, ktorí majú zaškrtnutú položku „Fyzická osoba“:
[MRP]
# ...
# zmeny v Gram CRM budu prepisane hodnotami v MRP
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_FILTER = t.FYZOSOB=TPríklad importu Prijatých objednávok s „Dátum“ od 11.10.2023:
[MRP]
# ...
# Import agendy Prijatych objednavok
IMPORT_ORDERS = 1
IMPORT_ORDERS_FILTER = t.DATUM >= '2023-10-11'Pracovné postupy
Štandardne sa pri importe do Gram CRM spúšťajú aj pracovné postupy. Teda napríklad informácia o priradení klienta, faktúry, ponuky atď. Ak chceme predísť tomuto správaniu môžeme nastaviť parameter IMPORT_IGNORE_WORKFLOW alebo potom analogicky pre konkrétnu agendu napríklad: IMPORT_ORDERS_IGNORE_WORKFLOW.
Príklad nastavenia nespúšťania pracovných postupov pre žiadnu agendu, ale spúšťanie pre Adresár (Klientov).
[MRP]
# ...
IMPORT_IGNORE_WORKFLOW = 1
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_IGNORE_WORKFLOW = 0Parameter IMPORT_IGNORE_WORKFLOW vo volaniach zabraňuje spusteniu pracovných postupov, aj keď sa menia prepojené moduly. Napríklad, ak nahráte úhradu, čím zaplatíte faktúru a zároveň spôsobí aj aktualizáciu klienta, pracovné postupy sa nespustia pre moduly Úhrady, Faktúry a Klient.
Príklad: Pri nahrávaní úhrad vystavených faktúr sa pracovné postupy neaktivujú.
[MRP]
# ...
IMPORT_INVOICES_PAYMENTS = 1
IMPORT_INVOICES_PAYMENTS_IGNORE_WORKFLOW = 1Prenos bez položiek
Štandardne prepojenie prenáša aj jednotlivé položky (riadky dokladu). Môžeme však obmedziť prenos položiek do Gramu pomocou parametru _SKIP_ITEMS.
Príklad: Import prijatých objednávok bez položiek.
[MRP]
# ...
IMPORT_ORDERS = 1
IMPORT_ORDERS_SKIP_ITEMS = 1Import skladových kariet, produktov
CRM systém nepoužíva skladové karty, ale produkty preto skladové zásoby z MRP sú importované ako Produkty. Importované sú len tie skladové karty, ktoré majú vyplnený kód na karte zásoby. Pokiaľ sa zásoba vyskytuje na viacerých skladoch je importovaná len prvá v zozname. V rámci importu je možné určiť z ktorých skladov sa budú zásoby importovať pomocou parametra IMPORT_PRODUCTS_STOCKS. Je možné definovať viacero skladov.
UPOZORNENIE: Podmienkou prenosu skladových zásob z MRP je zadaná hodnota Kód v karte skladovej zásoby.
Pokiaľ sa importuje z viacerých skladov produkt by sa mal nachádzať v zozname iba 1x. Teda iba na jednom sklade. Ak sa nachádza na viacerých skladoch, je možné zvoliť, z ktorého skladu sa má zásoba načítať pomocou parametru IMPORT_PRODUCTS_PREFERRED_STOCK.
Ako východzia hodnota pre nákupnú cenu produktu v Gram CRM je prenášaná hodnota z poľa Sklad. cena MJ. Preto je nastavená premenná IMPORT_PRODUCTS_USE_WEIGHTED_PRICE = 1
Príklad: Import skladových zásob iba zo skladov „1, 2, 3“, pričom preferovaný bude sklad „1“:
[MRP]
# ...
IMPORT_PRODUCTS = 1
IMPORT_PRODUCTS_STOCKS = 1, 2, 3
IMPORT_PRODUCTS_PREFERRED_STOCK = 1Zmena minimálnej zhody pri importe Klienta
Predvolená (východzia) hodnota minimálnej zhody je nastavená na 40 bodov (zhoda v IČO, Názov, Mesto, Ulica), čo predstavuje najvyššiu možnú mieru zhody. Viac o posudzovaní zhody pri importe klienta je popísané na tejto stránke.
Príklad: Zápis zmeny minimálnej úrovne zhody pri importe klientov na úroveň zhody podľa IČO:
[MRP]
# ...
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_MATCHING_ACCURACY= 10Import voliteľných polí
Pri importe sa prenášajú štandardné políčka. V prípade, že sa importujú údaje z MRP-K/S a máte v systéme vytvorené nové vlastné polia je možné tieto importovať do Gram CRM. Pre každú agendu je možné definovať pravidlá pomocou parametru _MAPPING. Pre Klientov to bude IMPORT_ACCOUNTS_MAPPING.
Zápis je Pole_v_MRP->Pole_v_Gram_CRM. Jednotlivé záznamy je možné oddeliť čiarkou. Pokiaľ potrebujeme importovať fixnú hodnotu použijeme zápis: ~Hodnota->Pole_v_Gram_CRM.
Príklad: Prenos hodnoty „Iné“ v Adresári do poľa „Telefón 2“ v Gram CRM a nastavenie stavu klienta na „Aktuálny“:
[MRP]
# ...
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_MAPPING = INE->Phone2, ~2->StatusZákaz zmeny údajov
Pomocou parametru _NOT_CHANGE_FIELDS pre jednotlivé agendy môžeme zakázať zmenu hodnôt pri importe údajov do Gram CRM. Znamená to, že pri novo importovaných dátach sa nastaví hodnota podľa MRP-K/S avšak pri zmene údajov v MRP sa táto zmena už neprenesie do Gramu.
V príklade obmedzíme zmenu vlastníka vystavenej faktúry(Owner) a dátumu splatnosti(DueDate) po importe z MRP-K/S:
[MRP]
# ...
IMPORT_INVOICES = 1
IMPORT_STANDARD_INVOICES_NOT_CHANGE_FIELDS = Owner, DueDatePríklad konfigurácie
Štandardný príklad úplnej konfigurácie v organizácii môže byť nasledovný.
Požadovaná funkcionalita v príklade:
- Z MRP-K/S sú prenášané údaje Klientov, Kontaktov, Obchodných prípadov, Vystavených a prijatých faktúr, ako aj Úhrad a Objednávok. Skladové zásoby sú vedené na viacerých skladov, ale produkty so skladovými zásobami na predaj sú evidované na sklade s číslom „1“. Záznamy v MRP máme rozdelené pre obchodníkov podľa stredísk.
- Používaná databáza je Firebird
- Prenos údajov bude každú hodinu v pracovnom čase (PO-PIA, 8:00 – 17:00)
(Plánované spustenie synchronizácie si vyžaduje vytvorenie úlohy na spustenie spúšťacieho súboru napr. v Task scheduler) - Názov našej organizácie je „mrptest“
Kompletná konfigurácia:
[GRAMCRM]
ORGANIZATION = mrptest
TOKEN = a952aca7606744c6ffd2bfa1775cca2d
[MRP]
YEAR = 2023
SOURCE = firebird
HOST = localhost
USER = SYSDBA
PASSWORD = masterkey
DATABASE = C:\Program Files (x86)\Mrp\Demo\MrpKS\Data\DATA0003.MRP
# Zmeny za posledne 2 dni
IMPORT_INTERVAL = 2
# Vlastnik zaznamov bude podla strediska
OWNER = Stredisko
# Vlastnik zaznamov ktore nemaju priradeneho obchodnika bude uzivatel Import
OWNER_NONE = Import
# ------- IMPORT AGIEND Z MRP-K/S --------
# Import Klientov
IMPORT_ACCOUNTS = 1
# Import Klientov bez toho aby sme menili vlastnika
IMPORT_ACCOUNTS_NOT_CHANGE_FIELDS = Owner
# Import Kontaktov
IMPORT_CONTACTS = 1
# Import Zakaziek
IMPORT_DEALS = 1
# Importovat objednavky napriek tomu ze sa vytvaraju v Grame, avsak dalej sa pracuje s objednavkou v MRP, tak aby sme mali zabezpecene informacie o vybaveni a podobne...
IMPORT_ORDERS = 1
# Import vsetkych faktur
IMPORT_INVOICES = 1
# Mozeme urcit ktore typy faktur budeme importovat, pokial neuvedieme tento parameter importuju sa vsetky typy faktur
IMPORT_INVOICES_TYPE = Proforma, Standard, Credit
IMPORT_INVOICES_PAYMENTS = 1
# Importujeme produktove karty
IMPORT_PRODUCTS = 1
# Importujeme stav skladovych zasob (pocty kusov na sklade)
IMPORT_PRODUCTS_STOCK_AMOUNT = 1
# Kody skladov z ktorych importujeme skladove zasoby ako produkty. Ak nie je uvedeny ziadny pouzijeme vsetky dostupne sklady
# Priklad: 1, 2, 3
IMPORT_PRODUCTS_STOCKS = 1
# Nakupna cena je prenasana zo Sklad. cena MJ
IMPORT_PRODUCTS_USE_WEIGHTED_PRICE = 1
# Import cennikov cenovych hladin produktov a produktovych skupiny
IMPORT_PRICELISTS = 1
# Import len ostrych prijatych faktur (bez zalohovych)
IMPORT_PURCHASE_STANDARD_INVOICES = 1
# Import uhrad prijatych faktur
IMPORT_PURCHASE_INVOICES_PAYMENTS = 1
Mohlo by vás ešte zaujímať:
- Aplikácia Gram CRM Connector
- Spustenie prenosu údajov s Gram CRM
- Prepojenie účtovného programu MRP-K/S
- API kľúče – vytvorenie a deaktivovanie