Alle releasenotes Alle releasenotes MplusKASSA API Service

Sorteer op invoertijdstip Filter op 'Vereist aandacht bij installatie' Filter op 'Uitgelicht' Start presentatie


  • Attentie: Deze release is teruggetrokken vanwege een bug in de bugfix in payTableOrder in deze release.

    Vereist aandacht bij installatie
    1.7.7.4
  • Attentie: Deze release is teruggetrokken vanwege een probleem met het betalen van een splitsing.

    Vereist aandacht bij installatie
    1.7.7.3
  • Attentie: Deze release is teruggetrokken vanwege verkeerd ingevulde compatibilteit met databaseschema.

    Vereist aandacht bij installatie
    1.7.7.1
  • Attentie: Deze release is teruggetrokken vanwege verkeerd ingevulde compatibilteit met databaseschema.

    Vereist aandacht bij installatie
    1.7.7.2
  • Let op: In deze release wordt de versie van het API protocol geüpdate naar 1.0.0. Controleer de compatibiliteit van uw koppeling.

    Vereist aandacht bij installatie
    1.7.0
  • Het is nu mogelijk om de componenten van een samengesteld artikel uit te lezen, via de componentArticleList. Het hoofdartikel zelf is ook altijd toegevoegd aan deze componentenlijst. Houd er rekening mee dat het BTW-percentage van de componenten van elkaar kan afwijken. Als dat zo is zal het hoofdartikel ook geen vatCode bevatten, omdat je in dat geval naar de vatCode's van de componenten moet kijken.

    De prijs van het hoofdartikel bevat reeds de prijs van de componenten, dus bestaande koppelingen zullen zoveel mogelijk zoals verwacht blijven werken.

    Bij het bestellen van een samengesteld artikel worden de componenten automatisch aan de order of factuur toegevoegd.

    1.7.0
  • Als er via de API al samengestelde artikelen aan een regel zijn toegevoegd, dan zullen die niet nogmaals door de API worden toegevoegd. Hiermee voorkomen we situaties waarin zowel de API samengestelde artikelen definieert, als dat deze ook worden toegevoegd omdat ze in Mplus ook op de artikelkaart staan.

    Dealers

    Dit lost het probleem met EasyReservation op, die gebruik maakt van samengestelde artikelen voor het netjes doorgeven van arrangementen.

    1.7.7
  • Indien een BTW-percentage voor een bepaalde BTW-code niet goed is geconfigureerd in Mplus geeft de API nu de volgende foutmelding: The rate for VAT-code 2 is not properly configured. Please contact API support at dev@mpluskassa.nl.

    Hiermee voorkomen we dat mensen dit over het hoofd zien en klakkeloos foute of ontbrekende BTW-percentages worden overgenomen door API-ontwikkelaars.

    1.7.8
  • Verbeterd geheugengebruik.

    1.6.15.2
  • De Order, Invoice en Receipt objecten bevatten nu ook de volgende eigenschappen: entryExtBranchId en financialExtBranchId.

    1.8.2
  • Het Payment object in een paymentList bevat nu ook de eigenschappen entryTimestamp, branchNumber, extBranchId, workplaceNumber, employeeNumber en employeeName.

    1.8.2
  • getProducts() ondersteunt nu ook de onlyActive parameter. Wanneer deze op TRUE staat, worden alleen de actieve artikelen geretourneerd.

    1.8.2
  • getTerminalSettings() retourneert nu ook unknownTableAction. Deze eigenschap geeft aan wat er gedaan moet worden als er een onbekende tafel gekozen wordt.

    1.8.2
  • allowTableRetour toegevoegd aan EmployeeName

    1.8.2
  • Bij het aanroepen van getJournals(), getFinancialJournal() en getFinancialJournalByCashCount() wordt nu altijd opgeslagen welke data gediend heeft als bron voor het antwoord. Eventueel kan de aanvrager een eigen referentie meegeven.

    1.8.2
  • Nieuwe functie requestTableOrderCourse() waarmee een gewenste gang voor een bepaalde tafel kan worden uitgevraagd.

    1.8.2
  • payInvoice() geeft nu goed aan als een betaling niet kan worden uitgevoerd omdat de gewenste betaalwijze is uitgeschakeld.

    1.8.2
  • Nieuwe functie logMistake() die gebruikt kan worden om een foutaanslag op bijv. een handheld te registreren.

    1.8.2
  • Nieuwe functie getTableOrderCourseList() waarmee voor een bepaald filiaal- en tafelnummer de op dat moment aanwezige en uitgevraagde gangen kunnen worden opgevraagd.

    1.8.2
  • Gangen hebben nieuwe eigenschappen: sequenceNumber, isPresent en isRequested.

    1.8.2
  • Nieuwe functie getCardCategories waarmee de categorieën van de artikel-, relatie- en medewerkerkaarten opgevraagd kunnen worden. Bij relaties gaat het bijvoorbeeld om de categorieën "Klant" en "Leverancier".

    1.8.2
  • De BPE-informatie (Breuk/Promotie/Eigen gebruik) wordt nu ook aan artikelregels meegegeven. Zo kan er onderscheid gemaakt worden tussen echte korting en "korting" vanwege BPE. De gebruikte eigenschappen zijn bpeId (interne identificatie), bpeDescription (toonbare omschrijving), bpeAmount (bedrag incl. BTW), bpeAmountExcl (bedrag excl BTW).

    1.8.2
  • Nieuwe API-functie getWordAliases die ingestelde woordaliassen kan teruggeven. Kan bijvoorbeeld gebruikt worden om een woord altijd te vertalen naar een ander woord, zoals "Klant" naar "Gast".

    1.8.2
  • Bij het opvragen van factuurinformatie wordt nu ook evt. meegegeven of de factuur vergrendeld is (finalized) en wanneer (finalizedTimestamp).

    1.8.2
  • Bij het versturen van een bericht via sendMessage kan nu ook de sender en messageType worden meegegeven. Kies uit OK, INFO of WARNING.

    1.8.2
  • Bij het opvragen van een kastelling via getCashCountList wordt nu ook het rekeningnummer waarop het kasverschil wordt gestort teruggegeven via de parameter differenceAccountNumber. Ook wordt het rekeningnummer van de afstortrekening teruggegeven via de parameter depositAccountNumber.

    1.8.2
  • Je kunt nu ook de parameter sinceCashCountNumber invullen om alle kastellingen sinds een bepaalde kastelling op te vragen.

    1.8.2
  • De functie getJournals retourneert nu per betalingswijze ook het betalingswijzesoort, zoals: "BETAAL", "EFT", "TUSSEN", "AFSTORT", "BPE".

    1.8.2
  • De finalizeInvoices parameter kan worden toegevoegd aan een getInvoices aanvraag om de facturen die opgehaald zijn te vergrendelen. Gebruik dit wanneer de facturen eenmalig geëxporteerd dienen te worden naar een extern systeem, zoals een boekhoudpakket. Het voorkomt namelijk dat de factuur daarna nog verder gewijzigd kan worden in de kassa.

    1.8.2
  • Bij het opvragen van het versienummer van de API via getApiVersion wordt nu ook de ingestelde datum van de API-server teruggegeven via de parameter serverDate. Dit kan gebruikt worden om externe apparaten te synchroniseren met de server.

    1.8.2
  • Bij het opvragen van kastellingen via getCashCountList wordt nu ook de eerste en laatste id's van de achterliggende kassabonnen meegegeven, via de eigenschappen shiftFirstReceiptId en shiftLastReceiptId. Daarnaast bevat de eerste en laatste transactie (shiftFirstTransaction en shiftLastTransaction) nu ook het transactielabel via de eigenschap transactionString.

    1.8.2
  • Attentie: Deze release werkt wel met het juiste databaseschema, in tegenstelling tot de teruggetrokken v1.7.7.2 die per ongeluk op een versie te ver was uitgegeven.

    Vereist aandacht bij installatie
    1.7.7.5
  • De volgende objecten bevatten nu ook het extBranchId (externe referentie voor het filiaal): Branch, CashCount, Journal, FinancialGroup en Shift.

    1.8.2
  • De API-functie getEmployees kan nu ook worden gebruikt met een syncMarker. Lees de Sync Marker Tutorial (Engels) voor een uitgebreide uitleg.

    1.8.2
  • De API-functie getTurnoverGroups retourneert nu ook de ingestelde externe rekeningnummers per filiaal, via de lijst branchAccountNumberList.

    1.8.2
  • API-functies die werken met betaalwijzen per filiaal, zoals getFinancialJournal en getFinancialJournalByCashCount, retourneren nu ook het juiste rekeningnummer in het veld accountNumber als deze afwijkt van het standaard rekeningnummer.

    1.8.2
  • API-functies die werken met omzetgroepen per filiaal, zoals getFinancialJournal en getFinancialJournalByCashCount, retourneren nu ook het juiste rekeningnummer in het veld accountNumber als deze afwijkt van het standaard rekeningnummer.

    1.8.2
  • Wanneer een API-functie wordt gebruikt met klantvelden (zoals createProduct, createRelation of createEmployee) en de klantvelden zijn verplicht, maar deze worden niet meegegeven en hebben ook geen standaardwaarde, dan wordt er een duidelijke foutmelding teruggegeven.

    1.8.2
  • getFinancialJournal geeft nu ook aan of de periode waarover een financieel journaal is aangevraagd al officieel is afgesloten, door middel van het veld financialPeriodClosed. Het kan namelijk voorkomen dat een boekingsdag pas afloopt om 6 uur 's ochtends, in plaats van exact middernacht.

    1.8.2
  • Medewerkers kunnen nu ook per stuk opgehaald worden via getEmployee, daarnaast worden daarbij nu ook de klantvelden (de customFieldList) en de volgende standaardvelden meegegeven: syncMarker, changeTimestamp, createTimestamp, extraText, categoryId, personNumber.

    1.8.2
  • Bij het ophalen, invoeren en bewerken van relaties kan nu gewerkt worden met klantvelden (de customFieldList) en de volgende standaardvelden: createTimestamp, bankAccountNumber, creditLimit, paymentWithinDays, vatNumber, commerceNumber, extraText, defaultVatMethod, neverPrintOrEmailReceipt, alwaysPrintReceipt, alwaysPrintLargeFormatReceipt, alwaysEmailReceipt, condenseCombinedInvoice.

    1.8.2
  • Wanneer de klant gebruik maakt van een Master/Slave opstelling is het nu mogelijk om een wachttijd in te stellen waarin de functie saveOrder zal wachten totdat de Slave een filiaalorder heeft gesynchroniseerd. Standaard staat deze wachttijd op 0 seconden. In dat geval wordt er helemaal niet gewacht wordt. Er is ook een bovenlimiet van 5 minuten.

    Aan het resultaat kun je aflezen of de order al naar de Slave gesynchroniseerd is. Als de parameter orderQueued op TRUE staat, moet de order nog gesynchroniseerd worden, als deze op FALSE staat is hij al gesynchroniseerd en kun je ervan uitgaan dat de Slave de order ontvangen heeft.

    API > Master/Slave > Wachttijd synchronisatie Master naar Slave
    1.7.8
  • De functionaliteit van queueBranchOrder is nu gecombineerd met saveOrder. De API-ontwikkelaar hoeft er daardoor niet meer voor te zorgen of de juiste functie wordt aangeroepen afhankelijk van of de kassa wel of niet een slave-kassa is. Indien de order in de wachtrij voor een slave-kassa geplaatst is, zal er een speciaal vlaggetje orderQueued op TRUE gezet worden.

    1.7.8
  • Indien er een foutmelding terugkomt waarin staat dat de gebruiker van de API contact op moet nemen met API Support staat daar nu ook het juiste e-mailadres in, namelijk dev@mpluskassa.nl.

    1.7.6
  • Een aantal parameters van Line zijn optioneel gemaakt, namelijk: lineId, employeeNumber, pluNumber, en lineType. Bij het weglaten van deze parameters worden de standaardwaardes van het bijbehorende artikel gebruikt.

    1.7.4
  • Nieuwe functie queueBranchOrder toegevoegd om filiaalorders toe te voegen op een API die aan een master/slave-configuratie gekoppeld zit.

    1.7.4
  • Het is nu mogelijk om via payOrder een aanbetaling van een verkooporder ongedaan te maken. Dit is mogelijk door het doen van een aanbetaling met het exacte negatieve bedrag.

    1.7.2
  • Een aantal parameters van LineData zijn optioneel gemaakt, namelijk: turnoverGroup, vatCode, vatPercentage, pricePerQuantity en siUnit. Bij het weglaten van deze parameters worden de standaardwaardes van het bijbehorende artikel gebruikt.

    1.7.4
  • Bij het beheren van orders via de API wordt nu ook gekeken naar vatCode en turnoverGroup voor eventueel afwijkende waarden. Houd hier rekening mee met het aanmaken en bijwerken van orders via de API.

    Vereist aandacht bij installatie
    1.7.1
  • Nieuwe functie getCurrentSyncMarkers die de meest recente waardes van de verschillende syncMarkers retourneert.

    1.7.0
  • getReceipts en getInvoices retourneren nu ook de volgende artikeleigenschappen: supplierRelationNumber (relatienummer leverancier), supplierRelationName (naam leverancier) en supplierArticleNumber (artikelnummer leverancier). Het is ook mogelijk om te filteren op relatienummer leverancier door middel van supplierRelationNumbers.

    1.7.0
  • De functie getFinancialJournalByCashCount werkt nu weer. Deze was een tijdje uitgeschakeld omdat kastellingen tegenwoordig ook voor meerdere werkplekken tegelijk kunnen gelden, en de implementatie in de API service was daar nog niet op aangepast. De functie is nu ook verbeterd, omdat nu ook echt alleen het financiaal journaal van het filiaal waarop de telling betrekking had geretourneerd wordt.

    1.7.0
  • getRelations bevat nu een categoryId filter.

    1.7.0
  • Het is nu mogelijk een lijst van geconfigureerde salesprijzen op te vragen met de functie getSalesPriceList.

    1.7.0
  • Nieuwe functie: getPriceGroupList. Retourneert een lijst van alle geconfigureerde prijsgroepen.

    1.7.0
  • Bugfix bij updateProducts waardoor je per keer maar één nieuw artikel kon toevoegen in een product.

    1.5.1.3
  • Bij het opvragen van de omzetgroepen via getTurnoverGroups worden nu ook de omzetgroepen teruggegeven die niet zijn geconfigureerd, maar al wel gebruikt zijn bij artikelen.

    1.7.0
  • De service draait nu ook als er geen databaseverbinding is. In dat geval zal er bij elke aanvraag direct een SoapFault worden geretourneerd waarin staat dat er geen databaseverbinding is. Mocht de database weer bereikbaar zijn, dan zal de API automatisch weer verbinding maken bij de volgende aanvraag.

    1.7.0
  • Als van een artikel de inclusief prijs (priceIncl) wel is ingevuld, maar de exclusief prijs (priceExcl) niet, dan wordt deze nu ingevuld op basis van het BTW-percentage. Andersom geldt dit ook.

    1.7.0
  • Indien ingevuld wordt het aantal gasten nu ook meegegeven bij een tafelorder, via de eigenschap numberOfGuests. Het is ook mogelijk het aantal gasten te wijzigen via deze eigenschap.

    1.7.0
  • Het is nu mogelijk om de prijsgroepen van artikelen uit te lezen. Hiervoor wordt de parameter priceGroupList gebruikt.

    Om te weten of een klant in aanmerking komt voor een bepaalde prijsgroep kun je gebruik maken van de parameter priceGroupNumber die je ontvangt als je relaties opvraagt via bijv. getRelations.

    1.6.15
  • Bij het wijzigen van een factuur (via saveInvoice of updateInvoice) wordt niet meer alleen gekeken naar gewijzigde regels, maar ook naar wijzigingen in andere eigenschappen, zoals bijv. de klant (relationNumber).

    1.6.15
  • Bij een order kan nu ook een aflevertijdstip meegegeven worden, hiervoor zijn twee parameters te gebruiken: deliveryPeriodBegin en deliveryPeriodEnd. Door beide in te vullen kun je een periode definiëren waarbinnen de order afgeleverd dient te worden.

    1.6.13
  • Als bij een betaling (via bijv. payOrder, payInvoice en payTableOrder) een financialDate wordt ingevuld die afwijkt van de huidige boekdag, dan wordt deze nu wel gebruikt in plaats van genegeerd.

    1.6.13
  • Aan de imageList in getProducts wordt nu ook direct de imageUrl en thumbUrl toegevoegd, als die bekend zijn.

    1.6.13
  • Dealers

    Bij het afrekenen van een afsplitsing via payTableOrder werd de nieuwe bestelling met daarin de afsplitsing niet goed opgeslagen, waardoor de API een foutmelding teruggaf. Hier liep vooral de Android Kassa tegenaan.

    1.7.7.4
  • Dealers

    Bij het afrekenen van een afsplitsing via payTableOrder werd de nieuwe bestelling met daarin de afsplitsing niet goed opgeslagen, waardoor de API een foutmelding teruggaf. Hier liep vooral de Android Kassa tegenaan.

    1.8.2
  • Dealers

    Dit is een speciale bugfix release, die de volgende problemen oplost:

    1. Probleem opgelost waardoor omzetgroepen met accenten en andere vreemde tekens in de naam niet konden worden opgevraagd.
    2. Als er via de API al samengestelde artikelen aan een regel zijn toegevoegd, dan zullen die niet nogmaals door de API worden toegevoegd. Hiermee voorkomen we situaties waarin zowel de API samengestelde artikelen definieert, als dat deze ook worden toegevoegd omdat ze in Mplus ook op de artikelkaart staan.
    3. Het was niet meer mogelijk om orderregels te verplaatsen naar een lege tafel via moveTableOrder.
    4. Indien er bij een order een regel met normale of BPE-korting wordt tegengeboekt, dan wordt de korting ook goed tegengeboekt, in plaats van verdubbeld.
    1.7.2.1
  • Dealers

    Het zipbestand met daarin het installatiescript voor de Mplus API Service is aangepast.

    Je moet nu vòòr de eerste installatie een keuze maken tussen de configuratie voor 32-bits of 64-bits systemen.

    install.bat detecteert automatisch of de keuze gemaakt is en zal anders de volgende foutmelding tonen:

    . ===================================================
    .
    . Installatie mislukt
    . -------------------
    .
    . U moet nog de juiste winsw.xml kiezen.
    . Hernoem winsw-x86.xml of winsw-x64.xml naar winsw.xml,
    . afhankelijk van uw besturingssysteem.
    .
    . ===================================================
    1.7.0
  • Dealers

    De controle op het versienummer van het databaseschema is gewijzigd, er wordt nu ook gekeken naar het revisienummer. Dat moet minimaal overeenkomen met het vereiste revisienummer.

    1.6.15
  • getTableList() retourneert nu ook de informatie over de hoogst uitgevraagde gang van elke tafel, dit gebeurt via de eigenschappen courseNumber, courseName en courseAbbreviation.

    1.8.2
  • getJournals kan nu aangeroepen worden zonder filiaalfilter. In dat geval worden alle aanwezige filialen geretourneerd.

    1.8.2
  • Bij het aanmaken van een relatie wordt het meegegeven relationNumber nu ook gebruikt als relatienummer voor de nieuwe relatie, in plaats van het genereren van een nieuw relatienummer.

    1.7.7.6
  • Het is nu mogelijk om het pasnummer in te vullen en bij te werken via createRelation en updateRelation. Het veld heet cardNumber.

    1.8.2
  • Als er tijdens het afdrukken van een bon, verkooporder of andere printopdracht een fout optreedt, dan wordt nu niet meer de hele API-functie afgebroken met een exception. De foutmelding die optrad tijdens het printen wordt in de errorMessage parameter gezet, maar de rest van het resultaat van de functie is verder het normale resultaat alsof er geen printfout is opgetreden.

    Dit geldt uiteraard niet voor functies die specifiek bedoeld zijn voor het printen van items, zoals printReceipt en printTableReceipt.

    1.7.1
  • Probleem opgelost waardoor omzetgroepen met accenten en andere vreemde tekens in de naam niet konden worden opgevraagd.

    1.7.8
  • Bij het bestellen van een order met daarin samengestelde artikelen werd de prijs van het samengestelde artikel niet goed berekend als het artikel oorspronkelijk geen samengestelde artikelen had, maar in de nieuwe order wel.

    1.7.5
  • Kortingspercentage werd per ongeluk ook omgekeerd bij het opslaan van een tegenboeking. Dit gaf problemen in bijv. totaalberekening van een regel.

    1.8.2
  • Negatieve decimale aantallen werden niet correct doorgegeven. Elk aantal werd afgerond doorgegeven.

    1.8.2
  • Bij het uitvoeren van getJournals met een filter op kassabonnen of facturen worden de lijst met betaalwijzen (paymentList) en BTW-groepen (vatGroupList) nu ook correct gefilterd.

    1.8.2
  • Bij het splitsen van een tafel via de API-functie moveTableOrder (welke vooral door de handheld gebruikt wordt), werd het werkpleknummer van de transactie altijd naar F1W1 gezet, in plaats van het werkpleknummer van de handheld. Dit veroorzaakte een synchronisatiefout in het geval van een Master/Slave-opstelling met meerdere Slaves.

    1.7.7.5
  • Bij het opvragen van relaties wordt nu ook de eigenschappen active, changeTimestamp and syncMarker goed ingevuld. Daarnaast is er ook een nieuw eigenschap, createTimestamp.

    1.7.8
  • Probleem opgelost in updateRelation waardoor relaties niet goed konden worden bijgewerkt, o.a. wijzigen van de active-parameter lukte niet goed.

    1.7.8
  • Het was niet meer mogelijk om orderregels te verplaatsen naar een lege tafel via moveTableOrder.

    1.7.7
  • Indien er bij een order een regel met normale of BPE-korting wordt tegengeboekt, dan wordt de korting ook goed tegengeboekt, in plaats van verdubbeld.

    1.7.6
  • getCurrentSyncMarkers werkt nu ook als er van een bepaalde syncMarker nog helemaal geen rijen zijn. Dan wordt er nu gewoon de waarde 0 teruggegeven.

    1.7.1
  • Als je de financialDate van een factuur invult wordt die ook daadwerkelijk gebruikt bij saveInvoice (en createInvoice en updateInvoice).

    1.6.15.1
  • Bij het uitlezen van de artikelen op de snelknoppen via getArticlesInLayout wordt nu de bontekst gebruikt als de naam van het artikel Indien die niet is ingevuld wordt nog steeds teruggevallen op de omschrijving.

    1.6.15
  • De parameter onlyWebshop die kan worden meegegeven bij getProducts wordt nu ook daadwerkelijk gecontroleerd en gebruikt. Als je deze waarde op TRUE zet krijg je alleen de producten terug waarbij Webshop op 'Ja' staat.

    1.6.13
  • Als bij het aanroepen van updateProduct blijkt dat het meegegeven productnummer niet bestaat, dan komt nu de juiste foutmelding UPDATE_PRODUCT_RESULT_NOT_FOUND terug, in plaats van het meer algemene UPDATE_PRODUCT_RESULT_FAILED.

    1.6.12
  • Dealers

    Bij het aanbetalen van een order via payTableOrder was het mogelijk dat de order van de tafel gehaald werd. Dit was een bug veroorzaakt door een eerdere bugfix in v1.7.7.4.

    Vereist aandacht bij installatie
    1.7.7.5