Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision cdb079eb

Von Cem Aydin vor etwa 2 Monaten hinzugefügt

  • ID cdb079ebb32c7c8130312cddd39f6c1d39cc6599
  • Vorgänger 3abd8072
  • Nachfolger be93d983

Schweizer Banküberweisung via XML implementiert

Analog zu "Überweisung via SEPA XML"

Das Feature kann in der Mandantenkonfiguration ein-/ausgeschaltet
werden. Wenn eingeschaltet, wird anstatt des SEPA export ein Export
gemäss dem schweizer Standard erstellt. Dementsprechend werden die
Texte im Menü und in den Templates ersetzt, und im Code mittels
Weiche auf den schweizer Export umgeschaltet.

Gemäss Standard:
Swiss Payment Standards
Customer Credit Transfer Initiation (pain.001)

Unterschiede anzeigen:

SL/SEPA.pm
31 31

  
32 32
  my $is_sepa_blocked = $params{vc} eq 'customer' ? 'FALSE' : "${arap}.is_sepa_blocked";
33 33

  
34
  my $swiss_data = $::instance_conf->get_sepa_swiss_xml_export eq 1 && $arap eq 'ap' ?
35
                    " vc.iban AS vc_iban, vc.bic AS vc_bic, ap.qrbill_data AS qrbill_data, " : '';
36

  
34 37
  # open_amount is not the current open amount according to bookkeeping, but
35 38
  # the open amount minus the SEPA transfer amounts that haven't been closed yet
36 39
  my $query =
......
39 42
         (${arap}.transdate + pt.terms_skonto) as skonto_date, (pt.percent_skonto * 100) as percent_skonto,
40 43
         (${arap}.amount - (${arap}.amount * pt.percent_skonto)) as amount_less_skonto,
41 44
         (${arap}.amount * pt.percent_skonto) as skonto_amount,
42
         vc.name AS vcname, vc.language_id, ${arap}.duedate as duedate, ${arap}.direct_debit,
45
         vc.name AS vcname, vc.language_id, vc.iban AS vc_iban, vc.bic AS vc_bic,
46
         ${arap}.duedate as duedate, ${arap}.direct_debit,
43 47
         ${is_sepa_blocked} AS is_sepa_blocked,
44 48
         vc.${vc_vc_id} as vc_vc_id,
49
         $swiss_data
45 50

  
46 51
         COALESCE(vc.iban, '') <> '' AND COALESCE(vc.bic, '') <> '' ${mandate} AS vc_bank_info_ok,
47 52

  
......
237 242
    my $mandator_id = $params{vc} eq 'customer' ? ', mandator_id, mandate_date_of_signature' : '';
238 243

  
239 244
    if ($params{details}) {
240
      $columns = qq|, arap.invnumber, arap.invoice, arap.transdate AS reference_date, vc.name AS vc_name, vc.${vc}number AS vc_number, c.accno AS chart_accno, c.description AS chart_description ${mandator_id}|;
245
      $columns = qq|, arap.invnumber, arap.invoice, arap.transdate AS reference_date,
246
                      arap.qrbill_data AS qrbill_data, vc.name AS vc_name,
247
                      vc.${vc}number AS vc_number, vc.street AS vc_street,
248
                      vc.zipcode AS vc_zipcode, vc.city AS vc_city, vc.country AS vc_country,
249
                      c.accno AS chart_accno, c.description AS chart_description ${mandator_id},
250
                      cur.name AS currency_name|;
241 251
      $joins   = qq|LEFT JOIN ${arap} arap ON (sei.${arap}_id = arap.id)
242 252
                    LEFT JOIN ${vc} vc     ON (arap.${vc}_id  = vc.id)
243
                    LEFT JOIN chart c      ON (sei.chart_id   = c.id)|;
253
                    LEFT JOIN chart c      ON (sei.chart_id   = c.id)
254
                    LEFT JOIN currencies cur ON (arap.currency_id = cur.id)
255
                    |;
244 256
    }
245 257

  
246 258
    $query = qq|SELECT sei.*

Auch abrufbar als: Unified diff