Konfigurácia prenosu Gram CRM a OMEGA

V tomto dokumente sú popísané možnosti konfigurácie Gram CRM Connectora pre prepojenie Gram CRM s programom pre podvojné účtovníctvo OMEGA.

Po inštalácii Gram CRM Connectoru priečinok obsahuje 2 hlavné súbory. Konfiguračný súbor Omega.ini (formát INI) a Omega.bat. Omega.bat je spustiteľný súbor, ktorý sa používa na spustenie prenosu údajov. V rámci prepojenia je možné z OMEGA dáta čítať (import).

Princíp fungovania a stratégia prenosu

Na import údajov z OMEGA 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í. Podporované sú všetky databázy na ktorých je možné OMEGU prevádzkovať.

Pre import údajov budeme potrebovať:

  • Akú databázu používa OMEGA buď MS ACCESS alebo MS SQL (vrátane konkrétnej verzie)
  • Názov databázy (pre každý rok existuje vždy samostatná databáza)
  • V prípade MS SQL verzie aj užívateľské meno a heslo

Import účtovnej jednotky

OMEGA 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 Omega.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ácia, ktorá prenesie agendu adresár, faktúry a objednávky z OMEGY:

[GRAMCRM]
ORGANIZATION = crm0661
TOKEN = a952fca7608744c6aad3bfa1775eca2d

[OMEGA]
YEAR = 2022
ICO = 36255789
SOURCE = MDB
MDB_FILE = C:\Omega\DATA\Demo\ROK_2022.MDB

IMPORT_ACCOUNTS = 1
IMPORT_INVOICES = 1
IMPORT_ORDERS = 1

Prechod medzi rokmi – údajová uzávierka

Po vykonaní údajovej uzávierky a vytvorení ročného prevodu v OMEGE 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:

  1. Odstavte pravidelnú synchronizáciu a nespúšťajte žiadny import/export dát ani ručne!
  2. Upravte konfiguračné súbory (štandardne v C:\GramCRM) pre nový rok účtovnej jednotky v parametroch:
    • upravte YEAR (resp. AGENDA),
    • rok v databáze MSSQL_DATABASE resp. MDB_FILE,
    • nastavte pre všetky agendy INTERVAL = 0
  3. 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 OMEGA

Pri nastavenom plánovanom spustení synchronizácie OMEGY s Gram CRM je nutné zohľadniť pri mazaní záznamu v OMEGE existenciu už prenesenia záznamu v Gram CRM. Pred zmazaním a vytvorením nového záznamu v OMEGE odporúčame postupovať nasledovne:

  1. skontrolujte existenciu čísla dokladu napr. vystavenej faktúry v Gram CRM.
  2. zmažte faktúru v OMEGE
  3. zmažte faktúru v Gram CRM
  4. môžete vytvoriť faktúru v OMEGE 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 [OMEGA] obsahuje parametre samotnej logiky prepojenia. Povinné položky sú nasledovné:

  • YEAR – rok podľa účtovnej jednotky v programe OMEGA, s ktorou chceme pracovať. /Napríklad: 2022, 2023/
  • ICO – IČO organizácie v programe OMEGE /napr. 36255789/
  • SOURCE – hodnota MSSQL alebo MDB. Podľa toho akú databázu používa OMEGA. Štandardne detekované pri inštalácii

Pokiaľ používame MS ACCESS:

  • Pokiaľ je hodnota MDB a teda používame MS Access databázu je potrebné mať aj položku
  • MDB_FILE – cesta k databázovému súboru (napr.: C:\Omega\DATA\Demo\ROK_2022.MDB). Povinné len pre MS ACCESS

Pre MSSQL verziu OMEGY:

  • MSSQL_USER – užívateľ s prístupom k SQL databáze OMEGY
  • MSSQL_PASSWORD – heslo užívateľa s prístupom k SQL databáze OMEGY
  • MSSQL_DRIVER – verzia ODBC ovládača pre pripojenie k SQL serveru (napr. SQL2012)
  • MSSQL_SERVER – názov SQL servera s databázou napr. SERVER\SQLEXPRESS
  • MSSQL_DATABASE – názov databázy pre zvolený účtovný rok (napr. ROK_2021)

