Een of meer ontvangstbewijzen aan een factuur koppelen

0000003180     -      03-10-2023

Met de hier beschreven functie kun je een of meer ontvangsten koppelen aan een bestaande factuur. Bij deze koppelingen worden geen voorschotten gekoppeld, maar kan de factuur na centralisatie in de boekhouding worden opgenomen, rekening houdend met eventuele ontvangsten.

Het voldoet aan deze behoefte :

  • Een klant koopt iets waarvoor hij onmiddellijk een factuur krijgt en waarvoor de betaling geheel of gedeeltelijk wordt uitgesteld.
  • Later komt de klant terug naar de winkel en betaalt het saldo van zijn factuur, volledig of gedeeltelijk. Deze factuur mag niet meer gewijzigd worden (gecentraliseerd) en we willen de datum van de verschillende bewegingen (factuur - betalingen) in de boekhouding zien.
  • Er is verzocht om al deze bewegingen in de boekhouding automatisch van letters te voorzien.

Om deze functie te installeren, moet je

  • Mercator versie 11.0 of hoger hebben
  • de optionele velden PIECE_LIEE_FREE en RECEIPT_1 toevoegen aan de PIEDS_V tabel
    alter table PIEDS_V add PIECE_LIEE_FREE varchar(MAX) not null default '' , RECEIPT_1 bit not null default 0
  • Mercator opnieuw starten
  • voer het menu "Tools / Geavanceerde tools / SQL database / Bijwerken" uit
  • Voeg een knop toe aan de factuurreeks met de onderstaande C#-code. Deze knop maakt een ontvangstbewijs aan dat aan deze factuur is gekoppeld.
Zoom
public static void Exec(MercatorUi.MovableControls.MovableButton clickedButton)
{
    // enter your customized code here
    MercatorUi.Forms.Billing.BillingForm billingForm = (MercatorUi.Forms.Billing.BillingForm)clickedButton.Form;
    billingForm.BillingEngine.CreateReceiptForThisInvoice();
}

 

Het voorgestelde bedrag van het ontvangstbewijs komt overeen met het factuurtotaal minus het "cashgeld" dat op deze factuur is ontvangen, de voorschotten  en eventuele andere ontvangstbewijzen die er al aan zijn gekoppeld.

Deze functie bevat geen controle over het te betalen bedrag in de kassabon(nen). Als de som van de gekoppelde kassabonnen niet gelijk is aan het factuurtotaal, minus eventuele voorschotten, dan worden al deze boekhoudbewegingen gedeeltelijk geletterd.

Voor belettering moet het datumbereik dat voor de centralisatie wordt gebruikt, de factuur en de verschillende ontvangstbewijzen omvatten.


Het is mogelijk om programmatisch in te grijpen in het gedrag van de methode CreateReceiptForThisInvoice. Dit gebeurt via de gebeurtenis BeforeCreateReceiptForThisInvoice in de BillingEngine van de factuur. De eventArgs bevatten deze eigenschappen :

  • e.Cancel om het proces te stoppen
  • e.DesiredJournal om de gewenste ontvangstvolgorde op te geven
  • e.Amount voor het in het ontvangstbewijs voorgestelde bedrag

Deze SQL-query geeft een overzicht van de bonnen die aan een factuur zijn gekoppeld:

declare @piece_liee_free varchar(MAX)
select @piece_liee_free=piece_liee_free from PIEDS_V where... /* 1 facture */
select p.journal,p.piece,p.net_fb as tot from dbo.PIECES_LIEES(@piece_liee_free) l
inner join PIEDS_V p on (l.journal=p.journal) and (l.piece=p.piece)

Opmerking : Centralisatie naar externe boekhoudsystemen vereist geen enkele belettering. Om van deze functie te kunnen profiteren, moet u Mercator Accounting gebruiken.


Zie ook : Meerdere voorschotten linken aan een klantenorder