diff --git a/addons/l10n_ch/models/account_invoice.py b/addons/l10n_ch/models/account_invoice.py
index c19afba614a..b0ff383c01a 100644
--- a/addons/l10n_ch/models/account_invoice.py
+++ b/addons/l10n_ch/models/account_invoice.py
@@ -219,3 +219,16 @@ class AccountMove(models.Model):
"""
self.ensure_one()
return self.l10n_ch_isr_number
+
+ @api.model
+ def space_qrr_reference(self, qrr_ref):
+ """ Makes the provided QRR reference human-friendly, spacing its elements
+ by blocks of 5 from right to left.
+ """
+ spaced_qrr_ref = ''
+ i = len(qrr_ref) # i is the index after the last index to consider in substrings
+ while i > 0:
+ spaced_qrr_ref = qrr_ref[max(i-5, 0) : i] + ' ' + spaced_qrr_ref
+ i -= 5
+
+ return spaced_qrr_ref
diff --git a/addons/l10n_ch/report/swissqr_report.py b/addons/l10n_ch/report/swissqr_report.py
index 3e7ff833c40..9c3efd91f1a 100644
--- a/addons/l10n_ch/report/swissqr_report.py
+++ b/addons/l10n_ch/report/swissqr_report.py
@@ -12,7 +12,7 @@ class ReportSwissQR(models.AbstractModel):
qr_code_urls = {}
for invoice in docs:
- qr_code_urls[invoice.id] = invoice.invoice_partner_bank_id.build_qr_code_url(invoice.amount_residual, invoice.ref or invoice.name, invoice.payment_reference, invoice.currency_id, invoice.partner_id, qr_method='ch_qr', silent_errors=False)
+ qr_code_urls[invoice.id] = invoice.partner_bank_id.build_qr_code_url(invoice.amount_residual, invoice.ref or invoice.name, invoice.payment_reference, invoice.currency_id, invoice.partner_id, qr_method='ch_qr', silent_errors=False)
return {
'doc_ids': docids,
diff --git a/addons/l10n_ch/report/swissqr_report.xml b/addons/l10n_ch/report/swissqr_report.xml
index 6e892d80b01..8df6286e2a3 100644
--- a/addons/l10n_ch/report/swissqr_report.xml
+++ b/addons/l10n_ch/report/swissqr_report.xml
@@ -43,12 +43,9 @@
- Reference
-
-
-
-
-
+
+ Reference
+
Payable by
@@ -88,16 +85,15 @@
- Reference
-
-
-
-
-
+
+ Reference
+
Additional information
-
+
+
+
Payable by
diff --git a/addons/l10n_ch/static/src/scss/report_swissqr.scss b/addons/l10n_ch/static/src/scss/report_swissqr.scss
index 09070311c33..379ac0690a4 100644
--- a/addons/l10n_ch/static/src/scss/report_swissqr.scss
+++ b/addons/l10n_ch/static/src/scss/report_swissqr.scss
@@ -14,7 +14,7 @@ body.l10n_ch_qr {
}
.swissqr_content {
- position: relative;
+ position: static;
}
.swissqr_receipt {
@@ -23,7 +23,7 @@ body.l10n_ch_qr {
border-color:black;
border-width: 1pt 1pt 1pt 1pt;
border-style: solid;
- height: 131.25mm; /* 105 * 1.25 */
+ height: 131mm; /* 105 * 1.25 - 0.25 mm to cope for rendering issues due to header (probably a rounding issue) */
width: 77.5mm; /* 62 * 1.25 */
top: 240mm; /* 192 * 1.25 */
left: 0mm;
@@ -36,7 +36,7 @@ body.l10n_ch_qr {
border-color:black;
border-width: 1pt 1pt 1pt 1pt;
border-style: solid;
- height: 131.25mm; /* 105 * 1.25 */
+ height: 131mm; /* 105 * 1.25 - 0.25mm to cope for rendering issues due to header (probably a rounding issue)*/
width: 185mm; /* 148 * 1.25 */
top: 240mm; /* 192 * 1.25 */
left: 77.5mm; /* 62 * 1.25 */