VB.NET 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'

VB.NET Example

Dim rest As New Chilkat.Rest
Dim success As Boolean

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


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

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

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


Dim jsonResponse As New Chilkat.JsonObject
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 Integer
Dim totalValuePurchasesExVAT As Integer
Dim totalValueGoodsSuppliedExVAT As Integer
Dim totalAcquisitionsExVAT As Integer

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
}