Preparing an R&D claim can be a very intensive process, involving a large number of stakeholders, and a lot of information (both financial and technical).
Once the process of preparing the financial and technical information is done, the final phase of an R&D claim is largely administrative, a job for the 'back office' of a consultancy. This final phase - the Claim Completion phase - is about bringing all the prepared information together, getting it submitted to HMRC, and tracking the claim through to a successful outcome.
Claimer's Claim Completion Suite's is a suite of products/modules that facilitate a high-level of process automation across the whole completion phase. The goal is to significantly reduce the administrative burden consultancies encounter in this phase by providing software solutions for every step of the completion workflow.
To address the inconsistent terminology used within the industry, we have chosen to adopt the preferred naming conventions of HM Revenue & Customs (HMRC).
For comprehensive understanding, it's essential to grasp two key concepts as outlined by HMRC:
Claimer's AIF API is an essential function of the Claim Completion Suite, providing a comprehensive interface for the submission of AIFs. If you have chosen to set up a webhook, you will receive events throughout the AIF submission process. Additionally, you can retrieve AIF statuses, for non cancelled AIFs.
The usage of this API is made simple by the Report Generation API, as the structured data for the AIF submission can be generated by the Report Generation API. Though you can submit using this API only. The specification and terminology used in the AIF API are consistent with the Report Generation API, and HMRC, making it easy to understand and use. To understand in greater detail the requirements for AIF submissions, the HMRC website provides additional descriptions to clarify what we are asking for in each section of the AIF. https://www.gov.uk/guidance/submit-detailed-information-before-you-claim-research-and-development-rd-tax-relief. However, where there are optional fields, in the AIF, we take care to explain what omitting these fields means for the AIF submission.
The endpoints allow you to submit AIFs, retrieve AIF statuses, retrieve the HMRC confirmation IDs associated with a submitted AIF, and retrieve the HMRC submission document using the HMRC confirmation ID.
registeredCompanyNumber required | string A valid Companies House company number for an R&D eligible company. |
financialYear required | string(\d{4}-\d{2}-\d{2})\.\.(\d{4}-\d{2}-\d{2}) Date range of financial year {startDate}..{endDate} - e.g. 2021-01-02..2021-12-31. Please refer to this section for more info about the Financial Years. |
required | object (SubmissionConfiguration) | ||||||||||||
| |||||||||||||
required | object (ApiMultiAccountingPeriodAifModel) | ||||||||||||
| |||||||||||||
external_id required | string <= 72 characters An optional external identifier that can be used to correlate the AIF with an external system. 72 character limit. |
{- "submission_configuration": {
- "strict_aif_validation": true,
- "allow_auto_approval": true,
- "approval_assignee": "string",
- "confirmation_email": "string",
- "agent_email_communication_consent": true,
- "senior_officer_email_communication_consent": true
}, - "aif_model": {
- "company": {
- "utr": "string",
- "paye_reference": "string",
- "vat_reference": "string",
- "sic_code": "string"
}, - "agents": [
- {
- "name": {
- "first_name": "string",
- "last_name": "string"
}, - "email": "string",
- "phone": "string",
- "company": {
- "name": "string",
- "address": {
- "line1": "string",
- "line2": "string",
- "town_city": "string",
- "postcode": "string"
}
}, - "agent_type": "rnd"
}
], - "senior_officer": {
- "name": {
- "first_name": "string",
- "last_name": "string"
}, - "role": "string",
- "email": "string",
- "phone": "string"
}, - "projects": {
- "total_projects": 0,
- "projects_described": [
- {
- "number": 0,
- "name": "string",
- "field": "string",
- "baseline": "string",
- "advance": "string",
- "technical_challenges": "string",
- "work_done": "string"
}
]
}, - "expenditure": {
- "expenditure_in_uk": true,
- "paye_exemption_reason": "string",
- "externally_provided_workers": {
- "summary": {
- "uk_based": true,
- "paye_references": [
- "string"
], - "dont_know_reason": "string"
}, - "number_who_worked_on_projects": 0
}, - "expenditure_by_accounting_period": [
- {
- "accounting_period": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "rdec": {
- "projects": [
- {
- "amount": 0,
- "project_number": 0
}
], - "qualifying_expenditure_breakdown": {
- "cloud_computing": 0,
- "consumables": 0,
- "contractors": 0,
- "contributions_to_independent_research": 0,
- "data_licences": 0,
- "externally_provided_workers": 0,
- "indirect_activities": 0,
- "payments_to_clinical_trial_subjects": 0,
- "software": 0,
- "staff": 0
}
}, - "sme": {
- "projects": [
- {
- "amount": 0,
- "project_number": 0
}
], - "qualifying_expenditure_breakdown": {
- "cloud_computing": 0,
- "consumables": 0,
- "contractors": 0,
- "contributions_to_independent_research": 0,
- "data_licences": 0,
- "externally_provided_workers": 0,
- "indirect_activities": 0,
- "payments_to_clinical_trial_subjects": 0,
- "software": 0,
- "staff": 0
}
}
}
]
}, - "enhanced_support_by_accounting_period": {
- "accounting_period": {
- "start": "2019-08-24",
- "end": "2019-08-24"
}, - "has_supporting_evidence": true,
- "trading_and_operating_expenses": 0,
- "section1308_adjustment": 0,
- "has_connected_companies": true,
- "connected_companies": [
- {
- "name": "string",
- "country": "string",
- "registration_number": "string",
- "expenditure": {
- "qualifying_expenditure": 0,
- "trading_and_operating_expenses": 0,
- "section1308_adjustment": 0
}
}
]
}
}, - "external_id": "string"
}
"string"
registeredCompanyNumber required | string A valid Companies House company number for an R&D eligible company. |
financialYear required | string(\d{4}-\d{2}-\d{2})\.\.(\d{4}-\d{2}-\d{2}) Date range of financial year {startDate}..{endDate} - e.g. 2021-01-02..2021-12-31. Please refer to this section for more info about the Financial Years. |
[- "string"
]
registeredCompanyNumber required | string A valid Companies House company number for an R&D eligible company. |
financialYear required | string(\d{4}-\d{2}-\d{2})\.\.(\d{4}-\d{2}-\d{2}) Date range of financial year {startDate}..{endDate} - e.g. 2021-01-02..2021-12-31. Please refer to this section for more info about the Financial Years. |
X-Request-ID required | string Request ID used for tracking or logging purposes. Value is unique to the request. |
Content-Type required | string The media type of this message, e.g application/json |
Authorization | string Will be set if basic auth is set in the url (recommended) |
message_id | string Unique message ID coming from Claimer | ||||||||||||||||||||||
timestamp | string <date-time> Timestamp when we attempted to send the message across the webhook. Internally we also timestamp the event when it's created, which is inside the aif event payload | ||||||||||||||||||||||
AifSubmissionStarted (object) or AifSubmitted (object) or AifAllSubmitted (object) or AifApproved (object) or AifCancelled (object) (AifEvent) | |||||||||||||||||||||||
One of
|
{- "message_id": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "event": {
- "accounting_period_start": "2019-08-24",
- "accounting_period_end": "2019-08-24",
- "started_at": "2019-08-24T14:15:22Z",
- "client_id": "string",
- "financial_year_id": "string",
- "submission_id": "string",
- "report_instance_id": "string",
- "event_id": "string",
- "event_type": "aif-submission-started",
- "event_timestamp": "2019-08-24T14:15:22Z",
- "tenant-id": "string"
}
}