[Dati Fatture - Spesometro 2017]

di il
2442 risposte

2442 Risposte - Pagina 144

  • Re: [Dati Fatture - Spesometro 2017]

    sivy_mu ha scritto:


    Ragazzi!
    grazie a tutti da una alle prime armi come me...
    io ho ancora qualche problema:
    1-nel DTR numero registrazione posso mantenere anche / es: 24/17?
    2-Detraibile e deducibile mi manda in confusione nel DTR... sbaglio se essendo dati facoltativi non li metto in generale e li metto solo in alcuni casi specifici?
    3-il numero progressivo (riga 4) è per invio e si completa in automatico al momento della firma e dell'invio?
    4- Nel DTE SE INDICO CODICE TD04 (ritenuta acconto) l'importo che dovrebbe essere negativo lo indico positivo tanto è già il codice che mi da che appunto è ritenuto (come anche detto in un post da Neapolis)
    GRAZIE A TUTTI SIETE STATI PREZIOSISSIMI!
    oggi provo l'invio (dopo un weekend di DTE e DTR!!!)
    1-Vuoi dire numero documento? Nelle specifiche consigliano di riportare solo lettere e numeri però in una FAQ dicono che questa soluzione non è vincolante.
    2-La detraibilità e deducibilità si riferiscono al costo presente sulla registrazione. Nel mio gestionale era un problema reperire in questa fase tale informazione. Ad ogni modo sono dati opzionali e io non li ho valorizzati mai.
    3-Intendi i tag <ProgressivoInvio>? Se è questo che intendi lo devi valorizzate te, se vuoi. E' comunque opzionale.
    4-Intendi nota di credito, non ritenuta acconto. In questo caso è corretto quello che hai scritto relativamente al segno degli importi.
  • Re: [Dati Fatture - Spesometro 2017]

    marcOpera ha scritto:


    Interrogare il VIES
    Questo è uno snippet del codice che uso io in C++ per interrogare il servizio web ufficiale del VIES:
    ...
    Grazie, molto utile.

    Posto codice in vecchio vb6 usando INET control (MSINET.Ocx) .
    Su form semplice, messo controllo INET di nome INet1, poi 2 text box una per nazione di nome txtNAZ (max 2 char) e uno per VAT di nome txtVAT e poi un semplice pulsante di nome Command
    codice del pulsante:
    Private Sub Command_Click()       
    Dim l_Sql As String, l_Url As String
    
      If Len("" & txtNAZ.Text) < 2 Then Exit Sub
      If Len("" & txtVAT.Text) < 2 Then Exit Sub
    
      l_Url = "http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
      l_Sql = "<soapenv:Envelope"
      l_Sql = l_Sql & " xmlns:soapenv=" & Chr$(34) & "http://schemas.xmlsoap.org/soap/envelope/" & Chr$(34) & ""
      l_Sql = l_Sql & " xmlns:urn=" & Chr$(34) & "urn:ec.europa.eu:taxud:vies:services:checkVat:types" & Chr$(34) & ">"
      l_Sql = l_Sql & "  <soapenv:Header/>"
      l_Sql = l_Sql & "  <soapenv:Body>"
      l_Sql = l_Sql & "    <urn:checkVat>"
      l_Sql = l_Sql & "      <urn:countryCode>" & Left$(txtNAZ.Text, 2) & "</urn:countryCode>"
      l_Sql = l_Sql & "      <urn:vatNumber>" & txtVAT.Text & "</urn:vatNumber>"
      l_Sql = l_Sql & "    </urn:checkVat>"
      l_Sql = l_Sql & "  </soapenv:Body>"
      l_Sql = l_Sql & "</soapenv:Envelope>" & vbCrLf
      Inet1.RemoteHost = l_Url
      Inet1.Protocol = icHTTP
      Inet1.RequestTimeout = 10000
      Inet1.Execute l_Url, "POST", l_Sql, "SOAPAction: " & Chr$(34) & Chr$(34) & vbCrLf
    
    Codice evento change del INet1 con recupero name e address:
    Private Sub Inet1_StateChanged(ByVal State As Integer)
      Dim l_Str As String, l_name As String, l_addr As String, l_pos As Integer
      Select Case State
        Case 11: Debug.Print "icError............: Si è verificato un errore nella comunicazione con il PC host."
        Case 12: Debug.Print "icResponseCompleted: La richiesta è stata completata con successo."
          l_Str = Inet1.GetChunk(600)
          If InStr(l_Str, "<valid>true</valid>") > 0 Then
            l_pos = InStr(l_Str, "<name>")
            If l_pos > 0 Then
              l_name = Mid$(l_Str, l_pos + Len("<name>"))
              l_pos = InStr(l_name, "</name>")
              If l_pos > 0 Then l_name = Mid$(l_name, 1, l_pos - 1)
            End If
            l_pos = InStr(l_Str, "<address>")
            If l_pos > 0 Then
              l_addr = Mid$(l_Str, l_pos + Len("<address>"))
              l_pos = InStr(l_addr, "</address>")
              If l_pos > 0 Then l_addr = Mid$(l_addr, 1, l_pos - 1)
            End If
            MsgBox "Valido:" & vbCrLf & l_name & vbCrLf & l_addr
          Else
            MsgBox "NON valido!"
          End If
          'Debug.Print l_Str
      End Select
    End Sub
    Provato con alcuni VAT tedeschi e funziona, non sempre da name e address (dipende se il proprietario del VAT non vuole pubblici questi dati)
    Per VAT italiani funziona...ma: Di alcuni miei clienti okay, il mio -> NO (attivo dal 1996 !! ) Forse il mo VAT non è attivo per operazioni intracomunitarie ?!?
    Quando si controlla su AdE PIVA italiana, c'e' avviso:
    "ATTENZIONE - Per verificare se la partita Iva è di un soggetto autorizzato ad effettuare operazioni intracomunitarie deve essere utilizzato il servizio Controllo partite Iva comunitarie (Vies)."
  • Re: [Dati Fatture - Spesometro 2017]

    Buongiorno tutti,
    mi sembra di vedere la luce in fondo al tunnel, ma prima del 16 so che non potrò rilassarmi. Più di 60 clienti con in alcuni casi anche 70 file da inviare. Sono un po' provata.
    Quello che mi ha messo maggiormente in difficoltà e che mi ha stressato è il fatto che a mio parere L'AdE poteva gestire meglio le accettazioni o meno dei file.
    Non era più semplice dire : flussi non accettati per errori nel file x, y e z, piuttosto che accettarne 10 e scartarne 15?
    L'utente cancellava semplicemente i file inviati, rielaborava e reinviava. Così c'è la difficoltà di tenere fuori quello che si è già inviato.
    Mi chiedo per il prossimo semestre a vostro parere ci sarà un software di controllo pubblico magari integrato con il controllo delle PIVA cessate o errate? Visto che gli scarti dipendono praticamente solo da quello?
    Che senso ha tutta questa enorme fatica che tocca a noi e ai clienti?
    Il vecchio spesometro era una passeggiata di salute
  • Re: [Dati Fatture - Spesometro 2017]

    nid69ita ha scritto:


    marcOpera ha scritto:


    Interrogare il VIES
    Questo è uno snippet del codice che uso io in C++ per interrogare il servizio web ufficiale del VIES:
    ...
    Grazie, molto utile.

    Posto codice in vecchio vb6 usando INET control (MSINET.Ocx) .
    ......

    Provato con alcuni VAT tedeschi e funziona...."
    Ottimo lavoro e grazie per averlo condiviso. Penso che lo implementerò nel mio vecchio VB6.
  • Re: [Dati Fatture - Spesometro 2017]

    Sempre a proposito di VIES

    Forse sarebbe meglio implementare anche il controllo di un tag che viene restituito solo in caso di errori vari del servizio, ovvero <faultstring></faultstring>.

    Può contenere i seguenti valori:
  • Re: [Dati Fatture - Spesometro 2017]

    Ormai siamo decisamente [OFFTOPIC]

    Sempre a proposito del VIES, ho chiesto al servizio di assistenza se ci fossero delle limitazioni sul numero di richieste che un utente possa fare,
    mi hanno risposto di no.
    Vi riporto la risposta ufficiale, tradotta con google: (...in rosso il periodo principale...)

    Caro utente,
    Grazie per aver contattato la squadra VIESWEB.
    Sfruttando questa opportunità, ci permetti di chiarire alcune funzioni del VIES-on-the-Web (VoW).
    L'applicazione VoW (effettivamente l'intero sistema VIES) opera sulla base di scambi in tempo reale. Ogni richiesta di convalida inviata a VoW viene inoltrata in tempo reale al sistema VIES nazionale dell'amministrazione interessata. Mettere insieme
    Questo sistema nazionale esegue la convalida contro la propria banca dati nazionale e fornisce il risultato a VoW, che lo visualizza. Se la parte nazionale di VIES non è disponibile, otterrai una risposta corrispondente (si può anche fare riferimento a http://ec.europa.eu/taxation_customs/vies/help.htm).
    Il sistema web VIES è progettato per singole richieste. Poiché non esiste un database web centrale, la risposta dal database nazionale corrispondente potrebbe variare da 1 a qualche secondo.
    Non esiste limiti specifici per il numero di richieste che un operatore può presentare per giorno / settimana.
    Se utilizzi correttamente il VoW, solo per gli scopi aziendali, il sistema consente migliaia di richieste al giorno: è sufficiente che praticamente tutti i nostri utenti regolari continuino senza problemi.
    Si prega inoltre di considerare la disclaimer trovata all'indirizzo http://ec.europa.eu/taxation_customs/vies/viesdisc.d e le informazioni sul sito http://ec.europa.eu/taxation_customs/vies/faqvies.do#item16
    Tuttavia, vi è una limitazione sulle richieste concorrenti gestite da VoW. Esiste un numero massimo di richieste concorrenti che il sistema può gestire. Se il sistema riceve una nuova richiesta e viene raggiunto il numero massimo di richieste concorrenti, la richiesta viene rifiutata.
    Il numero massimo di richieste concorrenti non è collegato ad un determinato IP. È un conteggio globale in tutti gli utenti.
    Su richiesta, però, da alcune Amministrazioni nazionali, purtroppo, non possiamo rivelare l'esatto livello delle soglie in VoW.
    Ogni volta che esiste un problema simile, il nostro team tecnico esegue un'analisi in stretto contatto con tutte le parti coinvolte, per identificare la causa principale che crea problemi di temporanea mancanza di disponibilità.
    Vi preghiamo di contattarci se avete ulteriori problemi.
    Cordiali saluti
  • Re: [Dati Fatture - Spesometro 2017]

    [Neapolis] ha scritto:


    Ormai siamo decisamente [OFFTOPIC]
    Eh, insomma... quanti di voi, prima del famigerato Casinometro 2017 hanno mai sentito l'impellente desiderio di collegarsi a database comunitari per verificare il VAT Identifier di Clienti o Fornitori stranieri?

    Tra l'altro, nella risposta che ti hanno dato risulta che il servizio web del VIES è solo un aggregatore, poiché interroga i database nazionali, tra i quali anche il nostro. Chissà se un domani o un dopodomani, magari - bontà loro - prima del prossimo invio del Casinometro, i nostri aguzzini si degneranno di estendere la funzionalità di controllo a tutte le PIva ed i CodFisc nazionali... (dov'è l'emoticon che incrocia le dita?)

    Ciao, Marco
  • Re: [Dati Fatture - Spesometro 2017]

    marcOpera ha scritto:


    Sempre a proposito di VIES

    Forse sarebbe meglio implementare anche il controllo di un tag che viene restituito solo in caso di errori vari del servizio, ovvero <faultstring></faultstring>.

    Può contenere i seguenti valori:
    Qualcosa avevo fatto in powershell un po' di anni, però mai finito
    Gestivo anche gli errori, se trovo lo posto questa sera stessa
  • Re: [Dati Fatture - Spesometro 2017]

    [Neapolis] ha scritto:


    Ormai siamo decisamente [OFFTOPIC]

    Sempre a proposito del VIES, ho chiesto al servizio di assistenza se ci fossero delle limitazioni sul numero di richieste che un utente possa fare,
    mi hanno risposto di no.
    Vi riporto la risposta ufficiale, tradotta con google: (...in rosso il periodo principale...)

    Caro utente,
    Grazie per aver contattato la squadra VIESWEB.
    Sfruttando questa opportunità, ci permetti di chiarire alcune funzioni del VIES-on-the-Web (VoW).
    L'applicazione VoW (effettivamente l'intero sistema VIES) opera sulla base di scambi in tempo reale. Ogni richiesta di convalida inviata a VoW viene inoltrata in tempo reale al sistema VIES nazionale dell'amministrazione interessata. Mettere insieme
    Questo sistema nazionale esegue la convalida contro la propria banca dati nazionale e fornisce il risultato a VoW, che lo visualizza. Se la parte nazionale di VIES non è disponibile, otterrai una risposta corrispondente (si può anche fare riferimento a http://ec.europa.eu/taxation_customs/vies/help.htm).
    Il sistema web VIES è progettato per singole richieste. Poiché non esiste un database web centrale, la risposta dal database nazionale corrispondente potrebbe variare da 1 a qualche secondo.
    Non esiste limiti specifici per il numero di richieste che un operatore può presentare per giorno / settimana.
    Se utilizzi correttamente il VoW, solo per gli scopi aziendali, il sistema consente migliaia di richieste al giorno: è sufficiente che praticamente tutti i nostri utenti regolari continuino senza problemi.
    Si prega inoltre di considerare la disclaimer trovata all'indirizzo http://ec.europa.eu/taxation_customs/vies/viesdisc.d e le informazioni sul sito http://ec.europa.eu/taxation_customs/vies/faqvies.do#item16
    Tuttavia, vi è una limitazione sulle richieste concorrenti gestite da VoW. Esiste un numero massimo di richieste concorrenti che il sistema può gestire. Se il sistema riceve una nuova richiesta e viene raggiunto il numero massimo di richieste concorrenti, la richiesta viene rifiutata.
    Il numero massimo di richieste concorrenti non è collegato ad un determinato IP. È un conteggio globale in tutti gli utenti.
    Su richiesta, però, da alcune Amministrazioni nazionali, purtroppo, non possiamo rivelare l'esatto livello delle soglie in VoW.
    Ogni volta che esiste un problema simile, il nostro team tecnico esegue un'analisi in stretto contatto con tutte le parti coinvolte, per identificare la causa principale che crea problemi di temporanea mancanza di disponibilità.
    Vi preghiamo di contattarci se avete ulteriori problemi.
    Cordiali saluti
    Dunque Funziona solo per partite ive registrate per eseguire operazioni intracomunitarie ? E' una grossa limitazione.
    Grazie per le risposte
  • Re: [Dati Fatture - Spesometro 2017]

    sav ha scritto:


    [Neapolis] ha scritto:


    Ormai siamo decisamente [OFFTOPIC]

    Sempre a proposito del VIES, ho chiesto al servizio di assistenza se ci fossero delle limitazioni sul numero di richieste che un utente possa fare,
    mi hanno risposto di no.
    Vi riporto la risposta ufficiale, tradotta con google: (...in rosso il periodo principale...)

    Caro utente,
    Grazie per aver contattato la squadra VIESWEB.
    Sfruttando questa opportunità, ci permetti di chiarire alcune funzioni del VIES-on-the-Web (VoW).
    L'applicazione VoW (effettivamente l'intero sistema VIES) opera sulla base di scambi in tempo reale. Ogni richiesta di convalida inviata a VoW viene inoltrata in tempo reale al sistema VIES nazionale dell'amministrazione interessata. Mettere insieme
    Questo sistema nazionale esegue la convalida contro la propria banca dati nazionale e fornisce il risultato a VoW, che lo visualizza. Se la parte nazionale di VIES non è disponibile, otterrai una risposta corrispondente (si può anche fare riferimento a http://ec.europa.eu/taxation_customs/vies/help.htm).
    Il sistema web VIES è progettato per singole richieste. Poiché non esiste un database web centrale, la risposta dal database nazionale corrispondente potrebbe variare da 1 a qualche secondo.
    Non esiste limiti specifici per il numero di richieste che un operatore può presentare per giorno / settimana.
    Se utilizzi correttamente il VoW, solo per gli scopi aziendali, il sistema consente migliaia di richieste al giorno: è sufficiente che praticamente tutti i nostri utenti regolari continuino senza problemi.
    Si prega inoltre di considerare la disclaimer trovata all'indirizzo http://ec.europa.eu/taxation_customs/vies/viesdisc.d e le informazioni sul sito http://ec.europa.eu/taxation_customs/vies/faqvies.do#item16
    Tuttavia, vi è una limitazione sulle richieste concorrenti gestite da VoW. Esiste un numero massimo di richieste concorrenti che il sistema può gestire. Se il sistema riceve una nuova richiesta e viene raggiunto il numero massimo di richieste concorrenti, la richiesta viene rifiutata.
    Il numero massimo di richieste concorrenti non è collegato ad un determinato IP. È un conteggio globale in tutti gli utenti.
    Su richiesta, però, da alcune Amministrazioni nazionali, purtroppo, non possiamo rivelare l'esatto livello delle soglie in VoW.
    Ogni volta che esiste un problema simile, il nostro team tecnico esegue un'analisi in stretto contatto con tutte le parti coinvolte, per identificare la causa principale che crea problemi di temporanea mancanza di disponibilità.
    Vi preghiamo di contattarci se avete ulteriori problemi.
    Cordiali saluti
    Dunque Funziona solo per partite ive registrate per eseguire operazioni intracomunitarie ? E' una grossa limitazione.
    Grazie per le risposte
    Ho provato con diverse partite iva e mi riconosce come valide solo quelle legittimate ad eseguire operazioni intra
  • Re: [Dati Fatture - Spesometro 2017]

    nid69ita ha scritto:


    marcOpera ha scritto:


    Interrogare il VIES
    Questo è uno snippet del codice che uso io in C++ per interrogare il servizio web ufficiale del VIES:
    ...
    Grazie, molto utile.

    Posto codice in vecchio vb6 usando INET control (MSINET.Ocx) .
    Su form semplice, messo controllo INET di nome INet1, poi 2 text box una per nazione di nome txtNAZ (max 2 char) e uno per VAT di nome txtVAT e poi un semplice pulsante di nome Command
    codice del pulsante:
    Private Sub Command_Click()       
    Dim l_Sql As String, l_Url As String
    
      If Len("" & txtNAZ.Text) < 2 Then Exit Sub
      If Len("" & txtVAT.Text) < 2 Then Exit Sub
    
      l_Url = "http://ec.europa.eu/taxation_customs/vies/services/checkVatService"
      l_Sql = "<soapenv:Envelope"
      l_Sql = l_Sql & " xmlns:soapenv=" & Chr$(34) & "http://schemas.xmlsoap.org/soap/envelope/" & Chr$(34) & ""
      l_Sql = l_Sql & " xmlns:urn=" & Chr$(34) & "urn:ec.europa.eu:taxud:vies:services:checkVat:types" & Chr$(34) & ">"
      l_Sql = l_Sql & "  <soapenv:Header/>"
      l_Sql = l_Sql & "  <soapenv:Body>"
      l_Sql = l_Sql & "    <urn:checkVat>"
      l_Sql = l_Sql & "      <urn:countryCode>" & Left$(txtNAZ.Text, 2) & "</urn:countryCode>"
      l_Sql = l_Sql & "      <urn:vatNumber>" & txtVAT.Text & "</urn:vatNumber>"
      l_Sql = l_Sql & "    </urn:checkVat>"
      l_Sql = l_Sql & "  </soapenv:Body>"
      l_Sql = l_Sql & "</soapenv:Envelope>" & vbCrLf
      Inet1.RemoteHost = l_Url
      Inet1.Protocol = icHTTP
      Inet1.RequestTimeout = 10000
      Inet1.Execute l_Url, "POST", l_Sql, "SOAPAction: " & Chr$(34) & Chr$(34) & vbCrLf
    
    Codice evento change del INet1 con recupero name e address:
    Private Sub Inet1_StateChanged(ByVal State As Integer)
      Dim l_Str As String, l_name As String, l_addr As String, l_pos As Integer
      Select Case State
        Case 11: Debug.Print "icError............: Si è verificato un errore nella comunicazione con il PC host."
        Case 12: Debug.Print "icResponseCompleted: La richiesta è stata completata con successo."
          l_Str = Inet1.GetChunk(600)
          If InStr(l_Str, "<valid>true</valid>") > 0 Then
            l_pos = InStr(l_Str, "<name>")
            If l_pos > 0 Then
              l_name = Mid$(l_Str, l_pos + Len("<name>"))
              l_pos = InStr(l_name, "</name>")
              If l_pos > 0 Then l_name = Mid$(l_name, 1, l_pos - 1)
            End If
            l_pos = InStr(l_Str, "<address>")
            If l_pos > 0 Then
              l_addr = Mid$(l_Str, l_pos + Len("<address>"))
              l_pos = InStr(l_addr, "</address>")
              If l_pos > 0 Then l_addr = Mid$(l_addr, 1, l_pos - 1)
            End If
            MsgBox "Valido:" & vbCrLf & l_name & vbCrLf & l_addr
          Else
            MsgBox "NON valido!"
          End If
          'Debug.Print l_Str
      End Select
    End Sub
    Provato con alcuni VAT tedeschi e funziona, non sempre da name e address (dipende se il proprietario del VAT non vuole pubblici questi dati)
    Per VAT italiani funziona...ma: Di alcuni miei clienti okay, il mio -> NO (attivo dal 1996 !! ) Forse il mo VAT non è attivo per operazioni intracomunitarie ?!?
    Quando si controlla su AdE PIVA italiana, c'e' avviso:
    "ATTENZIONE - Per verificare se la partita Iva è di un soggetto autorizzato ad effettuare operazioni intracomunitarie deve essere utilizzato il servizio Controllo partite Iva comunitarie (Vies)."
    Ho provato con diverse partite iva e riconosce solo quelle abilitate all'intra.
  • Re: [Dati Fatture - Spesometro 2017]

    Eccolo
    L'idea era quella di passare come parametro il codice fiscale completo tipo IT01234567890, anche con ISO minuscolo e spazi intermedi tipo it 0123456 789 0 (la fantasia di chi registra non ha limiti!!)
    Poi, considerato che chi lavora con la CEE gestisce[VA] INTRA, è già di suo molto attento e verifica ogni volta la correttezza dei codici, sul sito VIES non sono presenti tutte le P.IVA italiane... è andata che la cosa è stata sepolta e mai più implementata.
    Potete ben vedere che è ancora in fase di prova, NON è testata al 100% BTW qualunque critica/aiuto è ben accetta!
    Sembra funzionare bene, ma sempre avuto qualche problema con la Grecia, non sempre risponde bene.
    Nella gestione errori solo due casistiche di errore sono state testate le altre non mi sono capitate. ma dovrebbe funzionare.
    Una cosa che avevo in mente di fare da implementare negl'errori è quella di controllare se la connessione internet è attiva e poi la verifica del sito ec.....
    Param(
    [string]$Codice
    )
    
    Function chkvar { param ([string] $s, [string] $a)
        
            if ($s -eq "System.Xml.XmlElement")
            {
                $s = " "
            }
            if ($s -eq "3")
            {
                $s = " "
            }
    
            $b = $s.GetType().Fullname
            if ($b -eq "System.String") 
            { 
                if ($s) 
                { 
    	            $s = $s.Trim()
            	    ($a + " " + $s) | Add-Content $tempFile    
                }
            }
            else
            {
                Clear-Variable $s
            }
            return $s
        }
                    ######################################
                    # da togliere 
                      Clear-Host
    		# $Codice = "ESB50755503"
                    # $Codice = "it00159560366"
                    # $Codice = "pt502079215"
                    # $Codice = "EL800776664"
                     $Codice = "gb322 1602 14"
                    # $Codice = "DE811115368"
                    ######################################
    
    # file temporaneo, cancello precedente
    $tempFile = "$env:temp\file.txt"  	
    Remove-Item $tempFile -Force -ErrorAction Ignore	 
    
    # Verifica lunghezza parametro
    if (($codice.length) -lt 5) { break }
    
    $Codice = $Codice.ToUpper()
    $Codice = $Codice.Trim()
    $Codice = $Codice.Replace(" ","")
    
    $country = $Codice.Substring(0,2)
    $vatNumber = $Codice.TrimStart($country)
    $uriSoap = 'http://ec.europa.eu/taxation_customs/vies/services/checkVatService'
    # aggiunto 09/10/2017 - Thanks Lola_Lo
    if ($country -eq "GR") { $country = "EL"}
    
    ###
    	$xmlSoap = '<?xml version="1.0" encoding="UTF-8"?> 
    		<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:ec.europa.eu:taxud:vies:services:checkVat:types"> 
    		<soapenv:Header/> 
     		<soapenv:Body> 
     		    <urn:checkVatApprox> 
     		        <urn:countryCode>{0}</urn:countryCode> 
     		        <urn:vatNumber>{1}</urn:vatNumber> 
     		    </urn:checkVatApprox> 
     		</soapenv:Body>' -f $country, $vatnumber 
     	$SoapRead = Invoke-WebRequest -Method Post -Uri $uriSoap -Body $xmlSoap # -OutFile $tempFile
      
        # Gestione errore
        $s_faultcode 	 = ($SoapRead -as [XML]).Envelope.Body.Fault.faultcode
        $s_faultstring = ($SoapRead -as [XML]).Envelope.Body.Fault.faultstring
        
        if ($s_faultcode) 
        {   ( "ERRORE!! Codice " + $s_faultcode) | Set-Content $tempFile 
            ( "ERRORE!! Stringa " + $s_faultstring) | Add-Content $tempFile        
            switch ($s_faultstring) 
            {  
    	"INVALID_INPUT"		{ "Nota: Partita IVA e/o Stato membro sono inesatti" | Add-Content $tempFile }                # ok
    	"SERVICE_UNAVAILABLE"	{ "Nota: Servizio attualmente non disponibile." | Add-Content $tempFile }
    	"MS_UNAVAILABLE"		{ "Nota: Servizio attualmente non disponibile nello Stato membro." | Add-Content $tempFile }  # ok
    	"TIMEOUT"				{ "Nota: Tempo della richiesta scaduto. Si prega di riprovare." | Add-Content $tempFile }
    	"SERVER_BUSY"			{ "Nota: Impossibile soddisfare attualmente la richiesta." | Add-Content $tempFile }
            }
                    ######################################
                    # da togliere 
                     $s_faultcode
                     $s_faultstring 
                    ######################################
    
            break
        }
     
    	# Ogni tanto (spesso) arrivano dei line feed (LF) di troppo...
    	$SoapRead = $SoapRead | % { $_ -replace [char]0x000A, [char]0x0020 }
    	# Toglie spazi eccessivi
    	$SoapRead = $SoapRead | % { $_ -replace "  ", " " } 
         
     	$s_countryCode 	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.countryCode
    	$s_vatNumber 	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.vatNumber
    	$d_requestDate 	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.requestDate
    	$b_valid 	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.valid
    	$s_Name		= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderName
    	$s_CompanyType	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderCompanyType
    	$s_Address	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderAddress
    	$s_Street 	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderStreet
    	$s_Postcode	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderPostcode
    	$s_City 	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderCity
    	$s_NameM	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderNameMatch
    	$s_CompanyTypeM	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderCompanyTypeMatch
    	$s_StreetM	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderStreetMatch
    	$s_PostcodeM 	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderPostcodeMatch
    	$s_CityM	= ($SoapRead -as [XML]).envelope.body.checkVatApproxResponse.traderCityMatch
    
    	# scrive su %USERPROFILE%\AppData\Local\Temp\file.txt ($tempFile)
    	if ($b_valid) { ("Test "+$b_valid.Trim()) | Set-Content $tempFile } 
    	chkvar $s_countryCode "ISO"; $s_countryCode = $s
    	chkvar $s_vatNumber "CIF"; $s_vatNumber = $s
    	chkvar $s_Name "Nome"; $s_Name = $s
     	chkvar $s_CompanyType "Tipo"; $s_CompanyType = $s	
    	chkvar $s_Address "Ind."; $s_Address = $s
    	chkvar $s_Street "Ind." ; $s_Street = $s 	
    	chkvar $s_Postcode "CAP" ; $s_Postcode = $s
    	chkvar $s_City "City"; $s_City = $s
    	chkvar $s_NameM "Nome"; $s_NameM = $s
    	chkvar $s_CompanyTypeM "Tipo"; $s_CompanyTypeM = $s
    	chkvar $s_StreetM "Ind."; $s_StreetM = $s	
    	chkvar $s_PostcodeM "CAP"; $s_PostcodeM = $s
    	chkvar $s_CityM "City"; $s_CityM = $s
    
                  ######################################
                  # da togliere 
    		$b_valid 	
     		$d_requestDate
    		$s_countryCode
    		$s_vatNumber 
    		$s_Name
    		$s_CompanyType
    		$s_Address	
    		$s_Street 	
    		$s_Postcode 	
    		$s_City 	
    		$s_NameM	
    		$s_CompanyTypeM	
    		$s_StreetM	
    		$s_PostcodeM 	
    		$s_CityM	             
                  ######################################       
    LBNL Ringrazio tutti quanti per il supporto fornito
  • Re: [Dati Fatture - Spesometro 2017]

    Salve. Io ho inviato due volte lo stesso file con lo stesso nome in quanto nel primo invio mi diceva "file scartato". Ora ho la ricevuta del secondo invio accettato mentre nel primo è comparsa la dicitura "scartato Nome file duplicato". Sono apposto così o secondo voi devo fare altro ?
  • Re: [Dati Fatture - Spesometro 2017]

    Il primo è stato elaborato in un tempo successivo... Non c'è nulla da stupirsi
    Abbiamo già visto in altre occasioni che per SOGEI sarebbe troppo facile lavorare first-come-first-served, il buon senso, più che la logica, porterebbe a ragionare così, ma loro debbono distinguersi.
    A volte mi ricordano quelli del LUCAS L'Ufficio Complicazione Affari Semplici.
  • Re: [Dati Fatture - Spesometro 2017]

    Grazie a tutti... Purtroppo non sono riuscita a partecipare attivamente alla discussione (sono stata troppo 'incasinata') ma spesso ho trovato proprio qui risposte a miei dubbi...
    Grandissimo lavoro. Grazie ancora..
Devi accedere o registrarti per scrivere nel forum
2442 risposte