Hyvityslaskun luominen
Laskusta tulee hyvityslasku, mikäli sen summa on negatiivinen. Laskulla ei ole erillistä "hyvityslasku"-merkintää. Laskua ei myöskään voi linkittää hyvitettävään laskuun. Jos tieto alkuperäisen laskun numerosta halutaan laskulle näkyviin, se on tuotava esimerkiksi Lisätietoja -kentässä.
Jotta käyttäjä löytää Procountorissa tuotavalla hyvityslaskulle helpommin hyvitettävän laskun sen alkuperäisen / muun järjestelmän numeron perusteella, voi myyntilaskun tuontikutsussa tuoda hyvitettäväksi tarkoitetun alkuperäisen laskunnumeron Myyjän muistiinpanot -kentässä (APIssa kenttä 'notes'). Kenttä on tarkoitettu sisäisen tiedon välittämiseen, eikä siihen syötetty tieto tulostu laskun kuvalle.
Viivästyskorkojen ja maksumuistutusmaksujen lisääminen APIn kautta tuotaville myyntilaskuille
Procountorissa on mahdollista ottaa käyttöön automaattinen perintä- ja viivästyskulujen laskenta, jonka myötä ohjelma laskee automaattisesti kertyvät kulut myöhässä maksetuista laskuista ja ehdottaa niitä lisättäväksi kyseisen asiakkaan seuraavalle laskulle. Procountorista on myös mahdollista ohjata laskut ulkopuolisen perintäkumppanin huomautus- tai perintäpalveluun, joka hoitaa maksuhuomautukset ja perinnän. Näin saat toiminnot käyttöösi APIn kannalta:
Kun lasku luodaan (POST /invoices), käytä parametria 'addCollectionPenalCosts=true', jotta kertyneet perintä- ja viivästyskulut nousevat automaattisesti asiakkaalle muodostettavalle myyntilaskulle. Oletuksena on arvo 'false', joten kulut eivät nouse automaattisesti laskulle. Lasku on kohdistettava asiakkaaseen "partnerId" eli kannan ID arvolla. Integraation toteutuksen on tuettava tätä toimintoa.
Erääntyneiden myyntilaskujen toimeksiannot automaattisesti Maksuvahdin tai Ropon huomautus- ja perintäpalveluun. Käyttöönotto tehdään Procountorin käyttöliittymässä ja lisätietoja löytyy täältä.
Viivästyskulujen laskeminen, kun lasku merkitään maksetuksi API-rajapinnan kautta
Kun perintä- ja viivästyskuluominaisuus on aktivoitu, Procountor laskee määritettyjen tietojen pohjalta automaattisesti mahdolliset viivästyskulut, jos PUT /invoices/{invoiceId}/paymentevents/markpaid kutsulla tuodaan parametri addPenalExpense=true. Tieto viivästyskuluista jää ohjelmaan muistiin.
Oletusarvo on false, joten viivästyskuluja ei lisätä automaattisesti. Varmista integraation tarjoajalta, onko toiminto tuettu integraatiossa.
Factoring -laskut
Mikäli laskut luodaan Procountoriin API-rajapinnan kautta, laskulle on mahdollista laskun luonnin yhteydessä määrittää käytettävä rahoitussopimus. Tällöin laskulle tulisi lisätä halutun rahoitussopimuksen ID "factoringContractId". Ympäristöön tallennetut rahoitussopimukset ovat noudettavissa rajapinnan kautta GET /factoringcontracts -endpointin avulla (tämä palauttaa mm. tarvittavan ID:n joka on eri kuin sopimusnumero).
Mikäli laskulle lisää rahoitussopimuksen, niin tilinumeron "accountNumber" tulee olla rahoitussopimukselle tallennettu rahoitusyhtiön tilinumero. Jos laskulla ei tuoda siirtolauseketta "factoringText", täydentää Procountor rahoitussopimukselle tallennetun siirtolausekkeen laskulle. Jos laskun mukana tuodaan siirtolauseke, käytetään laskulla aineistolla tuotua siirtolauseketta.
Jos Procountorista on valmis (sisäänrakennettu) yhteys valittuun rahoitusyhtiöön, jossa Hyväksy-painikkeen painalluksesta myyntilasku lähtee rahoitusyhtiölle, niin myös APIn kautta tehty hyväksyntä siirtää laskun rahoitusyhtiölle.
Varastotuotteiden saldojen päivittyminen API-integraation kautta tuoduilla laskuilla
Julkaisemme versiossa v101 toiminnon, joka mahdollistaa varastonhalinnan tuotteidensaldojen päivityksen API:n kautta.
Procountor päivittää varastotuotteiden saldot laskun tuoterivien pohjalta automaattisesti, jos laskun hyväksymiskutsulla (PUT /invoices/id/approve) tuodaan parametri updateInventory=true. Jotta laskun tuotteet kohdistuvat tuoterekisterin tuotteisiin, niin laskuriveillä on käytettävä tuotteen ID:tä (productId).
Myyntilaskujen luominen kuluttajaverkkolasku- ja suoramaksuasiakkaille
Kun uusi lasku luodaan kuluttajaverkkolaskuasiakkaalle APIn kautta, lasku on kohdistettava (partnerId:llä, henkilötunnuksella tai asiakasnumerolla) Procountorin asiakasrekisterin asiakkaaseen. Laskun on kohdistuttava asiakkaaseen, jonka kuluttajaverkkolaskujen vastaanottoilmoitus on vastaanotettu ja käsitelty. Laskulle on rajapinnan kautta tuotava laskukanavana ("invoiceChannel") verkkolasku (ELECTRONIC_INVOICE) sekä vastaanottoilmoituksella saapunut verkkolaskuosoite.
Lisätietoa kuluttajaverkkolaskuista löydät ohjeesta: Kuluttajaverkkolasku
Suoramaksu ("paymentMethod": "DIRECT_PAYMENT") maksutavan tuominen laskulle APIn kautta edellyttää, että asiakkaalle on Procountorissa kohdistettu suoramaksujen vastaanottoilmoitus ja että lasku kohdistetaan suoramaksuasiakkaaseen "partnerId":n avulla. Maksutavan ollessa suoramaksu, laskukanavan ("invoiceChannel") on oltava Posti (MAIL) tai Sähköposti (EMAIL). Tämän kanavan kautta suoramaksusta kertova lasku lähetetään asiakkaalle.
Lisäksi kutsulle on lisättävä "counterParty":n sisälle verkkolaskuosoite "einvoiceAddress". Arvona tulee olla se verkkolaskuosoite ja -operaattori, joka asiakkaalla on asiakasrekisterissä. Verkkolaskuosoite on se osoite, jonne pankille lähetettävät laskutiedot suoramaksusta lähetetään ja joka täydentyy automaattisesti asiakkaan tietoihin vastaanottoilmoituksen käsittelyssä.
Lisätietoa suoramaksuista löydät ohjeesta: Suoramaksu
Viitenumero
Viitenumero on mahdollista muodostaa APIn kautta seuraavasti:
-
Procountor muodostaa oman viitenumeron automaattisesti, jos kutsussa viitenumeron arvo on tyhjä "bankReferenceCode": ""
-
Jos viitenumeroksi halutaan lisätä oma viitenumero, täydennetään se bankReferenceCode:n arvoksi. Viitenumeroformaatin oikeellisuus tarkistetaan.
-
Mikäli bankReferenceCode jätetään kutsusta kokonaan pois, ei laskulle lisätä viitenumeroa.
Viitenumero on pakollinen, mikäli laskukanavana on verkkolasku.
Laskunumero
Procountor generoi aina oman juoksevan laskunumeronsa varsinaiseksi laskunumeroksi. Toisen järjestelmän laskunumeroa ei ole mahdollista käyttää varsinaisena laskunumerona.
Laskuaineistolla on elementti originalInvoiceNumber toisen järjestelmän laskunumeroa varten. Procountorin käyttöliittymässä on tositteiden haussa ja laskunäkymällä kenttä, johon tämä tieto siirtyy. Voit pyytää asiakaspalveluamme aktivoimaan Ulkopuolisen järjestelmän laskunumero -kentän käyttöönne. Ulkopuolisen järjestelmän laskunumero toimii sisäisenä tietona, eikä se näy asiakkaalle menevällä laskulla.
Myynti- / ostolaskun kohdistaminen liikekumppanirekisteriin API-rajapinnassa
Jos käyttöasetuksissa on aktivoitu "Liikekumppaneiden perustaminen" -asetus, Procountor luo uudet asiakkaat/toimittajat myös API:n kautta tulleiden laskujen pohjalta. Asetuksen ollessa päällä uusi liikekumppani perustetaan rekisteriin automaattisesti ensimmäisen laskun tallennuksen yhteydessä. Ennen uuden perustamista tarkistetaan, onko liikekumppani jo rekisterissä. Jos se löytyy, lasku kohdistetaan siihen. Kohdistaminen voidaan tehdä partnerId:n, y-tunnuksen tai asiakas-/toimittajanumeron perusteella.
Jos lasku kohdistetaan liikekumppaniin, kohdistaminen luo linkityksen laskun ja liikekumppanin välille, mutta rekisteristä ei haeta mahdollisesti puuttuvia tietoja. Ainoastaan oletusdimensio ja -kirjanpitotili saadaan rekisteristä. Kaikki laskulle haluttavat tiedot on tuotava laskuaineistolla.
Laskujen maksutapahtumat ja niiden tilat (Payment events)
PaymentMethodTypes
PUT /invoices/{invoiceId}/ paymentevents/markpaid |
UI (FI) | UI (EN) | |
EXTERNAL_BANK_TRANSFER | tilisiirto muualla | external bank transfer | |
CASH | käteinen | cash | |
CREDIT_NOTE | hyvityslasku | credit note | |
CREDIT_LOSS | luottotappio | credit loss | |
SET_OFF | kuittaus | set-off | |
BANK_STATEMENT | tiliote | bank statement | |
CHARGE_CARD | maksukortti | charge card | |
CORRECTION | korjaus | correction | |
ADJUSTMENT | oikaisu | correction |
GET /invoices/{invoiceId}/ paymentevents |
UI | PaymentsType in DB |
BANKTRANSFERELSEWHERE | tilisiirto muualla | 1 |
CASH | käteinen | 2 |
COMPENSATIONINVOICE | hyvityslasku | 3 |
CREDITLOSS | luottotappio | 4 |
CORRECTION | korjaus | 5 |
SETOFF | kuittaus | 6 |
BANKSTATEMENT | tiliote | 7 |
CHARGECARD | maksukortti | 8 |
ADJUSTMENT | oikaisu | 9 |
REFERENCEPAYMENT | viitemaksu | 12 |
OTHERPAYMENTMETHOD | muu maksutapa | 10 |
Myyntilaskuilla maksutapahtumalla voi olla tilat Maksettu tai Maksettu muualla sen mukaan. Jos maksutapahtuma muodostuu automaattikohdistuksen kautta, tila on Maksettu. Jos maksutapahtuma lisätään manuaalisesti, tila on Maksettu muualla.
Itse laskun tila puolestaan määräytyy maksutapahtumien arvon perusteella verrattuna laskun summaan. Jos myyntilaskun maksutapahtumien summa on sama kuin laskun summa, lasku saa tilan Maksettu tai Maksettu muualla. Jos maksutapahtumien summa on pienempi tai suurempi kuin laskun summa, laskun tila on Osittain maksettu.
Ostolasku: Odottaa siirtoa pankkiin, Siirretty pankkiin, Maksettu, Maksettu muualla, Osittain maksettu
Tilaan vaikuttaa käyttäjän toimenpiteet kuten maksaminen, asettaminen maksetuksi muualla, kohdistaminen maksetuksi ja maksujen peruutus / poisto. Samoin eri ajastetut toiminnot, jotka siirtävät maksuja pankkiin sekä tiliotteiden ja viitemaksujen sisäänluku, joka kohdistaa laskuja / maksuja maksetuksi.
API-rajapinnassa käytetyt laskujen tila-koodit
Status | Tila käyttöliittymässä (FIN) | Tilan koodi Procountorin tietokannassa | Myyntilasku | Ostolasku | Matkalasku | Kululasku |
EMPTY | ||||||
UNFINISHED | Kesken | 1 | x | x | x | x |
NOT_SENT | Lähettämätön | 2 | x | |||
SENT | Lähetetty | 3 | x | |||
RECEIVED | Vastaanotettu | 4 | x | x | x | |
PAID | Maksettu | 5 | x | x | x | x |
PAYMENT_DENIED | Maksukiellosssa | 6 | x | x | x | |
VERIFIED | (Asia)tarkastettu | 7 | x | x | x | |
APPROVED | Hyväksytty | 8 | x | x | x | x |
INVALIDATED | Mitätöity | 9 | x | x | x | x |
PAYMENT_QUEUED | Odottaa siirtoa pankkiin | 10 | x | x | x | |
PARTLY_PAID | Osittain maksettu | 11 | x | x | x | x |
PAYMENT_SENT_TO_BANK | Siirretty pankkiin | 12 | x | x | x | |
MARKED_PAID | Maksettu muualla | 13 | x | x | x | x |
STARTED | ||||||
INVOICED | Laskutettu | 15 | ||||
OVERRIDDEN | ||||||
DELETED | ||||||
UNSAVED | Tallentamaton | |||||
PAYMENT_TRANSACTION_REMOVED |
Miksi ostolaskun tiedot eroavat alkuperäisen laskun tiedoista?
API-rajapinta palauttaa laskun tiedot sellaisina kuin ne ovat Procountorissa.
Kun lasku saapuu ohjelmaan verkkolaskuna, sen tiedot pyritään muodostamaan verkkolaskuaineiston mukaisesti. Procountor tekee kuitenkin itsenäisesti tarkistuksia laskua muodostaessaan.
Verkkolaskuaineistossa esitetään erikseen laskun loppusumma ja tuoterivien tiedot. Procountorin automaattinen rivikäsittely tarkistaa, täsmääkö tuoterivien yhteissumma loppusummaan sentilleen. Jos summat täsmäävät, rivitiedot muodostetaan sellaisenaan Procountoriin (alkuperäiset kappalemäärät ja muut rivin tiedot). Jos summat eivät täsmää, rivikäsittely muokkaa rivien tietoja niin, että ne täsmäävät loppusummaan, sillä loppusumman on oltava sama kuin verkkolaskuaineistossa esitetty summa.
Procountorin automaattinen rivikäsittely toimii siten, että aineisto yritetään ensin lukea täydellisillä tiedoilla (kappalehinta, määrä, rivinkokonaishinta jne.). Jos tiedot eivät täsmää, sisäänlukua yritetään uudelleen vajaammilla tiedoilla. Yksi tapa, jolla Procountor yrittää täsmätä aineistoa, on asettaa kappalemääräksi yksi ja käyttää kokonaishintaa.
Alennusprosentit voivat aiheuttaa pieniä eroja laskennassa (kpl-määrä, yksikköhinta, alennus%, alv). Rivien yhteissumma täsmää loppusummaan paremmin, kun alennuksia ei ole käytetty. Tämä ei kuitenkaan tarkoita, etteivätkö summat voisi täsmätä myös alennusten kanssa.
Ensisijaisesti rivien tiedot pyritään saamaan ohjelmaan sellaisina kuin ne ovat aineistossa. Jos tiedot eivät täsmää, käytetään tuoterivien yhteissummaa tarkemman kappalemäärän sijaan.
Verkkolaskuaineistojen välityksessä on monia osia, jotka voivat vaikuttaa siihen, miten aineisto toimitetaan Procountoriin. Lähettävä järjestelmä luo verkkolaskuaineiston, joka kulkeutuu lähettäjän verkkolaskuoperaattorille. Tämä konvertoi aineiston vastaanottajan operaattorille, joka toimittaa sen Procountoriin. Konversio voi vaikuttaa siihen, miten tiedot esitetään verkkolaskuaineistossa. Lopuksi Procountor tarkistaa, täsmäävätkö tuoterivien yhteissumma ja laskun loppusumma.
Ostolaskun hyväksymiskierron asetukset ja niiden käyttö API-rajapinnan kautta tuoduilla ostolaskuilla
Ostolaskun hyväksyvät ja asiatarkastajat on mahdollista joko määrittää laskuaineistolla tai hyödyntää ohjelman oletusasetuksia.
- Jos hyväksyvät ja asiatarkastajat määrittelevää "invoiceApprovalInformation" -elementtiä ei tuoda laskun API-kutsulla (POST /invoices), käytetään ympäristökohtaisia asetuksia.
- Jos lasku kohdistetaan toimittajaan partnerId:llä, käytetään toimittajan taakse asetettuja oletushyväksyjiä/asiatarkastajia.
- Jos API-kutsussa tuodaan tyhjänä elementti "invoiceApprovalInformation": { }, ei hyväksyjiä ja asiatakastajia aseteta laskulle ollenkaan riippumatta ympäristön asetuksista tai oletuksista.