Sprawdź status VAT i VIES
: śr sty 08, 2020 3:27 am
Witam,
Jestem osobą nową na forum ale chciałem zainteresować potencjalnych odbiorców ciekawej usługi dostępnej dla podatnik a działającej w plikach xml.
Sprawdź status VAT
"Zasady wymiany informacji pomiędzy usługą sieciową Sprawdź status VAT udostępnioną przez Ministerstwo Finansów, a oprogramowaniem interfejsowym systemów klienckich, pobierających informacje dotyczące statusu podatników jako płatników podatku VAT."
Podobne zasady informacji dotyczą usługi Sprawdź status VAT.
Niestety dostępny język kodu to makra w formacie VBA. Pytanie brzmi czy jest ktoś w stanie przepisać poniższy kod makra do OpenOffice?
1) VAT:
---------------------------------------------------------------------
Function Status_Platnika(NIP As String) As String
Dim objXml As Object
Dim Soap As String
Dim Kod As String
On Error GoTo Status_Platnika_Error
Set objXml = CreateObject("MSXML2.XMLHTTP")
Soap = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:ns='http://www.mf.gov.pl/uslugiBiznesowe/us ... 2018/03/01'>"
Soap = Soap & "<soapenv:Header/>"
Soap = Soap & "<soapenv:Body>"
Soap = Soap & "<ns:NIP>" & NIP & "</ns:NIP>"
Soap = Soap & "</soapenv:Body>"
Soap = Soap & "</soapenv:Envelope>"
With objXml
.Open "POST", "https://sprawdz-status-vat.mf.gov.pl/", False
.setRequestHeader "Accept-Language", "PL"
.setRequestHeader "soapAction", "http://www.mf.gov.pl/uslugiBiznesowe/us ... SprawdzNIP"
.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
.send (Soap)
While .readyState <> 4
DoEvents
Wend
Kod = VBA.Left(.responsexml.Text, 1)
End With
Select Case Kod
Case "N": Status_Platnika = "NIP nie jest zarejestrowany jako podatnik VAT"
Case "C": Status_Platnika = "NIP jest zarejestrowany jako podatnik VAT"
Case "Z": Status_Platnika = "NIP jest zarejestrowany jako podatnik VAT zwolniony"
Case "I": Status_Platnika = "NIP nieprawidłowy"
Case "D": Status_Platnika = "Błąd zapytania"
Case "X": Status_Platnika = "Usługa nieaktywna"
Case Else: Status_Platnika = "Nieokreślony błąd"
End Select
Set objXml = Nothing
On Error GoTo 0
Exit Function
Status_Platnika_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
End Function
---------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
2) VIES:
---------------------------------------------------------------------
Function Check_VIES(Kraj As String, Nip As String) As Boolean
Dim objXml As Object
Dim Soap As String
Set objXml = CreateObject("MSXML2.XMLHTTP")
Soap = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:urn='urn:ec.europa.eu:taxud:vies:services:checkVat:types'>"
Soap = Soap & "<soapenv:Header/>"
Soap = Soap & "<soapenv:Body>"
Soap = Soap & "<urn:checkVat>"
Soap = Soap & " <urn:countryCode>" & Kraj & "</urn:countryCode>"
Soap = Soap & " <urn:vatNumber>" & Nip & "</urn:vatNumber>"
Soap = Soap & " </urn:checkVat>"
Soap = Soap & "</soapenv:Body>"
Soap = Soap & "</soapenv:Envelope>"
With objXml
.Open "POST", "http://ec.europa.eu/taxation_customs/vi ... VatService", False
.send (Soap)
While .readyState <> 4: DoEvents: Wend
Check_VIES = Split(Split(.responseText, "<valid>")(1), "</valid>")(0)
End With
Set objXml = Nothing
End Function
Jestem osobą nową na forum ale chciałem zainteresować potencjalnych odbiorców ciekawej usługi dostępnej dla podatnik a działającej w plikach xml.
Sprawdź status VAT
"Zasady wymiany informacji pomiędzy usługą sieciową Sprawdź status VAT udostępnioną przez Ministerstwo Finansów, a oprogramowaniem interfejsowym systemów klienckich, pobierających informacje dotyczące statusu podatników jako płatników podatku VAT."
Podobne zasady informacji dotyczą usługi Sprawdź status VAT.
Niestety dostępny język kodu to makra w formacie VBA. Pytanie brzmi czy jest ktoś w stanie przepisać poniższy kod makra do OpenOffice?
1) VAT:
---------------------------------------------------------------------
Function Status_Platnika(NIP As String) As String
Dim objXml As Object
Dim Soap As String
Dim Kod As String
On Error GoTo Status_Platnika_Error
Set objXml = CreateObject("MSXML2.XMLHTTP")
Soap = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:ns='http://www.mf.gov.pl/uslugiBiznesowe/us ... 2018/03/01'>"
Soap = Soap & "<soapenv:Header/>"
Soap = Soap & "<soapenv:Body>"
Soap = Soap & "<ns:NIP>" & NIP & "</ns:NIP>"
Soap = Soap & "</soapenv:Body>"
Soap = Soap & "</soapenv:Envelope>"
With objXml
.Open "POST", "https://sprawdz-status-vat.mf.gov.pl/", False
.setRequestHeader "Accept-Language", "PL"
.setRequestHeader "soapAction", "http://www.mf.gov.pl/uslugiBiznesowe/us ... SprawdzNIP"
.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
.send (Soap)
While .readyState <> 4
DoEvents
Wend
Kod = VBA.Left(.responsexml.Text, 1)
End With
Select Case Kod
Case "N": Status_Platnika = "NIP nie jest zarejestrowany jako podatnik VAT"
Case "C": Status_Platnika = "NIP jest zarejestrowany jako podatnik VAT"
Case "Z": Status_Platnika = "NIP jest zarejestrowany jako podatnik VAT zwolniony"
Case "I": Status_Platnika = "NIP nieprawidłowy"
Case "D": Status_Platnika = "Błąd zapytania"
Case "X": Status_Platnika = "Usługa nieaktywna"
Case Else: Status_Platnika = "Nieokreślony błąd"
End Select
Set objXml = Nothing
On Error GoTo 0
Exit Function
Status_Platnika_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
End Function
---------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
2) VIES:
---------------------------------------------------------------------
Function Check_VIES(Kraj As String, Nip As String) As Boolean
Dim objXml As Object
Dim Soap As String
Set objXml = CreateObject("MSXML2.XMLHTTP")
Soap = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:urn='urn:ec.europa.eu:taxud:vies:services:checkVat:types'>"
Soap = Soap & "<soapenv:Header/>"
Soap = Soap & "<soapenv:Body>"
Soap = Soap & "<urn:checkVat>"
Soap = Soap & " <urn:countryCode>" & Kraj & "</urn:countryCode>"
Soap = Soap & " <urn:vatNumber>" & Nip & "</urn:vatNumber>"
Soap = Soap & " </urn:checkVat>"
Soap = Soap & "</soapenv:Body>"
Soap = Soap & "</soapenv:Envelope>"
With objXml
.Open "POST", "http://ec.europa.eu/taxation_customs/vi ... VatService", False
.send (Soap)
While .readyState <> 4: DoEvents: Wend
Check_VIES = Split(Split(.responseText, "<valid>")(1), "</valid>")(0)
End With
Set objXml = Nothing
End Function