partita iva / codice fiscale
Moderatore: mod Generali
partita iva / codice fiscale
se si registra una persona fisica, devo obbligatoriamente far inserire il CF, ma se si registra un'azienda (e nello specifico chi lavora all'ufficio acquisti), mi deve obbligatoriamente inserire la partita iva ...
insomma dovrei verificare che ci sia la p.iva SOLO se c'è il nome azienda e in questo caso non avere più il CF come obbligatorio ...
o no ?
nel caso qualcuno ha già avuto/risolto questo problema?
Re: partita iva / codice fiscale
Il CF in fattura a un privato non e' obbligatoriovarr98 ha scritto: se si registra una persona fisica, devo obbligatoriamente far inserire il CF,
Comunque credo che l'unica soluzione sia crare deu files distinti per la registrazione oppure una scelta prima di aprire la pagina
'iao
Sergio
http://www.semilandia.it
Sebbene possa non essere obbligatorio, la mia azienda vuole che in fattura risulti l'uno o l'altro, quindi suppongo che dovrò settare entrambi i campi come non obbligatori, mettere degli asterischi fittizzi oppure una riga di testo con un invito... e sperare nella comprensione dei clienti
Mah, ripeto, non capendone poco o nulla di php, immaginavo bastasse uan riga tipo IF codicefiscale AND partitaiva = vuoto THEN metti un messaggio d'allarme!
Si vede che non ne capisco un tubo??
Quello lo fa gia', quando abiliti l'obbligatorieta' fa un controllo. Qui il problema e' che bisogna capire a priori se chi si registra e' un privato oppure un'aziendaManah ha scritto:Grazie per la risposta, Bass!
Sebbene possa non essere obbligatorio, la mia azienda vuole che in fattura Mah, ripeto, non capendone poco o nulla di php, immaginavo bastasse uan riga tipo IF codicefiscale AND partitaiva = vuoto THEN metti un messaggio d'allarme!
'iao
Sergio
http://www.semilandia.it
Il controllo non lo fa.
Se rendo tutti e due i campi obbligatori, il cliente è obbligato a scriverli entrambi.
Se non li rendo obbligatori, il cliente è libero di non inserirne nemmeno uno e poi devo chiamarlo al telefono per farmelo dire!
Il discorso di capire se si tratta di un'azienda o meno è secondario.
-
- membro Regular
- Messaggi: 117
- Iscritto il: 06/06/2006, 13:34
- Località: Monopoli (BA)
- Contatta:
e l'ho modificata in modo tale che:
- il controllo venisse effettuato solo per i clienti che in fase di registrazione inseriscono "Italia" come stato (in realtà la p iva potrebbe servire anche all'estero, ma per ora l'ho cambiato così...).
- il CF fosse obbligatorio solo per chi NON inserisce la ragione sociale
- la P.IVA fosse obbligatoria solo per chi inserisce la ragione sociale (rendendo quindi non obbligatorio il campo del CF).
Ti riporto di seguito la procedura, purtroppo potrei dimenticare qualcosa perchè è una modifica fatta molto tempo fa.
- Intanto installa la contribution e in admin->customer details rendi attivi e obbligatori sia CF che P.IVA
Poi devi fare una serie di modifiche:
- nei due file configure.php (sia nel file in root/includes che in root/admin/includes) ho aggiunto questa riga:
Codice: Seleziona tutto
define('ZZZ_ITANUM', '105'); // codice dell'italia nelle select
- in address_book_process.php circa alla riga 70
sostituisci
Codice: Seleziona tutto
if (ACCOUNT_PIVA == 'true'){
Codice: Seleziona tutto
//modifico: PIVA richiesto solo se si inserisce l'azienda e l'ITALIA
if ((ACCOUNT_PIVA) == 'true' && ($company !="") && ($country== ZZZ_ITANUM)){
Codice: Seleziona tutto
if (ACCOUNT_CF == 'true') {
Codice: Seleziona tutto
//modifico: CF richiesto solo se NON si inserisce l'azienda
if ((ACCOUNT_CF == 'true') && ($company =="") && ($country== ZZZ_ITANUM)) {
Codice: Seleziona tutto
if (ACCOUNT_PIVA == 'true'){
Codice: Seleziona tutto
//modifico: PIVA richiesto solo se si inserisce l'azienda e l'ITALIA
if ((ACCOUNT_PIVA) == 'true' && ($company !="") && ($country== ZZZ_ITANUM)){
Codice: Seleziona tutto
if (ACCOUNT_CF == 'true') {
Codice: Seleziona tutto
//modifico: CF richiesto solo se NON si inserisce l'azienda
if ((ACCOUNT_CF == 'true') && ($company =="") && ($country== ZZZ_ITANUM)) {
Codice: Seleziona tutto
if (field_value == '' || field_value.length < field_size) {
error_message = error_message + "* " + message + "\n";
error = true;
}
Codice: Seleziona tutto
if (field_value == '' || field_value.length < field_size) {
if (field_name == 'cf') {
if (form.elements["country"].options[form.elements["country"].selectedIndex].text=="Italia" && form.elements["company"].value==""){
error_message = error_message + "* " + message +"\n";
error = true;
}
} else if (field_name == 'piva') {
if (form.elements["country"].options[form.elements["country"].selectedIndex].text=="Italia" && form.elements["company"].value!=""){
error_message = error_message + "* " + message +"\n";
error = true;
}
} else {
error_message = error_message + "* " + message +"\n";
error = true;
}
}
circa alla riga 125 sostituisci (sembra un errore di ortografia...)
Codice: Seleziona tutto
<?php if (ACCOUNT_PIVA_REQ == 'true') echo ' check_input("pivae", 0, "' . ENTRY_PIVA_ERROR . '");' . "\n"; ?>
Codice: Seleziona tutto
<?php if (ACCOUNT_PIVA_REQ == 'true') echo ' check_input("piva", 0, "' . ENTRY_PIVA_ERROR . '");' . "\n"; ?>
Codice: Seleziona tutto
define('ENTRY_PIVA', 'Parita Iva:');
define('ENTRY_PIVA_ERROR', 'Numero di Partita Iva non corretto.');
define('ENTRY_PIVA_TEXT', '* Obbligatorio per le aziende italiane');
define('ENTRY_CF', 'Codice Fiscale:');
define('ENTRY_CF_TEXT', '* Obbligatorio per i privati italiani');
define('ENTRY_CF_ERROR', 'Codice Fiscale non corretto.');
Codice: Seleziona tutto
if (document.customers.elements['entry_cf'].value == "") {
Codice: Seleziona tutto
//modificato: CF richiesto solo per privati italiani
if (document.customers.elements['entry_cf'].value == "" && document.customers.entry_country_id.options[document.customers.entry_country_id.selectedIndex].text=="Italia" && document.customers.elements['entry_company'].value=="") {
Codice: Seleziona tutto
define('ENTRY_PIVA', 'Partita IVA:');
define('ENTRY_CF', 'Codice Fiscale:');
define('JS_PIVA', 'La Partita IVA è obbligatoria per le aziende italiane\n');
define('JS_CF', 'Il codice fiscale è obbligatorio per i privati italiani\n');
Ciao
Nadia
www.maipiusenza.com
E' quello che intendevo dire, il codice c'e' gia' se e' obbligatorio controlla se il campo e' vuoto se non lo e' non lo controllaManah ha scritto:No Bass, scusa se mi permetto.
Il controllo non lo fa.
Se rendo tutti e due i campi obbligatori, il cliente è obbligato a scriverli entrambi.
Se non li rendo obbligatori, il cliente è libero di non inserirne nemmeno uno e poi devo chiamarlo al telefono per farmelo dire!
Non credo sia secondario, come hai detto tu nel primo post devi distinguere se e' un'azienda o meno. Prova a vedere la procedura di registrazione di http://www.extraitaly.it e capisci cosa intendoIl discorso di capire se si tratta di un'azienda o meno è secondario.
'iao
Sergio
http://www.semilandia.it
E poi ti confermo che il controllo sulla partita iva ed il codice fiscale li fa anche se non sono settati come obbligatori da admin!
@Maipiusenza: Forte! Provo il codice e ti fo' sapere.
p.s.: il tuo sito è una figata (ed anche ciò che vendi)!
Certo, fa un controllo sulla validita', non sul campo obbligatorio. Ah, occhio che il controllo dell'IVA vale solo per l'italiaManah ha scritto:@Bass:
E poi ti confermo che il controllo sulla partita iva ed il codice fiscale li fa anche se non sono settati come obbligatori da admin!
'iao
Sergio
http://www.semilandia.it
Inizialmente ho pensato fosse più corretto disattivare il controllo dell'immissione dell'azienda, perché in effetti posso avere una partita iva senza possedere un'azienda, quindi questo check è superfluo, giusto?
Poi ho pensato fosse più opportuno un messaggio più specifico che (ovviamente) non mensioni il c.f., ma che ricordi all'utente di inserire comunque il suo nome e cognome nel campo dell'azienda, che ho ribatezzato "ragione sociale", per evitare dimenticanze nel caso si trattasse, invece, di una ditta che scorda di inserire il suo nome per fatturare.
A questo punto, su quali righe intervengo per creare un messaggio ad hoc?
-
- membro Regular
- Messaggi: 117
- Iscritto il: 06/06/2006, 13:34
- Località: Monopoli (BA)
- Contatta:
In teoria potremmo mettere anche un controllo se uno ha inserito sia CF che P.IVA ma non la ragione sociale, ma per il momento l'ho evitato perchè si presuppone che se uno sta inserendo il CF, è con quello che desidera la fattura. Un ulteriore msg di errore sarebbe in discordanza con l'ipotesi che è obbligatorio uno solo dei due campi.
Fatte queste modifiche ho notato un piccolo problema: nell'area riservata, se un utente vuole cambiare i dati dell'account, si trova un form che chiede solo i dati personali con CF, la partita iva è nella pagina di modifica degli indirizzi. Se uno fa una modifica in questa pagina, è costretto a inserire il CF. Bisognerebbe aggiungere un IF in account_edit.php e verificare che se l'utente è registrato con p.IVA non va richiesto il CF. Come detto in precedenza, non ho grandi conoscenze di php e non so come recuperare la var della p.Iva dal DB senza fare danni (es. lasciare connessioni aperte o roba del genere). Se qualcuno è in grado di cambiare questa pagina forse risuciamo a sistemare bene la questione di CF e P.iva.
Ecco le modifiche:
Aggiungere/modificare in includes/languages/italian.php (duplicare per le altre lingue)
Codice: Seleziona tutto
define('ENTRY_PIVA_ERROR', 'Numero di Partita Iva assente o non corretto.');
define('ENTRY_CF_ERROR', 'Codice Fiscale assente o non corretto.');
define('ENTRY_PIVA_NONAME', 'Inserire la Ragione Sociale o il Codice Fiscale');
Codice: Seleziona tutto
function check_input(field_name, field_size, message) {
Codice: Seleziona tutto
function check_input(field_name, field_size, message,altMsg) {
Codice: Seleziona tutto
if (field_name == 'cf') {
if (form.elements["country"].options[form.elements["country"].selectedIndex].text=="Italia" && form.elements["company"].value==""){
error_message = error_message + "* " + message +"\n";
error = true;
}
Codice: Seleziona tutto
if (field_name == 'cf') {
if (form.elements["country"].options[form.elements["country"].selectedIndex].text=="Italia" && form.elements["company"].value==""){
if (form.elements["piva"].value==""){
error_message = error_message + "* " + message +"\n";
} else {
error_message = error_message + "* " + altMsg +"\n";
}
error = true;
}
Codice: Seleziona tutto
<?php if (ACCOUNT_CF_REQ == 'true') echo ' check_input("cf", 0, "' . ENTRY_CF_ERROR . '");' . "\n"; ?>
Codice: Seleziona tutto
<?php if (ACCOUNT_CF_REQ == 'true') echo ' check_input("cf", 0, "' . ENTRY_CF_ERROR . '","' . ENTRY_PIVA_NONAME . '");' . "\n"; ?>
Nadia
P.S. Grazie per i complimenti al sito, spero a breve di metterne on line una versione con css layout.
www.maipiusenza.com
Se non inserisco né codice fiscale né p.iva ottengo solo l'errore per il primo.
Se metto solo la partita iva, ottengo sempre l'errore del codice fiscale!
Sbaglio qualcosa? Ma da te funziona, immagino...