TIP: Pre vytvorenie užívateľa s prístupom k databázam OMEGY v SQL je dostupný návod na nasledovnom odkaze.

POZNÁMKA: V niektorých prípadoch je potrebné nainštalovať ODBC ovládače. Podrobný popis nájdete na konci tejto stránky.

Podporované agendy/moduly

V rámci parametrov je potrebné definovať ktoré agendy z OMEGY chceme prenášať do Gram CRM (import).

Pre import sú podporované nasledovné parametre:

  • IMPORT_PRICELISTS – Import cenníkov, Produktov v cenníkoch a Cenníka v Partneroch
  • IMPORT_ACCOUNTS – import adries z Partnerov
  • IMPORT_CONTACTS – import kontaktov z Kontaktov v Partneroch
  • IMPORT_ADDRESSES – import dodacích adries z Poštových adries v Partneroch
  • IMPORT_DEALS – import zákaziek z Adresára
  • IMPORT_PRODUCTS – import Produktov zo Skladových kariet
  • IMPORT_PRODUCTS_STOCK_AMOUNT – import stavu skladových zásob zo Skladových kariet
  • 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_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:

[OMEGA]
# ...
IMPORT_ACCOUNTS = 1
IMPORT_INVOICES = 1
IMPORT_INVOICES_PAYMENTS = 1
IMPORT_ORDERS = 1

Podrobná 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 OMEGY š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 OMEGA

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:

[OMEGA]
# ...
# Vlastnik zaznamu v CRM,  Stredisko (Default), Cinnost
OWNER = Stredisko
# Cele meno uzivatela, napr.: Juraj Lackovič
OWNER_NONE = Import

Interval 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 program OMEGA 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.

V programe OMEGA je aktuálne možné definovať obdobie pre importný interval len agendy:

  • Faktúry (Vystavené aj Prijate)
  • Úhrady
  • Objednávky

Príklad: Nastavenie intervalu na 1 deň a na 3 dni pre objednávky:

[OMEGA]
# ...
IMPORT_INTERVAL = 1
IMPORT_ORDERS_INTERVAL = 3

UPOZORNENIE: 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 OMEGE aj v Grame a záznam v Grame bol zmenený neskôr ako v OMEGE. 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 OMEGE budú mať vždy prednosť a takúto zmenu Vám „opraví“ v Grame podľa údajov v OMEGE.

Príklad:

[OMEGA]
# ...
# zmeny v Gram CRM budu prepisane hodnotami v OMEGE
IGNORE_CONFLICT = 1

Import 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 OMEGE.

Príklad: Import Partnerov, ktorí nemajú zaškrtnutú položku „Fyzická osoba“:

[OMEGA]
# ...
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_FILTER = t.C100_FyzickaOsoba=0

Príklad: Import Prijatých objednávok s „Rokom vystavenia“ od 2023:

[OMEGA]
# ...
# Import agendy Prijatych objednavok
IMPORT_ORDERS = 1
IMPORT_ORDERS_FILTER = t.C062_RokVyst >= '2023'

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 Partnerov (Klientov).

[OMEGA]
# ...
IMPORT_IGNORE_WORKFLOW = 1
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_IGNORE_WORKFLOW = 0

Parameter 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ú.

[OMEGA]
# ...
IMPORT_INVOICES_PAYMENTS = 1
IMPORT_INVOICES_PAYMENTS_IGNORE_WORKFLOW = 1

Prenos 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.

[OMEGA]
# ...
IMPORT_ORDERS = 1
IMPORT_ORDERS_SKIP_ITEMS = 1

Import skladových kariet, produktov

CRM systém nepoužíva skladové karty, ale produkty preto skladové zásoby z OMEGY 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 OMEGY 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 Priemerná skladová cena. Preto je nastavená premenná IMPORT_PRODUCTS_USE_WEIGHTED_PRICE = 1

Príklad: Import skladových zásob iba zo skladov „S1, S2, S3“, pričom preferovaný bude sklad „S1“:

[OMEGA]
# ...
IMPORT_PRODUCTS = 1
IMPORT_PRODUCTS_STOCKS = S1, S2, S3
IMPORT_PRODUCTS_PREFERRED_STOCK = S1

