Korzystając z interfejsu Comarch ERP Enterprise dla systemów POS, systemy POS mogą wysyłać zapytania do Comarch ERP Enterprise, a paragony POS mogą być zapisywane do dalszego przetwarzania, np. transferu do księgowości.
Zakres funkcji
Interfejs obejmuje następujące funkcje:
- Zapytanie o artykuł
- Zapytanie o klienta
- Zapytanie o sprzedawcę
- Przygotowanie paragonu kasowego
- Wysyłanie paragonu kasowego
- Zapytanie o firmę
Opis interfejsu
Interfejs adaptera
Adapter systemu POS jest udostępniany za pośrednictwem następującej klasy:
com.cisag.app.sales.cashpoint.interfaces.log.CashPointAdapterFactory
Klasa ta wykorzystuje java.util.ServiceLoader do utworzenia instancji CashPointAdapterProvider. To z kolei tworzy adapter systemu POS.
Realizacja adaptera systemu POS obejmuje implementację następujących interfejsów:
- com.cisag.app.sales.cashpoint.interfaces.spi.CashPointAdapterProvider
- com.cisag.app.sales.cashpoint.interfaces.spi.CashPointAdapter
Interfejs Comarch ERP Enterprise
Aktywując funkcję Comarch POS w aplikacji Konfiguracja, zdefiniowana zostaje organizacja sprzedaży, dla których system POS ma być podłączony do Comarch ERP Enterprise. Więcej informacji na temat ustawień konfiguracji można znaleźć w artykule Konfiguracja: Sprzedaż.
Uruchomienie aplikacji działającą w tle Import dokumentów sprzedaży, spowoduje uruchomienie dwóch zadań przetwarzania:
- Edycja żądań systemu POS
- Generowania faktur sprzedaży z paragonów kasowych
Zadanie przetwarzania: Edycja zapytań systemu POS
Zadanie przetwarzania Edytuj zapytania systemu POS odbiera zapytania wysłane do interfejsu Comarch ERP Enterprise i przetwarza je.
Zadanie przetwarzania: Generowanie faktur sprzedaży z paragonów kasowych
Zadanie przetwarzania Generowanie faktur sprzedaży z paragonów kasowych generuje faktury sprzedaży z wygenerowanych paragonów.
Parametry
Parametry są podzielone na parametry wejściowe i wyjściowe. Parametry wejściowe są przesyłane z systemu POS do Comarch ERP Enterprise. Istnieją obowiązkowe i opcjonalne parametry wejściowe. Parametry wyjściowe są określane przez Comarch ERP Enterprise na podstawie parametrów wejściowych i zwracane do kasy. Parametry, które są tylko parametrami wyjściowymi, nie mogą być wypełnione podczas wywoływania interfejsu Comarch ERP Enterprise.
W poniższych tabelach obowiązuje następujące oznaczenie:
- X dla parametru obowiązkowego.
Ogólne
Obiekt parametru jest dostarczany z każdym żądaniem. Obiekt ten zawsze zawiera następujące parametry.
Parametr | Rodzaj danych | Wejście/Wyjście | Pole obowiązkowe | Oznaczenie |
salesOrganization | String | Wejście | X | Organizacja sprzedaży |
time | long | Wejście | Czas wystawienia paragonu | |
cashPoint | String | Wejście | Identyfikator kasy | |
currency | String | Wejście | X | Waluta (kod ISO) |
cashier | String | Wejście | Kasjer | |
language | String | Wejście | X | Język kasy, używany m.in. do generowania tekstów |
messages | List<Message> | Wyjście | Lista komunikatów o błędach | |
Message.id | enum (CashPointInterface.MessageId) | Wyjście | Identyfikator komunikatu, pozwala określić zakres błędu | |
Message.messageText | String | Wyjście | Krótki ogólny tekst komunikatu | |
Message.detailMessages | List<String> | Wyjście | Szczegółowe teksty, odpowiadające krótkim komunikatom z Comarch ERP Enterprise |
Zapytanie o pozycję
Dane pozycji można sprawdzać za pomocą zapytania o pozycję.
Parametr | Rodzaj danych | Wejście/Wyjście | Pole obowiązkowe | Oznaczenie |
---|---|---|---|---|
item | Item | Wejście | X | Artykuł |
item.ean | String | Wejście | Numer EAN | |
item.number | String | Wejście | X | Numer artykułu |
item.description | String | Wyjście | Nazwa artykułu | |
identifier | String | Wejście | Wariant | |
customer | Customer | Wejście | Klient | |
Customer.number | String | Wejście | Numer klienta | |
Customer.discounts | List | Wyjście | Zastosowane rabaty bazowe | |
Discount.percentValue | BigDecimal | Wyjście | Procentowa wartość rabatu | |
Discount.monetaryValue | BigDecimal | Wyjście | Kwota rabatu | |
Discounts.definitionGuid | String | Wyjście | Odniesienie do definicji | |
customer.discounts[…].discountType | String | — | Nieużywane przy zapytaniu o artykuł | |
customer.maxDiscounts | int | Wejście | Maksymalna liczba rabatów | |
warehouse | String | Wejście | Lokalizacja magazynowa | |
priceDefinitionGuid | String | Wyjście | Odniesienie do ceny brutto | |
grossPriceValue | BigDecimal | Wyjście | Wartość ceny brutto | |
netValue | BigDecimal | Wyjście | Wartość netto | |
quantity | Quantity | Wejście | Ilość | |
Quantity.amount | BigDecimal | Wejście | Ilość liczbowa | |
Quantity.unitOfMeasure | String | Wyjście | Jednostka miary | |
taxCode | TaxCode | Wyjście | Klucz podatkowy | |
taxCode.country | String | Wyjście | Kraj podatkowy | |
taxCode.code | String | Wyjście | Kod podatkowy | |
maxDiscount | int | Wejście | Maksymalna liczba rabatów pozycyjnych | |
detailDiscounts | List | Wyjście | Zastosowane rabaty pozycyjne | |
Discount.percentValue | BigDecimal | Wejście/Wyjście | Procentowa wartość rabatu | |
Discount.monetaryValue | BigDecimal | Wejście/Wyjście | Kwotowa wartość rabatu | |
Discounts.definitionGuid | String | Wejście/Wyjście | Definicja rabatu pozycyjnego | |
selectionList | List | Wyjście | Lista wyboru dla niejednoznacznych przypadków | |
valuesIncludingTax | boolean | Wejście | X | Wskaźnik, czy wartości zawierają podatek |
Zapytanie klienta
Zapytanie o klienta może być użyte do zapytania o dane klienta przy użyciu numeru klienta.
Parametr | Rodzaj danych | Wejście/Wyjście | Pole obowiązkowe | Oznaczenie |
---|---|---|---|---|
customer | Customer | Wejście | X | Dane klienta |
Customer.number | String | Wejście | X | Numer klienta |
Customer.discounts | List | Wyjście | Rabaty bazowe klienta | |
Discount.percentValue | BigDecimal | Wyjście | Procentowa wartość rabatu | |
Discount.monetaryValue | BigDecimal | — | Nieużywane przy zapytaniu | |
Discount.definitionGuid | String | Wyjście | Odniesienie do definicji | |
Customer.maxDiscounts | int | Wejście | Liczba rabatów do ustalenia | |
name | String | Wyjście | Nazwa klienta | |
address | List | Wyjście | Adres klienta | |
creditLimit | BigDecimal | Wyjście | Limit kredytowy klienta |
Zapytanie o sprzedawcę
Zapytanie o sprzedawcę może być użyte do zapytania o dane sprzedawcy przy użyciu numeru sprzedawcy.
Parametr | Rodzaj danych | Wejście/Wyjście | Pole obowiązkowe | Oznaczenie |
---|---|---|---|---|
number | String | Wejście | X | Numer sprzedawcy |
name | String | Wyjście | Nazwa sprzedawcy |
Przygotowanie paragonu
Funkcja ta służy do edycji danych paragonu kasowego przed jego zaksięgowaniem.
Dane paragonu kasowego
Parametr | Rodzaj danych | Wejście/Wyjście | Pole obowiązkowe | Oznaczenie |
---|---|---|---|---|
number | String | Wejście | Numer kasy fiskalnej | |
details (Attributliste) | List | Wejście | Pozycje paragonu | |
customer | Customer | Wejście | Dane klienta | |
Customer.number | String | Wejście | Numer klienta | |
Customer.discounts | List | Wejście | Rabaty klienta (bazowe) | |
Discount.percentValue | BigDecimal | Wejście | Procentowa wartość rabatu klienta | |
Discount.monetaryValue | BigDecimal | Wejście | Kwotowa wartość rabatu klienta | |
Discount.definitionGuid | String | Wejście | Odniesienie do definicji rabatu klienta | |
customer.maxDiscounts | int | — | Nieużywane przy księgowaniu paragonu | |
grossValue | BigDecimal | Wejście | Kwota końcowa paragonu brutto | |
paymentMethod | String | Wejście | Identyfikator metody płatności | |
warehouse | String | Wejście | Identyfikator magazynu | |
taxValues | Map<TaxCode, TaxValue> | Wejście | Kwoty podatku według klucza podatkowego | |
TaxCode.country | String | Wejście | Kraj klucza podatkowego | |
TaxCode.code | String | Wejście | Identyfikator klucza podatkowego | |
TaxValue.taxBase | BigDecimal | Wejście | Podstawa opodatkowania | |
TaxValue.value | BigDecimal | Wejście | Kwota podatku | |
paid | boolean | Wejście | Wskaźnik, czy płatność została dokonana | |
valuesIncludingTax | boolean | Wejście | Wskaźnik, czy kwoty i rabaty zawierają podatek |
Dane pozycji paragonu kasowego
Parametr | Rodzaj danych | Wejście/Wyjście | Pole obowiązkowe | Oznaczenie |
---|---|---|---|---|
SalesSlipDetail.number | int | Wejście | Numer pozycji paragonu | |
SalesSlipDetail.itemNumber | String | Wejście | Numer artykułu | |
SalesSlipDetail.priceDefinitionGuid | String | Wejście | Odniesienie do definicji ceny brutto | |
SalesSlipDetail.grossPriceValue | BigDecimal | Wejście | Kwota brutto | |
SalesSlipDetail.quantity | Quantity | Wejście | Ilość | |
Quantity.amount | BigDecimal | Wejście | Wartość ilościowa | |
Quantity.unitOfMeasure | String | Wejście | Jednostka miary | |
SalesSlipDetail.taxCode | TaxCode | Wejście | Klucz podatkowy | |
TaxCode.country | String | Wejście | Kraj klucza podatkowego | |
TaxCode.code | String | Wejście | Identyfikator klucza podatkowego | |
SalesSlipDetail.identifier | String | Wejście | Wariant | |
SalesSlipDetail.discounts | List | Wejście | Rabaty pozycyjne | |
Discount.percentValue | BigDecimal | Wejście | Procentowa wartość rabatu pozycyjnego | |
Discount.monetaryValue | BigDecimal | Wejście | Kwotowa wartość rabatu pozycyjnego | |
Discount.definitionGuid | String | Wejście | Odniesienie do definicji rabatu pozycyjnego | |
SalesSlipDetail.taxValue | BigDecimal | Wejście | Kwota podatku dla pozycji paragonu | |
SalesSlipDetail.salesPerson | String | Wejście | Identyfikator sprzedawcy |
Księgowanie dokumentu sprzedaży
Podczas księgowania dokument sprzedaży jest zapisywany w Comarch ERP Enterprise.
Tej funkcji można użyć do edycji danych dokumentu sprzedaży przed zaksięgowaniem.
Dane paragonu gotówkowego
Parametr | Rodzaj danych | Wejście/Wyjście | Pole obowiązkowe | Oznaczenie |
---|---|---|---|---|
number | String | Wejście | X | Numer paragonu |
details (Attributliste) | List | Wejście | X | Pozycje paragonu |
customer | Customer | Wejście | X | Dane klienta |
Customer.number | String | Wejście | X | Numer klienta |
Customer.discounts | List | Wejście | Rabaty klienta (bazowe) | |
Discount.percentValue | BigDecimal | Wejście | Procentowa wartość rabatu klienta | |
Discount.monetaryValue | BigDecimal | Wejście | X | Kwotowa wartość rabatu klienta |
Discount.definitionGuid | String | Wejście | Odniesienie do definicji rabatu klienta | |
customer.maxDiscounts | int | — | Nieużywane przy księgowaniu paragonu | |
grossValue | BigDecimal | Wejście | X | Kwota końcowa paragonu brutto |
paymentMethod | String | Wejście | Identyfikator metody płatności | |
warehouse | String | Wejście | X | Identyfikator magazynu |
taxValues | Map<TaxCode, TaxValue> | Wejście | Kwoty podatku według klucza podatkowego | |
TaxCode.country | String | Wejście | X | Kraj klucza podatkowego |
TaxCode.code | String | Wejście | X | Identyfikator klucza podatkowego |
TaxValue.taxBase | BigDecimal | Wejście | X | Podstawa opodatkowania |
TaxValue.value | BigDecimal | Wejście | X | Kwota podatku |
paid | boolean | Wejście | X | Wskaźnik, czy płatność została dokonana |
valuesIncludingTax | boolean | Wejście | X | Wskaźnik, czy kwoty i rabaty zawierają podatek |
Dane pozycji paragonu kasowego
Parametr | Rodzaj danych | Wejście/Wyjście | Pole obowiązkowe | Oznaczenie |
---|---|---|---|---|
SalesSlipDetail.number | int | Wejście | X | Numer pozycji paragonu |
SalesSlipDetail.itemNumber | String | Wejście | X | Numer artykułu |
SalesSlipDetail.priceDefinitionGuid | String | Wejście | Odniesienie do definicji ceny brutto | |
SalesSlipDetail.grossPriceValue | BigDecimal | Wejście | X | Kwota brutto |
SalesSlipDetail.quantity | Quantity | Wejście | X | Ilość |
Quantity.amount | BigDecimal | Wejście | X | Wartość ilościowa |
Quantity.unitOfMeasure | String | Wejście | X | Jednostka miary |
SalesSlipDetail.taxCode | TaxCode | Wejście | X | Klucz podatkowy |
TaxCode.country | String | Wejście | X | Kraj klucza podatkowego |
TaxCode.code | String | Wejście | X | Identyfikator klucza podatkowego |
SalesSlipDetail.identifier | String | Wejście | Wariant | |
SalesSlipDetail.discounts | List | Wejście | Rabaty pozycyjne | |
Discount.percentValue | BigDecimal | Wejście | Procentowa wartość rabatu pozycyjnego | |
Discount.monetaryValue | BigDecimal | Wejście | X | Kwotowa wartość rabatu pozycyjnego |
Discount.definitionGuid | String | Wejście | Odniesienie do definicji rabatu pozycyjnego | |
SalesSlipDetail.taxValue | BigDecimal | Wejście | Kwota podatku dla pozycji paragonu | |
SalesSlipDetail.salesPerson | String | Wejście | Identyfikator sprzedawcy |
Zapytanie o firmę
Ta funkcja oferuje możliwość określenia firmy dla organizacji sprzedaży. Jest to pomocne na przykład przy określaniu danych zależnych od firmy.
Parametr | Rodzaj danych | Wejście/Wyjście | Pole obowiązkowe | Oznaczenie |
---|---|---|---|---|
financialsOrganization | String | Wyjście | Numer firmy |
Konfiguracja
Zapytanie o artykuł
Spośród ustawień w aplikacji Konfiguracja następujące ustawienia w podfunkcji Artykuł funkcji głównej Podstawowe są istotne dla wyszukiwania artykułów w systemie POS:
Sekcja Priorytety wyszukiwania artykułów sprzedaży
W tej tabeli dla organizacji sprzedaży z systemem POS należy ustawić, które identyfikatory artykułów mają być brane pod uwagę i w jakiej kolejności.