- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Partita IVA non valida
Ciao a tutti,
in fase di registrazione i clienti riescono a registrarsi con partita IVA ma quando fanno il login alla loro area riservata compare questo errore:
"La partita IVA inserita (XXXXXXX) non è una partita IVA valida. Verranno addebitate le tasse."
ho controllato e la partita iva è esatta.
Ho sbagliato qualche impostazione?
Grazie
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Partita IVA non valida
Ciao,
non so quale versione utilizzi o se hai installato qualche modulo specifico per la partita iva. Personalmente non ho mai incontrato un problema del genere su Magento.
Considera comunque che, in generale, molti sistemi che verificano la validità della partita Iva, fanno controlli sul Vies
Quindi se una partita Iva comunitaria è corretta nel proprio paese ma non è presente nel Vies potrebbe risultare non corretta.
Spero di essermi espresso chiaramente.
Saluti
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Partita IVA non valida
Ciao,
quello che dice @fabrisys è giusto.
Per evitare che ti esca l'errore puoi aggiungere il controllo "manuale" della partita IVA italiana, modificando la funzione checkVatNumber che trovi nel file /app/code/core/Mage/Customer/Helper/Data.php alla riga 524.
Alla riga 566 aggiungi il seguente codice:
if($countryCode == "IT"){ $result = true; if($requestParams['vatNumber']=='') $result = false; //la p.iva deve essere lunga 11 caratteri if(strlen($requestParams['vatNumber'])!=11) $result = false; //la p.iva deve avere solo cifre if(!ereg("^[0-9]+$", $requestParams['vatNumber'])) $result = false; $primo=0; for($i=0; $i<=9; $i+=2) $primo+= ord($requestParams['vatNumber'][$i])-ord('0'); for($i=1; $i<=9; $i+=2 ){ $secondo=2*( ord($requestParams['vatNumber'][$i])-ord('0') ); if($secondo>9) $secondo=$secondo-9; $primo+=$secondo; } if( (10-$primo%10)%10 != ord($requestParams['vatNumber'][10])-ord('0') ) $result = false; $gatewayResponse->setIsValid($result); $gatewayResponse->setRequestDate((string) $result->requestDate); $gatewayResponse->setRequestIdentifier((string) $result->requestIdentifier); $gatewayResponse->setRequestSuccess(true); }
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Partita IVA non valida
Ciao SielcoSistemi ho provato a mettere in pratica il tuo consiglio ma non funziona. Ecco cosa trovo come codice alla riga 566:
{ // Default response $gatewayResponse = new Varien_Object(array( 'is_valid' => false, 'request_date' => '', 'request_identifier' => '', 'request_success' => false ));
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Partita IVA non valida
Ciao,
che versione di Magento hai?
La modifica che ho postato, è quella che uso io per la versione 1.9.
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Partita IVA non valida
Ho avuto lo stesso problema con Magento 1.9.3.2 con installata la patch php7.2
Ho installato il php_soap
Io utilizzo cpanel quindi mi è stato sufficiente abilitarlo.
La guida che mi ha illuminato è questa:
Magento EU VAT tax validation fails, customer group change not applied