Visual Basic 6.0 HMRC VAT MTD: View VAT Return

Back to Index

Retrieve a previously submitted VAT return. This example retrieves the VAT return with period key "A001".

Documentation: https://developer.service.hmrc.gov.uk/api-documentation/docs/api/service/vat-api/1.0#_view-vat-return_get_accordion

CURL Command

curl -X GET  https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/returns/A001 \
-H 'Authorization: Bearer HMRC_ACCESS_TOKEN' \
-H 'Accept: application/vnd.hmrc.1.0+json'

Visual Basic 6.0 Example

Dim rest As New ChilkatRest
Dim success As Long

'  URL: https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/returns/A001
Dim bTls As Long
bTls = 1
Dim port As Long
port = 443
Dim bAutoReconnect As Long
bAutoReconnect = 1
success = rest.Connect("test-api.service.hmrc.gov.uk",port,bTls,bAutoReconnect)
If (success <> 1) Then
    Debug.Print "ConnectFailReason: " & rest.ConnectFailReason
    Debug.Print rest.LastErrorText
    Exit Sub
End If

success = rest.AddHeader("Authorization","Bearer HMRC_ACCESS_TOKEN")
success = rest.AddHeader("Accept","application/vnd.hmrc.1.0+json")

Dim sbResponseBody As New ChilkatStringBuilder
success = rest.FullRequestNoBodySb("GET","/organisations/vat/MY_HMRC_VRN/returns/A001",sbResponseBody)
If (success <> 1) Then
    Debug.Print rest.LastErrorText
    Exit Sub
End If

Dim respStatusCode As Long
respStatusCode = rest.ResponseStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Status Code = " & respStatusCode
    Debug.Print "Response Header:"
    Debug.Print rest.ResponseHeader
    Debug.Print "Response Body:"
    Debug.Print sbResponseBody.GetAsString()
    Exit Sub
End If

Dim jsonResponse As New ChilkatJsonObject
success = jsonResponse.LoadSb(sbResponseBody)

'  See the Online Tool for Generating JSON Parse Code
Dim periodKey As String
Dim vatDueSales As String
Dim vatDueAcquisitions As String
Dim totalVatDue As String
Dim vatReclaimedCurrPeriod As String
Dim netVatDue As String
Dim totalValueSalesExVAT As Long
Dim totalValuePurchasesExVAT As Long
Dim totalValueGoodsSuppliedExVAT As Long
Dim totalAcquisitionsExVAT As Long

periodKey = jsonResponse.StringOf("periodKey")
vatDueSales = jsonResponse.StringOf("vatDueSales")
vatDueAcquisitions = jsonResponse.StringOf("vatDueAcquisitions")
totalVatDue = jsonResponse.StringOf("totalVatDue")
vatReclaimedCurrPeriod = jsonResponse.StringOf("vatReclaimedCurrPeriod")
netVatDue = jsonResponse.StringOf("netVatDue")
totalValueSalesExVAT = jsonResponse.IntOf("totalValueSalesExVAT")
totalValuePurchasesExVAT = jsonResponse.IntOf("totalValuePurchasesExVAT")
totalValueGoodsSuppliedExVAT = jsonResponse.IntOf("totalValueGoodsSuppliedExVAT")
totalAcquisitionsExVAT = jsonResponse.IntOf("totalAcquisitionsExVAT")

Sample JSON Response Body

{
  "periodKey": "A001",
  "vatDueSales": 105.5,
  "vatDueAcquisitions": -100.45,
  "totalVatDue": 5.05,
  "vatReclaimedCurrPeriod": 105.15,
  "netVatDue": 100.1,
  "totalValueSalesExVAT": 300,
  "totalValuePurchasesExVAT": 300,
  "totalValueGoodsSuppliedExVAT": 3000,
  "totalAcquisitionsExVAT": 3000
}