IssuedInvoice (Izdani računi)

API - https://moj.minimax.si/SI/API/Home/ModuleDetails/IssuedInvoice

Opis

Vmesnik omogoča rokovanje z izdanimi računi. 

Preko vmesnika so omogočene naslednje funkcionalnosti:

IssuedInvoice - podatki izdanega računa

Spodnja tabela opisuje podatke, ki jih nastopajo pri branju, vnosu ali urejanju izdanega računa ali predračuna.

Podatek

Opis

InvoiceType

Vrsta računa, obvezen podatek. Vrednosti:

  • R = izdan račun.
  • P = predračun.

Year

Leto računa.

InvoiceNumber

Številka računa.

DocumentNumbering

Številčenje računa.

Vnese se ID številčenja - številčenje izberemo iz šifranta številčenj, ki ga dobimo s klicem metode GetDocumentNumberings.

Customer

Stranka, obvezen podatek.

Vnese se ID stranke stranko izberemo iz šifranta strank, ki ga izpišemo s klicem metode GetCustomers.

DateIssued

Datum računa, obvezen podatek.

Pri gotovinskem računu se vnese poleg datuma tudi uro.

DateTransaction

Datum opravljanja računa, obvezen podatek za izdan račun.

DateTransactionFrom

Datum opravljanja računa od.

DateDue

Datum zapadlosti, obvezen podatek za izdan račun.

AddresseeName

Naziv naslovnika za prikaz na listini izdanega računa, obvezen podatek. 

Običajno je to Customer.Name.

AddresseeAddress

Naslov naslovnika za prikaz na listini izdanega računa, obvezen podatek. 

Običajno je to Customer.Address.

AddresseePostalCode

Poštna številka naslovnika za prikaz na listini izdanega računa, obvezen podatek.

Običajno je to Customer.PostalCode.

AddresseeCity

Pošta naslovnika za prikaz na listini izdanega računa, obvezen podatek. 

Običajno je to Customer.City.

AddresseeCountry

Država naslovnika, obvezen podatek

Vnese se ID države. Državo izberemo iz šifranta držav, ki ga izpišemo s klicem metode GetCountries.

Običajno je to Customer.Country.

AddresseeCountryName

Naziv države naslovnika za prikaz na listini izdanega računa.

Običajno je to Customer.CountryName.

RecipientName

Naziv prejemnika za prikaz na listini izdanega računa.

RecipientAddress

Naslov prejemnika za prikaz na listini izdanega računa.

RecipientPostalCode

Poštna številka prejemnika za prikaz na listini izdanega računa.

RecipientCity

Pošta prejemnika za prikaz na listini izdanega računa.

RecipientCountry

Država prejemnika. Vnese se ID države. Državo izberemo iz šifranta držav, ki ga izpišemo s klicem metode GetCountries

RecipientCountryName

Naziv države prejemnika za prikaz na listini izdanega računa.

Rabate

Rabat v procentih.

ExchangeRate

Tečaj denarne enote.

Če je izbrana domača denarna enota, potem se vnese 1. Pri tuji denarni enoti se vnese 1/tečaj.

Tečaj tuje denarne enote lahko dobimo s klicem metode GetExchangeRateByCurrencyCode.

DocumentReference

Osnova za račun, veza.

Currency

Denarna enota, obvezen podatek.

Vnese se ID denarne enote. Denarno enoto izberemo iz šifranta denarnih enot, ki ga izpišemo s klicem metode GetCurrencies.

Analytic

Analitika.

Vnese se ID analitike. Analitiko izberemo iz šifranta analitik, ki ga izpišemo s klicem metode GetAnalytics.

Document

Dokument, ki vsebuje listine, ki se pripravijo pri izstavitvi računa.

IssuedInvoiceReportTemplate

Nastavitev izpisa za tiskanje izdanih računov, obvezen podatek.

Vnese se ID nastavitve izpisa. Nastavitev izpisa izberemo iz šifranta nastavitev izpisa, ki ga izpišemo s klicem metode GetReportTemplates.

Glede na DisplayType je mogoča izbira:

  • IR - izdani računi.
  • DP - dobropis.
  • UP - izdan račun s plačilnim nalogom.
  • PR - predračun.
  • PUPN - predračun s plačilnim nalogom.

DeliveryNoteReportTemplate

Nastavitev izpisa za tiskanje dobavnic, obvezen podatek.

Vnese se ID nastavitve izpisa. Nastavitev izpisa izberemo iz šifranta nastavitev izpisa, ki ga izpišemo s klicem metode GetReportTemplates.

Glede na DisplayType je mogoča izbira:

  • DO - dobavnica.

DescriptionAbove

Besedilo, ki se bo tiskalo kot opis zgoraj na listini izdanega računa/predračuna, ki se pripravi.

DescriptionBelow

Besedilo, ki se bo tiskalo kot opis spodaj na listini izdanega računa/predračuna, ki se pripravi.

DeliveryNoteDescriptionAbove

Besedilo, ki se bo tiskalo kot opis zgoraj na dobavnici.

DeliveryNoteDescriptionBelow

Besedilo, ki se bo tiskalo kot opis spodaj na dobavnici.

Notes

Opomba.

Employee

Blagajnik.

Vnese se ID delavca (blagajnika) za potrebe davčnega potrjevanja. Delavca izberemo iz šifranta delavcev, ki ga izpišemo s klicem metode GetEmployees.

PricesOnInvoice

Cene na računu, obvezen podatek.

Če ima organizacija nastavljen vnos cen z DDV, potem je možna izbira:

  • N - DDV se prišteva cenam (82. člen).
  • D - DDV je vračunan v ceno (83. člen).

Sicer pa:

  • N - vnos cen brez DDV.

RecurringInvoice

Oznaka, da je račun ponavljajoči, obvezen podatek.

Če je tip računa izdan račun, potem izbira iz:

  • D - da.
  • N - ne.

SalesValue

Prodajna vrednost za maloprodajo.

Če je izbrana analitika, ki je povezana s poslovalnico v maloprodaji, potem se pri izstavitvi pripravi promet maloprodaje, ki uporablja ta podatek iz izdanega računa.

SalesValueVAT

DDV od prodajne vrednosti za maloprodajo.

Če je izbrana analitika, ki je povezana s poslovalnico v maloprodaji, potem se pri izstavitvi pripravi promet maloprodaje, ki uporablja ta podatek iz izdanega računa.

InvoiceAttachment

Dokument PDF izdanega računa, ki nastane po izstavitvi računa. Samo za branje.

EInvoiceAttachment

Priponka za eSlog izdanega e-računa. Priponka se pripravi pri izstavitvi računa, če je na stranki označeno, da se pripravlja e-račun. Samo za branje.

OriginalDocumentType

Vrsta izvornega dokumenta za e-račun:

  • IV = račun.
  • AAB = predračun.
  • AAK = dobavnica.
  • CD = dobropis.
  • CT = pogodba.
  • ON = naročilo.

OriginalDocumentDate

Datum izvornega dokumenta za e-račun.

PurposeCode

Koda namena.

Vnese se ID kode namena. Kodo namena izberemo iz šifranta kod namena, ki ga izpišemo s klicem metode GetPurposeCodes.

VatAccountingType

Vrsta obračuna DDV. Možna izbira iz:

  • AZ = Obračunan DDV po 25. členu.
  • CP = Po carinskih postopkih 42 in 63.
  • GP = Gradbeni posel.
  • IS = Izvozne storitve.
  • MI = Montaža in instaliranje.
  • OD = Obračuna se DDV.
  • PA = Potovalne agencije.
  • PD = Prodaja na daljavo.
  • PP = Prevoz potnikov.
  • PS = Prevozne storitve.
  • TR = Tristranske dobave.

Če nimamo določene vrste obračuna DDV, potem je ta podatek NULL.

IssuedInvoiceRows

Seznam vrstic izdanega računa/predračuna.

IssuedInvoicePaymentMethodsSeznam načinov plačil (samo za izdane račune)

Status

Status izdanega računa/predračuna. Podatka ne vnašamo, se nastavi preko akcije za preklic ali izstavitev. Vrednosti:

  • O = osnutek.
  • I = izstavljen izdan račun/predračun.

IssuedInvoiceRow - podatki vrstice izdanega računa

IssuedInvoiceRow

Podatek

Opis

RowNumber

Zaporedna številka vrstice, ki se uporablja pri razvrščanju vrstic. Obvezen podatek.

Item

Artikel, obvezen podatek.

Vnese se ID artikla. Artikel izberemo iz šifranta artiklov, ki ga izpišemo s klicem metode GetItems.

ItemName

Naziv artikla, ki se izpisuje pri tiskanju.

ItemCode

Šifra artikla, ki se izpisuje pri tiskanju.

UnitOfMeasurement

Merska enota artikla, ki se izpisuje pri tiskanju.

Description

Opis artikla, ki se izpisuje pri tiskanju.

Quantity

Količina artikla.

Price

Cena.

PriceWithVAT

Cena z DDV.

VatRate

Stopnja DDV, obvezen podatek.

Vnese se ID stopnje DDV-ja. Stopnjo DDV izberemo iz šifranta stopenj DDV, ki ga izpišemo s klicem metode GetVatRates.

VATPercent

DDV v procentih (npr. 22).

Discount

Vrednost popusta v denarni enoti.

DiscountPercent

Odstotek popusta.

Ista vrstica ima lahko vpisan ali popust z vrednostjo ali pa z odstotkom..

Value

Vrednost vrstice, samo za branje

Warehouse

Skladišče.

Vnese se ID skladišča skladišče izberemo iz šifranta skladišč, ki ga izpišemo s klicem metode GetWarehouses.

IssuedInvoicePaymentMethod - podatki načinov plačila izdanega računa

IssuedInvoicePaymentMethod

Podatek

Opis

PaymentMethod

Način plačila, obvezen podatek.

Vnese se ID načina plačila. Način plačila izberemo iz šifranta načinov plačil, ki ga izpišemo s klicem metode GetPaymentMethods.

Amount

Znesek.

AmountInDomesticCurrency

Znesek v domači denarni enoti.

AlreadyPaid

Že plačano:

·       D – že plačano ob izdaji računa.

·       N – ni še plačano ob izdaji računa

RecordDtModified

Datum spremembe (samo za branje).

RowVersion

Row version is used for concurrency check (samo za branje).

Koraki za pripravo izdanega računa

1. Dodamo nov izdan račun

Z uporabo metode AddIssuedInvoice dodamo nov izdan račun.

2. Izstavimo izdan račun

Izdan račun izstavimo s klicem metode CustomActionIssuedInvoice. Pri klicu te metode uporabimo parameter actionName issue.

3. Pripravimo dokument izdanega računa

Dokument izdanege računa pripravimo s klicem metode CustomActionIssuedInvoice. Pri klicu te metode uporabimo parameter actionName = generatepdf.

4. Pridobimo podatek priponke izdanega računa

Preberemo podatke izdanega računa z metodo GetIssuedInvoice. Iz podatkov preberemo podatka Document.ID in InvoiceAttachment.ID:

.
.
. 
"Document": {
    "ID": 202020,
    "Name": "Izdani račun št.:Enostavni2021-1",
    "ResourceUrl": "/api/orgs/108350/documents/202020"
},
.
.
.
"InvoiceAttachment": {
    "ID": 303003,
    "Name": "Enostavni2021-1-racun.html",
    "ResourceUrl": "/api/orgs/108350/attachments/303003"
},

5. Preberemo priponko izdanega računa

Priponko izdanege računa dobimo s pomočjo metode GetDocumentAttachment, z uporabo prej pridobljenih podatkov 

Primeri

Pri zgradbi objekta za pošiljanje si lahko pomagamo s testnimi podatki objekta, ki jih prikažemo s klikom na gumb Test API na pogledu posamezne metode.

Pomembno:

Med podatki v JSON zapisih v nadaljevanju so navedeni vzorčni ID-ji, ki jih je pred klicem potrebno zamenjati s pravilnimi ID-ji, ki pripadajo organizaciji in jih dobimo s klicem ustreznih metod.

Vzorčni podatki  v primerih:

  • Customer.ID = 111111
  • Item.ID = 222222
  • VatRate.ID = 333333
  • PaymentMethod.ID = 444444
  • Country.ID = 555555
  • ReportTemplateID (IR) = 666666
  • ReportTemplateID (DO) = 777777
  • Currency.ID = 888888
  • Country.ID = 999999
  • DocumentNumbering.ID = 101010

Vnos novega izdanega računa z minimalnim naborom podatkov

Metoda: AddIssuedInvoice

{    
    "InvoiceType": "R",
    "Customer": {
        "ID": 111111
    },
    "DateIssued": "2021-02-10",
    "DateTransaction": "2021-02-10",
    "DateDue": "2021-05-11",
    "IssuedInvoiceRows": [{
            "RowNumber": 1,
            "Item": {
                "ID": 222222
            },
            "Quantity": 1,
            "UnitOfMeasurement": "kom",
            "Price": 123456.123456,
            "VatRate": {
                "ID": 333333
            },
            "VATPercent": 22
        }
    ],
    "IssuedInvoicePaymentMethods": [{
        "PaymentMethod": {
            "ID": 444444
        },
        "Amount": 150616.47,
        "AlreadyPaid": "N"
    }
}

Vnos novega izdanega računa z razširjenim naborom podatkov

{
    "Customer": {
        "ID": 111111
    },
    "DateIssued": "2021-02-10",
    "DateTransaction": "2021-02-10",
    "DateTransactionFrom": null,
    "DateDue": "2021-05-11",
    "AddresseeName": "Customer d.o.o.",
    "AddresseeAddress": "Custome",
    "AddresseePostalCode": "123456",
    "AddresseeCity": "Customer City",
    "AddresseeCountry": {
        "ID": 999999
    },
    "Currency": {
        "ID": 888888
    },
    "IssuedInvoiceReportTemplate": {
        "ID": 666666
    },
    "DeliveryNoteReportTemplate": {
        "ID": 777777
    },
    "DescriptionAbove": "Description Above",
    "DescriptionBelow": "Description Below",
    "InvoiceType": "R",
    "IssuedInvoiceRows": [{
            "Item": {
                "ID": 222222
            },
            "ItemName": "Item Name",
            "RowNumber": 1,
            "ItemCode": "ItemCode",
            "Description": "Issued Invoice Row Description",
            "Quantity": 1,
            "UnitOfMeasurement": "kom",
            "Mass": 0,
            "Price": 123456.123456,
            "PriceWithVAT": 150616.47061632,
            "VATPercent": 22,
            "Discount": 0,
            "DiscountPercent": 0,
            "Value": 0,
            "VatRate": {
                "ID": 333333
            }
        }
    ],
"IssuedInvoicePaymentMethods": [{
        "PaymentMethod": {
            "ID": 444444
        },
        "Amount": 150616.47,
        "AlreadyPaid": "N"
    }
}

Vnos novega gotovinskega računa za davčno potrditev

Metoda: AddIssuedInvoice

Račun za davčno potrjevanje (gotovinski račun) se od negotovinskih računov razlikuje v tem, da ima dodatno izpolnjene naslednje podatke:

{    
    "InvoiceType": "R",
    "Customer": {
        "ID": 111111
    },
     "DocumentNumbering": {
        "ID": 101010
    },
    "DateIssued": "2021-02-10",
    "DateTransaction": "2021-02-10",
    "DateDue": "2021-05-11",
    "IssuedInvoiceRows": [{
            "RowNumber": 1,
            "Item": {
                "ID": 222222
            },
            "Quantity": 1,
            "UnitOfMeasurement": "kom",
            "Price": 123456.123456,
            "VatRate": {
                "ID": 333333
            },
            "VATPercent": 22
        }
    ],
    "IssuedInvoicePaymentMethods": [{
        "PaymentMethod": {
            "ID": 444444
        },
        "Amount": 150616.47,
        "AlreadyPaid": "N"
    }
}
V tem prispevku