Skip to content

Commit c6d3575

Browse files
committed
fix: generazione fattura elettronica per sedi committente paesi esteri
1 parent 762ccda commit c6d3575

1 file changed

Lines changed: 13 additions & 10 deletions

File tree

plugins/exportFE/src/FatturaElettronica.php

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,29 +1125,32 @@ protected static function getDatiTrasporto($fattura)
11251125
if (!empty($documento['idsede_destinazione'])) {
11261126
$sede = $database->fetchOne('SELECT * FROM an_sedi WHERE id='.prepare($documento['idsede_destinazione']));
11271127

1128-
$is_nazione_it = false;
1129-
if (!empty($sede['id_nazione'])) {
1130-
$rs_nazione = Nazione::find($sede['id_nazione']);
1131-
$is_nazione_it = ($rs_nazione['iso2'] == "IT") ? true : false;
1132-
}
1133-
11341128
if (!empty($sede['indirizzo'])) {
11351129
$result['IndirizzoResa']['Indirizzo'] = $sede['indirizzo'];
11361130
}
11371131

1138-
if (!empty($sede['cap'])) {
1139-
$result['IndirizzoResa']['CAP'] = ($is_nazione_it == true) ? $sede['cap'] : "00000";
1132+
// CAP: per nazioni estere usare '00000', altrimenti il CAP reale
1133+
if (!empty($sede['id_nazione'])) {
1134+
$rs_nazione = Nazione::find($sede['id_nazione']);
1135+
$result['IndirizzoResa']['CAP'] = ($rs_nazione['iso2'] == 'IT') ? $sede['cap'] : '00000';
1136+
} elseif (!empty($sede['cap'])) {
1137+
$result['IndirizzoResa']['CAP'] = $sede['cap'];
11401138
}
11411139

11421140
if (!empty($sede['citta'])) {
11431141
$result['IndirizzoResa']['Comune'] = $sede['citta'];
11441142
}
11451143

1146-
if (!empty($sede['provincia']) && $is_nazione_it == true) {
1147-
$result['IndirizzoResa']['Provincia'] = $sede['provincia'];
1144+
// Provincia impostata SOLO SE nazione ITALIA
1145+
if (!empty($sede['provincia']) && !empty($sede['id_nazione'])) {
1146+
$rs_nazione = Nazione::find($sede['id_nazione']);
1147+
if ($rs_nazione['iso2'] == 'IT') {
1148+
$result['IndirizzoResa']['Provincia'] = strtoupper((string) $sede['provincia']);
1149+
}
11481150
}
11491151

11501152
if (!empty($sede['id_nazione'])) {
1153+
$rs_nazione = Nazione::find($sede['id_nazione']);
11511154
$result['IndirizzoResa']['Nazione'] = $rs_nazione['iso2'];
11521155
}
11531156
}

0 commit comments

Comments
 (0)