Zmena 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:

[OMEGA]
# ...
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_MATCHING_ACCURACY= 10

Import voliteľných polí

Pri importe sa prenášajú štandardné políčka. V prípade, že sa importujú údaje z OMEGY 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_OMEGE->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 vlastného poľa „Prevádzka“ v Gram CRM a nastavenie stavu klienta na „Aktuálny“:

[OMEGA]
# ...
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_MAPPING = C046_PartnerFirmaPrevadzka->cPrevadzka, ~2->Status

Zá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 OMEGY avšak pri zmene údajov v OMEGE sa táto zmena už neprenesie do Gramu.

Príklad: Obmedzenie zmeny vlastníka vystavenej faktúry (Owner) a dátumu splatnosti (DueDate) po importe z OMEGY:

[OMEGA]
# ...
IMPORT_INVOICES = 1
IMPORT_STANDARD_INVOICES_NOT_CHANGE_FIELDS = Owner, DueDate

Príklad konfigurácie

Štandardný príklad úplnej konfigurácie v organizácii môže byť nasledovný.

Požadovaná funkcionalita v príklade:

  • Z OMEGY 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 „S1“. Záznamy v OMEGE máme rozdelené pre obchodníkov podľa stredísk.
  • Používaná databáza je MS ACCESS
  • 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 „omegatest“

Kompletná konfigurácia:

[GRAMCRM]
ORGANIZATION = omegatest
TOKEN = a952aca7606744c6ffd2bfa1775cca2d

[OMEGA]
YEAR = 2022

SOURCE = MDB
MDB_FILE =  C:\Omega\DATA\Demo\ROK_2022.MDB

# 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 OMEGA --------

# 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
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: S1, S2, S3
IMPORT_PRODUCTS_STOCKS = S1
# Nakupna cena je prenasana z Priemerna skladova cena
IMPORT_PRODUCTS_USE_WEIGHTED_PRICE = 1
# Import cennikov z cenových úrovní
IMPORT_PRICELISTS = 1

# Import len ostrych prijatych faktur (bez zalohovych)
IMPORT_PURCHASE_STANDARD_INVOICES = 1
# Import uhrad prijatych faktur
IMPORT_PURCHASE_INVOICES_PAYMENTS = 1

Špecifiká databázového pripojenia

Pre správne fungovania pripojení k databázam s programom pre podvojné účtovníctvo OMEGA, je vyžadovaný tzv. ODBC ovládač. Tieto ovládače sa v závislosti od typu a verzie databázy odlišujú. Prehľad aktuálne nainštalovaných ovládačov si môžete preveriť nasledovným spôsobom.

  1. V ovládacom panely zvolíme Nástroje na správu (Nástroje Windows)
  2. Vyhľadáme a otvoríme ODBC Data Sources – ODBC zdroje údajov
  3. Klikneme na záložku Drivers – Ovládače

MDB databáza

Tento typ databázy má štandardne nainštalovaný ovládač starší ovládač MS Access 2007, ktorý je potrebné špecifických situáciach doplniť novším ovládačom MS Access 2010 x64 a novší. Inštalačný súbor novšieho ovládača je dostupný na tomto odkaze.

POZNÁMKA: Inštalácia si môže vyžadovať odinštalovanie staršej verzie MS Access Runtime z Programov a súčastí (Microsoft Office Access database engine 2007)

MS SQL databáza

Jedná sa o komplexnejší typ databázy a preto k jej pripojeniu je dostupných niekoľko typov ovládačov podľa verzie MS SQL servera.

Hodnoty pre MSSQL_DRIVER

Pokiaľ proces inštalácie automaticky nerozoznal parametre SQL serveru je možné ich ručne nastaviť. Vhodný ovládač je možné určiť podľa nasledovnej tabuľky kompatibility SQL verzie. Samotný ovládač je možné stiahnuť na nasledovnom odkaze.

Podľa zvoleného typu nainštalovaného ODBC ovládača je potrebné zadať jednu z nasledovných hodnôt:

Mohlo by vás ešte zaujímať: