Skip to content

hmrc/cds-reimbursement-claim-frontend

Repository files navigation

cds-reimbursement-claim-frontend

Frontend microservice providing an HTML UI to claim back import duty and VAT.

Business goal

You can use this service to apply to claim repayments on:

  • overpayments for import charges, these include Customs Duties, Excise Duties, Countervailing Duties and specific other customs duties,
  • rejected goods, if the import is rejected as the goods are damaged, defective, or not by contract
  • security deposits

You can use this service for multiple claims (bulk), and be repaid via either Current Month Adjustment (CMA) or by bank account transfer.

Usage

This service is publicly available under https://www.tax.service.gov.uk/claim-back-import-duty-vat URL.

Access to this service requires:

Internals

Internally the service consists of several types of components:

  • http endpoints defined in conf/*.routes files
  • action controllers classes
  • services and repositories
  • business domain aggregates (journeys)
  • data model classes
  • forms definitions
  • html templates written in Twirl language
  • third-party http services connectors

Each type of claim is represented by a single business domain aggregate (journey) responsible for maintaining a consistent and valid state of the claim process, and finally generate an output claim object which will be passed to the backend microservice for processing into the TPI05 API request.

External connections

This service calls the following external services:

Feature flags

The feature set of the service is controlled by a host of feature flags defined in the conf/application.conf:

flag description
features.overpayments_v2 enables Claim back import duty and VAT if you have overpaid journey
features.rejected-goods enables Claim back customs charges paid on rejected goods journey
features.securities enables Claim back a security deposit journey
features.view-upload enables Check your claim status and upload supporting files dashboard
features.block-subsidies disables support for subsidies-related features
subsidies-for-overpayments enables subsidies-related features in Claim back import duty and VAT if you have overpaid
features.subsidies-for-rejected-goods enables subsidies-related features in Claim back customs charges paid on rejected goods
features.xi-eori enables support for displaying declarations containing XI EORI identifiers
features.limited-access enables access only for users on the an allow list of EORIs defined in th limited-access-eori-csv-base64 property

Development

This service is built using Play Framework and Scala language (https://www.scala-lang.org/).

Prerequisites

Build and test

sbt clean compile test

Run locally

Running this service locally requires multiple other services to be up and running. The best way to achieve that is by using Service Manager:

sm --start CDSRC_ALL

Run locally in a development mode

sm --start CDSRC_ALL
sm --stop CDSRC_FRONTEND
sbt run

License

This code is open source software licensed under the Apache 2.0 License.