Reminder Extensions Layout
Create personalized reminder report extensions
We have published our templates on github.com/BananaAccounting. In this section you will find different basic examples.
You can save a copy of one template in your computer and make the changes you wish. In order to use your custom template in Banana you have to:
- select the command Reports - Customers - Print reminders...
- In the Print payment reminders dialog select Manage apps...
- In the Manage apps dialog select Add from file... and choose your reminder report file you just created
Extensions attributes
// @id = scriptfilename.js // @api = 1.0 // @pubdate = yyyy-mm-dd // @publisher = yourName // @description = script description // @task = report.customer.reminder
Report code
The main function is printDocument(jsonReminder, repDocObj, repStyleObj).
- The parameter jsonReminder object contains the data,
- repDocObj is the document object.
- repStyleObj is the stylesheet object where you can add styles.
function printDocument(jsonReminder, repDocObj, repStyleObj) {
var param = initParam();
var savedParam = Banana.document.getScriptSettings();
if (savedParam.length > 0) {
param = JSON.parse(savedParam);
param = verifyParam(param);
}
printReminder(jsonReminder, repDocObj, repStyleObj, param);
}
The function settingsDialog() is called from Banana when you select the button Params... from dialog Manage apps. You can write any code you need for your script.
/*Update script's parameters*/
function settingsDialog() {
var param = initParam();
var savedParam = Banana.document.getScriptSettings();
if (savedParam.length > 0) {
param = JSON.parse(savedParam);
}
param = verifyParam(param);
...
var paramString = JSON.stringify(param);
var value = Banana.document.setScriptSettings(paramString);
}
Reminder Json Object
Reminder Json Object
Data structure you can access through the report:
{
"customer_info": {
"address1": "Viale Stazione 11",
"business_name": "Rossi SA",
"city": "Bellinzona",
"first_name": "Andrea",
"last_name": "Rossi",
"number": "1100",
"origin_row": "26",
"origin_table": "Accounts",
"postal_code": "6500"
},
"document_info": {
"date": "20160927",
"decimals_amounts": 2,
"description": "",
"locale": "it",
"number": "",
"type": "reminder"
},
"items": [
{
"balance": "540.00",
"balance_base_currency": "540.00",
"base_currency": "CHF",
"credit": "",
"credit_base_currency": "",
"currency": "CHF",
"date": "20160101",
"debit": "540.00",
"debit_base_currency": "540.00",
"item_type": "invoice",
"number": "10",
"status": "1. reminder",
"total_amount_vat_exclusive": "",
"total_amount_vat_inclusive": "",
"total_vat_amount": "",
"unit_price": {
}
},
{
"balance": "540.00",
"balance_base_currency": "540.00",
"base_currency": "",
"credit": "",
"credit_base_currency": "",
"currency": "",
"date": "",
"debit": "540.00",
"debit_base_currency": "540.00",
"item_type": "total",
"number": "",
"status": "",
"total_amount_vat_exclusive": "",
"total_amount_vat_inclusive": "",
"total_vat_amount": "",
"unit_price": {
}
}
],
"supplier_info": {
"address1": "Indirizzo 1",
"address2": "Indirizzo 2",
"business_name": "Società ",
"city": "Loc",
"email": "info@myweb",
"first_name": "Nome",
"fiscal_number": "numerofiscale",
"last_name": "Cognome",
"postal_code": "CAP",
"web": "http://www.myweb"
}
}