Sindikalna prodaja
Evidencija prodaje i relizacije po osnovu ugovora sa sindikatima. Ova vrsta prodaje najčešće uključuje i “Prodaju na rate”.
Modul je napravljen na inicijativu Planika d.o.o. u Novembru 2008 godine.
Projektni zadatak sa osnovnom postavkom i opisom tabela može se preuzeti odavde.
Cilj projekta
- Evidencija kreditnih zaduženja (u ratama) zaposlenih lica preduzeća koja imaju sklopljen ugovor o sindikalnoj prodaji.
- Evidencija uplata od strane preduzeća na prelazni račun.
- Razvrstavanje tih uplata na pokriće rata zaposlenih tog preduzeća na osnovu prispelih spiskova.
- Pregled otvorenih rata, alarm za “prekoračenja” roka, pregled nerešenih situacija.
Algoritam rešenja
Način knjiženja
Duguje | Potražuje | Napomena | |
PRODAJA SA KASE | |||
OP 2026 - KUP | Prilikom knjiženja dnevnog pazara, odmah uknjižiti potraživanja za odložena plaćanja i to analitički na preduzeće | ||
KNJIŽENJE IZVODA | |||
PR | Potražuje prelazni račun bez analitike kupca jer će se to odrediti naknadno | ||
RAZVRSTAVANJE UPLATA | |||
-PR | Storniramo prelazni račun (da nam ne pravi promet) | ||
202 - KUP | Prebacuje se na potraživanje konkretnog kupca | ||
202 - KUP | Zatvaram dugovanje kupca | ||
-OP 2026 - KUP | Storniranjem odloženog plaćanja |
NAPOMENA ! Konto 2026 (ili bilo koji drugi koji će preuzeti funkciju) mora da ima u definiciji konta obeleženu Posebnu sistemsku funkciju konta pod brojem 99 - Potraz.za prod. sindik. kredit. Na taj način se prilikom knjiženja utvrđuje koji konto će preuzeti vrednost prodaje.
Izmena strukture baze podataka
U cilju evidencije kredita, u bazi će se koristiti sledeće tabele i modifikacije:
Tabela Kupci (postojeća tabela)
U nju se unose PREDUZEĆA sa kojima imamo sindikalni ugovor.
Tabela KupciSektori (postojeća tabela)
Sektor firme (filijala) u kojoj je zaposleni zaposlen.
Tabela Lica (modifikovana)
Tabela lica je modifikovana tako da sadrži i dopunske podatka
Dodata polja:
Naziv polja | Tip polja | Index | Opis |
---|---|---|---|
LicTip | BYTE | Tip lica (0-nebitno, 1-korisnik sindik. kredita) | |
LicRefBr | TEXT (10) | Referenca od strane preduzeća (nije obavezno) | |
LicLdsID | INTEGER | Veza ka LongDesc za potrebe dodatnih podataka (adresa itd) | |
LicDatIsp | DATETIME | Datum i vreme otvaranja kartice | |
LicKorID | INTEGER | ID korisnika koji je karticu uneo | |
LicLKBR | TEXT (30) | Broj lične karte ili drugog identifikacionog dokumenta | |
LicJMBG | TEXT (30) | Matični broj ili broj socijalnog osiguranja | |
LicActive | BIT | Oznaka da je zaposleni i dalje aktivan u firmi | |
LicOtac | TEXT (20) | Ime oca (roditelja, srednje ime itd.) | |
LicIDMes | INTEGER | Mesto u kome lice živi (tab. Mesta) | |
LicAdrID | INTEGER | Link ka ShortDesc tabeli koja sadrži adresu stanovanja | |
LicRodj | DATETIME | Datum rođenja lica | |
LicMUPID | INTEGER | Lokacija MUP-a koji je izdao ličnu kartu (opština) |
Tabela LicaObav (nova)
Tabela registrovanih sindikalnih obaveza, kupovina i ugovora
Polja:
Naziv polja | Tip polja | Index | Opis |
---|---|---|---|
LobID | INTEGER | PK, LskIdx | Primarni ključ (LastID) |
LicID | INTEGER | FK, Lsk2Lic | Referenca ka tabeli Lica |
Datum | DATETIME | Datum ugovora | |
DocBr | TEXT (20) | Broj ugovora | |
KorID | INTEGER | Korisnik koji je uneo ugovor | |
DTStamp | DOUBLE | Stvarni datum i vreme unosa | |
SklID | INTEGER | Objekat u kom je izvršena prodaja | |
DatRat | DATETIME | Datum prve rate | |
Total | CURRENCY | Ukupan iznos zaduženja | |
TotRat | CURRENCY | Iznos rate | |
ValID | INTEGER | ID valute u kojoj je izražen iznos i rata | |
Napomena | TEXT (100) | Napomena uz ugovor | |
Status | INTEGER | Status u kom se nalazi ugovor | |
BrojRata | SMALLINT | Ukupan broj rata | |
KorOverID | INTEGER | Korisnik koji je overio ugovor | |
DatOver | DATETIME | Datum i vreme overe ugovora | |
Avans | CURRENCY | Iznos koji je uplaćen na licu mesta (ili avansno) - Total+Avanas=Ukupna vrednost robe (usluga). | |
RacBr | TEXT (20) | Broj računa po kom je roba prodata (KasaCek) | |
RacDat | DATETIME | Datum izdavanja računa | |
RacID | INTEGER | ID računa (kada se radi direktno iz kase OtpID kasa čeka) |
Tabela BookSpec (nova)
Tabela koja sadrži posebne situacije koje se knjiže u finansijskom modulu. Detaljnija instrukcija sa opisom funkcionalnosti ove tabele nalazi se u članku “Višefazno knjiženje ”.
Polja:
Naziv polja | Tip polja | Index | Opis |
---|---|---|---|
BukID | INTEGER | PK BukIDIdx | Primarni ključ (LastID) |
DatDoc | DATETIME | Datum izrade naloga koji će se knjižiti (datum knjiženja) | |
DocBr | TEXT(20) | Broj naloga za knjiženje | |
DocTip | BYTE | Vrsta dokumenta koji se knjiži | |
KorID | INTEGER | Korisnik koji je dokument izradio | |
DocStatus | INTEGER | Status naloga BE_DocStatus | |
DTSTamp | DOUBLE | Stvarni datum i vreme unosa naloga | |
Link | INTEGER | Posebna veza ka nekom dokumentu |
Tabela LicaObavRat (nova)
Unos otvorenih rata sa datumima dospeća i ostalo.
Polja:
Naziv polja | Tip polja | Index | Opis |
---|---|---|---|
LobRatID | INTEGER | PK LoRtIdx | Primarni ključ (LastSasID) |
LobID | INTEGER | FK, Lrt2Lob | Referenca ka tabeli LicaObav |
BukID | INTGERE | FK, Lrt2Buk | Referenca ka tabeli za “posebna knjiženja” |
DPO | DATETIME | Datum dospeća rate | |
Dug | CURRENCY | Iznos rate | |
Pot | CURRENCY | Pokriće rate | |
Status | INTEGER | Status rate BE_DocStatus | |
DatUplat | DATETIME | Datum uplate rate (poslendji datum ako se uplata deli) |
Konstante, enumeratori i funkcijska polja
Status kreditne obaveze lica (LicaObav.Status)
Ovo polje ukazuje na status u kom se nalazi kreditna obaveza lica. Vrednosti odgovaraju BE_DocStatus enumeratoru, i imaju sledeće značenje:
Enumerator | Vrednost | Opis |
---|---|---|
beDOSTWaiting | 1 | Kredit je tek evidentiran, izmene su moguće, podaci nisu overeni |
beDOSTProcesing | 4 | Podaci o kreditu su overeni, kredit je spreman za fakturisanje |
beDOSTDelivered | 16 | Kredit je fakturisan sindikatu |
beDOSTCompleted | 32 | Uplata po kreditu je započeta |
beDOSTAccepted | 64 | Lice je preuzelo isplatu na sebe (dobilo otkaz u firmi, i slično) |
beDOSTFinalControl | 128 | Isplata kredita je završena |
beDOSTStorno | 256 | Ugovor je suspendovan (storniran) |
View (upit) FN_StatusSindikUgov vraća parove Status → StatusOpis vrednosti iz ove tabele.
Parametri modula
Parametri modula se pamte u strukturi KontneGrupe > KontneGrupeSas pod KGrID=200100. Upit zadužen za pregled parametara je FN_SindikSettings.
Funkcije parametara odgovaraju enumeratoru BE_SindikSettings.
Tabela KontneGrupe
KGrID | Opis | Funkcija | FUlFakTros | FTrosak | FCashFlow | GrDef |
---|---|---|---|---|---|---|
200100 | 0 | 200100 | 0 | 0 | 0 |
Tabela KontneGrupeSas
KGrID = 200100
Pozicija | Konto | Funkcija | polje AddID |
---|---|---|---|
0 | Podrazumevana vrsta racuna | 1 | Podrazumevni tip dokumenta (defDocTip.DTID) koji će se koristiti za fakturisanje ugovora po sindikalnim kreditima. Preporučena vrednost je 3 (Račun - domaći). NAPOMENA! Ovde nikako ne treba koristiti tip 9 koji predstavlja račun-otpremnice. |
1 | Podrazumevana vrsta poreza | 2 | Veza sa obračunskim strukturama. |
2 | Artikal za sastav racuna | 3 | Veza sa tabelom Elementi (Elementi.ElID). Ovde se upisuje ElID artikla koji će se koristiti kao stavka računa za vrednost ugovora. Artikal treba da bude tipa Usluge. |
3 | Osnovno skladiste za izradu faktura sindikatima | 4 | Podrazumevano „skladište“ koje će se koristiti pri izradi računa. Dobro je odvojiti sindikalne kredite posebnim „skladištem“ uslužnog tipa kako bi se oni mogli posebno tretitati tokom knjiženja. |
4 | Osnovno skladište za izdavanje robe krajnjim kupcima | 5 | Podrazumevano MP skladište sa kog se izdaje roba i rade fiskalni isečci |
5 | Model razrešavanja sindikalnih porudžbenica | 6 | Celobrojan vrednost koja odgovara enumeratoru BE_SindikPorudResMod 0 - ručno u potpunost (beSINDPRSMODRucno) 1 - izradom naloga za prenos robe u maloprodaju (beSINDPRSMODPrenosMP), nalogom gcDTMPPREM (25) |
Fakturisanje
Program je u stanju da napravi automatski izlazni račun na osnovu overenih sindikalnih ugovora.
Tom prilikom se kao veza ka ugovorima pamti:
1. DocLink.DocID=Rate.LobID; DocLink.Link=Racuni.RacLink;
2. SasRac.Odlozeno=Rate.LobID; ←- 28.08.2012 Milano, ova veza je problematična jer je Odlozeno DOUBLE a LobID LONG tipa ! Ostavljena je zbog kompatibilnosti unazad, ali se više ne treba koristiti.
3. DocSasLink.SasID=SasRac.SasRacID; DocSasLink.DocID=Rate.LobID
(od 28.09.2012 veza između ugovora i stavke računa po kojoj je agregiran i posalt firmi vrši se preko DocSasLink tabele)
Posebna obračunska struktura
Da bi se tako izdate fakture razlikovale po tretmanu (finansijskom, računovodstvenom) napravljene su izmene u Obračunskim strukturama. Radi se o posebnom identifikatoru u polju RacTip.RTBookProc (RT_BKPRC_SINDIKRED=1).
Unapređenje 11.08.2012 - Smartphone
Smartphone počinje intenzivan rad sa sindikatima pa je predložio sledeće izmene:
1. Evidencija uplate rata po fizičkim licima ne funkcioniše (ne može se snimiti evidencija uplate)
2. Izveštaj „PREGLED REALIZACIJE KREDITA “ ne funkcioniše, možda i zbog toga što nema evidentiranih uplata
Milan Oparnica 2012/08/11 14:07- Razvojni zadatak
Milan Oparnica 2012/08/27 21:13- Sistem vezivanja sindikalnih uplata za zaduženje lica (rate)
3. Potreban mi je izveštaj „PREGLED EVIDENTIRANIH UGOVORA“ – zbirno (nevezano za prodajni objekat u kome je rađen ili bar da ne bude podeljen po njima)
4. Potreban mi je izveštaj „PREGLED EVIDENTIRANIH UGOVORA“ – po komitentu i po statusu ugovora (sa vremenskim periodom od-do, naravno), što bi mi automatizovalo izradu specifikacija koje svakog meseca nosim u obračunske službe, a možda bi se vremenom sa bar nekim komitentima mogli prebaciti na elektronsku komunikaciju, pa bi i export tog izveštaja u excell bio dobra opcija. Dakle, potrebno mi je da odaberem komitenta, odaberem fakturisane ugovore, zadam vremenski period i trebalo bi da dobijem specifikaciju koja sadrzi: broj i datum ugovora, ime i prezime, jmbg, ukupan iznos, broj rata i iznos pojedinacne rate. Kada se štampa, bilo bi dobro da ima zaglavlje Smartphone shop, mesto za overu (predao i primio).
5. Dobro bi mi dosla i opcija brisanja ugovora (zbog storiniranih koji se nagomilaju)
6. Treba mi resenje i za automatsko vracanje u stanje „overeni“ iz „fakturisani“ u slucaju da se stornira faktura. Sada je to mnogo komplikovano i zahteva pojedinacno vracanje ugovora kroz komandnu liniju, sto nije problem kada ima nekoliko ugovora, ali imamo i fakture sa velikim brojem ugovora.
7. Na ovo bih dodala Miloradovu primedbu, vec ti je to napomenuo, da kad se povuce faktura, sve skida sa jednog MP objekta u finansijama, umesto sa vise njih, gde je i kucano kroz kasu, tako da stvara negativan saldo
8. U tekstu ugovora, broj rata u clanu 5 stoji cetiri i ne vuce automatski izabrani broj rata ( uvek pise cetiri)