hmrc / vat-api

Apache License 2.0
67 stars 18 forks source link

Incorrect DUPLICATE_SUBMISSION error #1014

Open ddaddy opened 7 months ago

ddaddy commented 7 months ago

Bug report

Fill in the sections below to submit your bug report:

Describe the bug I have been sent some logs from a user today (April 1st & 2nd) that show the API reporting his return as already submitted, however not only has it not been submitted yet, the API reports it as an Open period.

{
 due = "2024-05-07";
 end = "2024-03-31";
 periodKey = 24C1;
 start = "2024-01-01";
 status = O;
},
{
 due = "2024-02-07";
 end = "2023-12-31";
 periodKey = 23C4;
 received = "2024-01-01";
 start = "2023-10-01";
 status = F;
},
{
 due = "2023-11-07";
 end = "2023-09-30";
 periodKey = 23C3;
 received = "2023-10-01";
 start = "2023-07-01";
 status = F;
},
{
 due = "2023-08-07";
 end = "2023-06-30";
 periodKey = 23C2;
 received = "2023-07-01";
 start = "2023-04-01";
 status = F;
}

You can clearly see period 24C1 above is Open.

POSTing:

{
"totalValueGoodsSuppliedExVAT":"0",
"vatDueAcquisitions":"0.00",
"netVatDue":"85770.55",
"finalised":true,
"totalVatDue":"26595.03",
"totalValuePurchasesExVAT":"0",
"totalValueSalesExVAT":"0",
"totalAcquisitionsExVAT":"0",
"vatReclaimedCurrPeriod":"112365.58",
"periodKey":"24C1",
"vatDueSales":"26595.03"
}

Response:

{
"code":"BUSINESS_ERROR",
"message":"Business validation error",
"errors":[
{
"code":"DUPLICATE_SUBMISSION",
"message":"The VAT return was already submitted for the given period."
}
]
}

I'm not sure what I can advise him to fix this issue?!

ddaddy commented 7 months ago

Response from my user:

I called them this morning and was all sorted. It’s now on the system. Apparently a system glitch where it was received but not allocated.

So it seems a glitch happened internally.

ddaddy commented 6 months ago

I had another user report this issue today. As with the previous user, they submitted their vat return pretty quickly after the period ended so I believe the issue could likely be a time zone issue with the API?

GMT time was still the previous day. HMRC need to look internally at this.

KillaBoi commented 3 months ago

i am going to assume that is what is happening, based on the fact that we are running on BST right now and maybe their internal systems are still on GMT, i tried to return my own VAT Return just now before it hit 1am our time and it failed with an INTERNAL_SERVER_ERROR first followed by a DUPLICATE_SUBMISSION error now...

and mind you, this is on the actual prod environment...

ddaddy commented 3 months ago

I had yet another client today with this issue. I reported it to SDSTeam in June and they acknowledged it could be a clock issue, but seems they haven't bothered fixing it. And no official response here either 🤷‍♂️

Please send a report to SDSTeam and i'll follow up mine too.

outring commented 3 months ago

We have multiple customers with this issue starting from the 1st of August. Some of them already contacted HMRC support and were told that they have no issues on their side 🤷

KillaBoi commented 3 months ago

Just literally finished a call with a very nice guy from the IT department who was amazing.

What me and others assumed is very very correct, if you submit your VAT return on the day straight after your period ends but you submit it anytime between Midnight and 1AM, it will mark your report as being submitted the day before as the internal clock for the returns system runs on GMT and we are on BST at the moment. (For example, period ends on the 31st of July and you submit your return on the 1st of August at 12:45am, the system will think you submitted it on the 31st of July at 11:45pm)…

They are aware of this issue and said advisors know how to fix it and can do it on the first call but a lot of them as misinformed and don’t “understand” why it happens therefore leading to delays or transfers to the internal IT team…

ddaddy commented 3 months ago

Shame they don’t put the same effort into fixing it. At the very least, make the VAT MTD system reject a submission during that hour.