Mercator 10.10 maakt het genereren en gebruiken van cadeaubonnen mogelijk (in de vorm van een betaalwijze).
Configuratie
Om deze functionaliteit te activeren, moet men:
- In de tabel STOCK, voeg S_PAYTERMBONCAD bit toe
- In de tabellen HISCAISS en LIGNES_V, voeg IDBONCADPAYTERM char(10) toe
alter table STOCK add S_PAYTERMBONCAD bit not null default 0
alter table LIGNES_V add IDBONCADPAYTERM char(10) not null default ''
alter table HISCAISS add IDBONCADPAYTERM char(10) not null default ''
Als u een geldigheidsdatum voor de cadeaubonnen wilt beheren, moet u het veld DATEBONCADEAUPAYTERM van het type date toevoegen in LIGNES_V
alter table lignes_v add DATEBONCADEAUPAYTERM date not null default '19000101'
Start vervolgens een database-update via "Tools > Geavanceerde Tools > SQL Database > Update".
Het veld PIEDS_V.BONCADEAU varchar(MAX) wordt automatisch aangemaakt. Men moet deze kolom dus niet handmatig aanmaken.
Na het herstarten van Mercator moet u een betalingswijze met volgende omschrijving definiëren, afhankelijk van de taal van het dossier:
- Frans: Bon cadeau
- Nederlands: Cadeaubon
- Engels: Gift card
- Duits: Geschenkkarte.
Als u een geldigheidsdatum voor cadeaubonnen beheert, moet u de optie BC_VALID invullen om het aantal dagen aan te geven dat een cadeaubon geldig is. Het wordt aanbevolen om het vakje "Auto bedrag" aan te vinken bij de verkoopsequenties waar cadeaubonnen zullen ingegeven worden als betaling.
Gebruik
Eerst moet u de artikels aanmaken die voor de verkoop van cadeaubonnen worden gebruikt en S_PAYTERMBONCAD aanvinken bij deze artikels.
U kan bijvoorbeeld meerdere artikels met een vaste prijs aanmaken of één artikel aanmaken waarbij u handmatig de prijs ingeeft.
Bij ingave van deze artikels in een verkoop wordt er in de optie BC_GENID
- ofwel automatisch een ID gegenereerd
- ofwel zal er gevraagd worden om deze ID in te vullen.
Het is ook mogelijk om een ID te forceren via code:
using System;
using System.Data;
using MercatorApi;
using MercatorUi;
using MercatorUi.Engine.Gescom;
namespace Billing
{
public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
{
public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.BeforeBonCadeauAskVoucher += BillingEngine_BeforeBonCadeauAskVoucher;
}
public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine billingEngine)
{
billingEngine.BeforeBonCadeauAskVoucher -= BillingEngine_BeforeBonCadeauAskVoucher;
}
private void BillingEngine_BeforeBonCadeauAskVoucher(object sender, BillingEngine.BeforeBonCadeauAskVoucherEventArgs e)
{
for (int i = 0; i <= 3; i++)
{
string idBon = Api.Ident();
Api.LastError = "";
var exists = Api.ZselectDirect(Globals.RepData, "if exists(select * from lignes_v where IDBONCADPAYTERM=@idBon) select 1 else select 0", new MercatorSqlParam("@idBon", idBon, SqlDbType.Char));
if (!string.IsNullOrEmpty(Api.LastError))
Dialogs.Stop(Api.LastError);
if (!Convert.ToBoolean(exists))
{
e.IdBonCadeau = idBon;
break;
}
else if (i == 3)
{
Dialogs.Stop("Cadeaubon: Unieke code wordt niet teruggevonden!");
}
}
}
}
}
Het is mogelijk om cadeaubonnen af te drukken. Hiervoor moet u de optie PRINT_BC configureren en kan de lay-out worden gewijzigd via "Tools > Modellen Documenten" nadat u een verkoop met een cadeaubon hebt geopend.
Werking
Om deze cadeaubon terug te sturen, gebruik je de betaalwijze "Cadeaubon". Het bedrag wordt automatisch ingevuld (zie opmerking hierboven over het vakje "Auto bedrag" dat moet worden aangevinkt). Bij de registratie wordt u gevraagd om de identificatiecode van de cadeaubon in te vullen. Als u deze identificatiecode niet handmatig wilt invoeren, moet u deze instellen via e.IdBonCadeau in de BeforeSendRequestPayTerm event van het object Payments van de BillingForm.
Mercator zal het saldo van de cadeaubon controleren en, al het positief is, het totaal van de betalingswijze wijzigen met
- ofwel het resterende bedrag van de cadeaubon
- ofwel het resterende te betalen bedrag (als het resterende bedrag van de cadeaubon groter is dan het saldo van het document).
In principe is het niet mogelijk om dezelfde cadeaubon meerdere keren te gebruiken in dezelfde verkoop. Als je extra controles wilt uitvoeren, zoals het niet kunnen gebruiken van een cadeaubon om te betalen voor de aankoop van een andere cadeaubon (bijvoorbeeld), kun je de event BeforeSendRequestPayTerm van het object Payments van de BillingForm gebruiken.
Afdrukken
In het onderstaande zip-bestand vindt u:
- het rapport "3081S Geschiedenis van de cadeaubon" om te installeren.
Het is toegankelijk via de knop "Documenten" op het artikelfiche.
Wanneer u het uitvoert, vraagt Mercator u de barcode van de cadeaubon en geeft u informatie over - de aankoop,
- de eventuele herlading,
- het (of de verschillende) gebruik(en).
- het rapport "3081S Verlopen cadeaubonnen" om te installeren.
Het is toegankelijk via de knop "Documenten" op het artikelfiche.
Het toont de lijst met ongebruikte cadeaubonnen met een geldigheidsdatum vóór de geselecteerde datum.
Boekhoudkundige en btw-begrippen
In termen van boekhouding en btw zijn er 2 manieren om cadeaubonnen te beheren, zoals uitgelegd in circulaire 2018/C/127 betreffende de btw-behandeling van cadeaubonnen.
- in aanmerking komen op artikels met slechts één btw-tarief
TE WIJZIGEN EN TERUGBETALEN MET NEGATIEF ARTIKEL
In dit geval moet je een btw-tarief definiëren op het niveau van het verkoopartikel en een verkooprekening definiëren op artikelniveau.Dit geeft:
- Verkoop 700000 C
- BTW 451000 C
Wanneer de cadeaubon wordt geretourneerd, moet een interne overboekingsrekening worden gedefinieerd voor de betaalwijze, bijvoorbeeld
Aangezien de btw wordt betaald wanneer de cadeaubon wordt uitgegeven en de verkoop om de bon te gebruiken ook btw genereert, moet alles worden aangesloten door een boeking te maken om de omzet en de te ontvangen btw te debiteren.
- Betaling 580000 C
- Verkoop 700000 D
- Te ontvangen btw 411000 D
in aanmerking komend op artikels met verschillende btw-tarieven
In dit geval moet je een btw-tarief van 0 definiëren en een tussenrekening definiëren (bijv. 499001) op artikelniveau instellen.
Dit geeft:
Wanneer de cadeaubon wordt geretourneerd, moet je in de betaalwijze de tussenrekening voor het artikel definiëren, bijvoorbeeld 499001
In dit geval wordt de btw beheerd door de verkoopartikels
Te laden :
0000003081.zip (41 Kb - 18-10-2022)