Submit VAT return for period
curl -X POST https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/returns \
-H 'Authorization: Bearer HMRC_ACCESS_TOKEN' \
-H 'Accept: application/vnd.hmrc.1.0+json' \
-H 'Content-Type: application/json' \
-d '{
"periodKey": "A001",
"vatDueSales": 105.50,
"vatDueAcquisitions": -100.45,
"totalVatDue": 5.05,
"vatReclaimedCurrPeriod": 105.15,
"netVatDue": 100.10,
"totalValueSalesExVAT": 300,
"totalValuePurchasesExVAT": 300,
"totalValueGoodsSuppliedExVAT": 3000,
"totalAcquisitionsExVAT": 3000,
"finalised": true
}'
<?php
$rest = new COM("Chilkat_9_5_0.Rest");
// URL: https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/returns
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
$success = $rest->Connect('test-api.service.hmrc.gov.uk',$port,$bTls,$bAutoReconnect);
if ($success != 1) {
print 'ConnectFailReason: ' . $rest->ConnectFailReason . "\n";
print $rest->LastErrorText . "\n";
exit;
}
// See the Online Tool for Generating JSON Creation Code
$json = new COM("Chilkat_9_5_0.JsonObject");
$json->UpdateString('periodKey','A001');
$json->UpdateNumber('vatDueSales','105.50');
$json->UpdateNumber('vatDueAcquisitions','-100.45');
$json->UpdateNumber('totalVatDue','5.05');
$json->UpdateNumber('vatReclaimedCurrPeriod','105.15');
$json->UpdateNumber('netVatDue','100.10');
$json->UpdateNumber('totalValueSalesExVAT','300');
$json->UpdateNumber('totalValuePurchasesExVAT','300');
$json->UpdateNumber('totalValueGoodsSuppliedExVAT','3000');
$json->UpdateNumber('totalAcquisitionsExVAT','3000');
$json->UpdateBool('finalised',1);
$rest->AddHeader('Content-Type','application/json');
$rest->AddHeader('Authorization','Bearer HMRC_ACCESS_TOKEN');
$rest->AddHeader('Accept','application/vnd.hmrc.1.0+json');
$sbRequestBody = new COM("Chilkat_9_5_0.StringBuilder");
$json->EmitSb($sbRequestBody);
$sbResponseBody = new COM("Chilkat_9_5_0.StringBuilder");
$success = $rest->FullRequestSb('POST','/organisations/vat/MY_HMRC_VRN/returns',$sbRequestBody,$sbResponseBody);
if ($success != 1) {
print $rest->LastErrorText . "\n";
exit;
}
$respStatusCode = $rest->ResponseStatusCode;
if ($respStatusCode >= 400) {
print 'Response Status Code = ' . $respStatusCode . "\n";
print 'Response Header:' . "\n";
print $rest->ResponseHeader . "\n";
print 'Response Body:' . "\n";
print $sbResponseBody->getAsString() . "\n";
exit;
}
$jsonResponse = new COM("Chilkat_9_5_0.JsonObject");
$jsonResponse->LoadSb($sbResponseBody);
// See the Online Tool for Generating JSON Parse Code
$processingDate = $jsonResponse->stringOf('processingDate');
$paymentIndicator = $jsonResponse->stringOf('paymentIndicator');
$formBundleNumber = $jsonResponse->stringOf('formBundleNumber');
?>
{
"processingDate": "2019-02-18T14:37:56.561Z",
"paymentIndicator": "BANK",
"formBundleNumber": "948551092841"
}