close(OUT);
my $qr_image_path;
- if ($::instance_conf->get_create_qrbill_invoices) {
+ if ($::instance_conf->get_create_qrbill_invoices && $form->{formname} eq 'invoice') {
# the biller account information, biller address and the reference number,
# are needed in the template aswell as in the qr-code generation, therefore
# assemble these and add to $::form
$zip->contents("styles.xml", Encode::encode('utf-8-strict', $new_styles));
}
- if ($::instance_conf->get_create_qrbill_invoices) {
+ if ($::instance_conf->get_create_qrbill_invoices && $form->{formname} eq 'invoice') {
# get placeholder path from odt XML
my $qr_placeholder_path;
my $dom = XML::LibXML->load_xml(string => $contents);
'countrycode' => $biller_countrycode,
);
+ my $amount;
+ if ($form->{'qrbill_without_amount'}) {
+ $amount = '';
+ } else {
+ $amount = sprintf("%.2f", $form->parse_amount(\%::myconfig, $form->{'total'}));
+ }
+
my %payment_information = (
- 'amount' => sprintf("%.2f", $form->parse_amount(\%::myconfig, $form->{'total'})),
+ 'amount' => $amount,
'currency' => $form->{'currency'},
);
'countrycode' => $customer_countrycode,
);
- # generate ref.-no. with check digit
- my $ref_number = assemble_ref_number(
- $qr_account->{'bank_account_id'},
- $form->{'customernumber'},
- $form->{'ordnumber'},
- $form->{'invnumber'},
- );
-
- my %ref_nr_data = (
- 'type' => 'QRR',
- 'ref_number' => $ref_number,
- );
+ my %ref_nr_data;
+ if ($::instance_conf->get_create_qrbill_invoices == 1) {
+ # generate ref.-no. with check digit
+ my $ref_number = assemble_ref_number(
+ $qr_account->{'bank_account_id'},
+ $form->{'customernumber'},
+ $form->{'ordnumber'},
+ $form->{'invnumber'},
+ );
+ %ref_nr_data = (
+ 'type' => 'QRR',
+ 'ref_number' => $ref_number,
+ );
+ # get ref. number/iban formatted with spaces and set into form for template
+ # processing
+ $form->{'ref_number'} = $ref_number;
+ $form->{'ref_number_formatted'} = get_ref_number_formatted($ref_number);
+ } elsif ($::instance_conf->get_create_qrbill_invoices == 2) {
+ %ref_nr_data = (
+ 'type' => 'NON',
+ 'ref_number' => '',
+ );
+ } else {
+ $::form->error($::locale->text('Error getting QR-Bill type.'));
+ }
# set into form for template processing
$form->{'biller_information'} = \%biller_information;
$form->{'biller_data'} = \%biller_data;
- $form->{'ref_number'} = $ref_number;
-
- # get ref. number/iban formatted with spaces
- $form->{'ref_number_formatted'} = get_ref_number_formatted($ref_number);
$form->{'iban_formatted'} = get_iban_formatted($qr_account->{'iban'});
# format amount for template