Ik heb het bedrag van 40 EUR niet letterlijk in de code gezet; ik gebruik een CiviCRM setting chirocontribution_amount_tax_receipt uit de groep chirocontribution. Het idee is om ooit een formulier te maken via hetwelke we dat bedrag kunnen configureren, maar dat is nog een van de vele open issues van ons project ;-)
CDNTaxReceipts geeft de fiscale attesten het Contribution-ID van een van de contributies die bij het attest horen. Nu ken ik niet veel van attestnummers, maar ons oude systeem genereerde attestnummers in de vorm van jaartal/volgnummer. Bijvoorbeeld 2015/0004. Ik ben ook eens in de kast gaan kijken naar de fiscale attesten die ik zelf krijg, en die zijn gelijkaardig genummerd. Dus ik vermoed dat dat zo dan wel zal moeten in België.
Door hook_cdntaxreceipts_alter_receipt te implementeren, verander ik het nummer van het attest alvorens het gemaakt en bewaard wordt. Dit gebeurt alweer op een erg inefficiënte manier, die bovendien niet thread safe is. Maar ook dit werkt voor ons; misschien werkt het ook wel voor jullie. (Ruimte voor verbetering is er altijd.) De code:
Achteraf zal blijken dat CDNTaxReceipts de fiscale attesten zal bewaren met een bestandsnaam die het attestnummer bevat. Dat is wat vervelend met die slash, maar daar werken we straks nog rond. Wat je ook kunt doen, is een punt (.) gebruiken in plaats van een slash, in dat geval vervang je de slashes in de $params van de select query en in $next_no door een punt.