{
  "url": "https://openlegislation.uk/eu-regulation-2007-916/annex-II",
  "json_url": "https://openlegislation.uk/eu-regulation-2007-916/annex-II.json",
  "legislation": "eur/2007/916",
  "legislation_title": "Commission Regulation (EC) No 916/2007 of 31 July 2007 amending Regulation (EC) No 2216/2004 for a standardised and secured system of registries pursuant to Directive 2003/87/EC of the European Parliament and of the Council and Decision No 280/2004/EC of the European Parliament and of the Council (Text with EEA relevance)",
  "legislation_url": "https://openlegislation.uk/eu-regulation-2007-916",
  "path": "annex/II",
  "kind": "annex",
  "number": "II",
  "heading": null,
  "text": "The following Annex XIa is inserted to Regulation (EC) No 2216/2004:\n‘ANNEX XIa\nProcesses concerning automatic national allocation plan table changes\n1.\nIn accordance with Articles 17(3) and 44(2), registries may propose to the Community independent transaction log to check and implement an automatic change to the national allocation plan through a process described in this Annex.\nRequirements for each process\n2.\nThe following message sequence for processes concerning automatic national allocation plan table changes shall apply:\n(a) the registry administrator shall initiate the automatic national allocation plan table change process by assigning a unique correlation identification code comprising the elements set out in Annex VI to its request;\n(b) the registry administrator shall call the appropriate operation on the Community independent transaction log automatic national allocation plan table change Web service;\n(c) the Community Independent Transaction Log shall validate the request by calling the appropriate validation function within the Community Independent Transaction Log;\n(d) if the request is successfully validated and thereby accepted, the Community Independent Transaction Log shall amend the information it holds in accordance with that request;\n(e) the Community Independent Transaction Log shall call the “receiveNapManagementOutcome” operation on the automatic national allocation plan table change Web service of the registry which sent the request, notifying the registry as to whether the request was successfully validated and thereby accepted, or whether the request was found to contain a discrepancy and was thereby rejected;\n(f) if the request was successfully validated and thereby accepted, the registry administrator which sent the request shall amend the information held in the registry in accordance with that validated request; otherwise, if the request was found to contain a discrepancy and was thereby rejected, the registry administrator which sent the request shall not amend the information held in the registry in accordance with that rejected request.\n3.\nProvided that automatic national allocation plan table change processes are directed through the UNFCCC independent transaction log, a registry administrator sending a request should receive an acknowledgement of receipt from the UNFCCC independent transaction log within 60 seconds, and should receive a notification of validation from the Community independent transaction log within 24 hours. In all other cases, a registry administrator sending a request should receive an acknowledgement of receipt from the Community independent transaction log within 60 seconds, and should receive a notification of validation from the Community independent transaction log within 24 hours;\n4.\nThe components and functions which are utilised during the message sequence are shown in table XIa-1 to XIa-6. The inputs of all functions have been structured to match the format and informational requirements described using web services description language, set out in the functional and technical specifications for data exchange standards for registry systems under the Kyoto Protocol, elaborated pursuant to Decision 24/CP.8 of the Conference of the Parties to the UNFCCC. An asterisk “(*)” has been used to denote the fact that an element can appear multiple times as an input.\nTable XIa-1:\nComponents and Functions for Processes concerning automatic national allocation plan table changes\nComponent\nFunction\nScope\nNAPTableManagementWS\nAddNEInstallationtoNAP()\nPublic\nIncreaseNAPallocationtoNEInstallation()\nPublic\nRemoveNAPallocationofclosingInstallation()\nPublic\nTable XIa-2:\nNAPTableManagementWS Component\nPurpose\nThe purpose of this component is to handle web service requests for the management of automatic changes to the national allocation plan table\nFunctions exposed through Web Services\nAddNEInstallationtoNAP()\nHandles the requests for adding new entrant new installations to the national allocation plan table\nIncreaseAllocationtoNEInstallationinNAP()\nHandles the requests for increasing the allocation in the national allocation plan table of existing installations that are new entrants\nRemoveNAPallocationofclosingInstallation()\nHandles the requests for removing the allocation from the national allocation plan table of installations that are closing\nOther functions\nNot applicable.\nRoles\nCommunity independent transaction log (for all functions) and registry (for the receiveNapManagementOutcome function only)\nTable XIa-3:\nNAPTableManagementWS.AddNEInstallationtoNAP() function\nPurpose\nThis function receives a request for adding a new entrant new installation to the national allocation plan table. The allowances allocated for the years before the current year will have a value of zero. If the new entrant new installation does not receive an allocation, the amount of allowances will have a value of zero. If the new entrant new installation does receive an allocation, the reserve is reduced by an equivalent quantity.\nThe Community independent transaction log authenticates the initiating registry (Originating Registry) by calling the AuthenticateMessage() function and checks the version of the initiating registry by calling CheckVersion() function.\nIf authentication and version checks pass, a “1” result identifier is returned without any response codes, the contents of the request are written to a file by calling the WriteToFile() function and the request is put in a queue.\nIf authentication or version checks fail, a “0” result identifier is returned together with a single response code indicating the error cause.\nThe “PermitIdentifier” means the permit identification code comprising the elements set out in Annex VI.\nInput parameters\nFrom\nMandatory\nTo\nMandatory\nCorrelationId\nMandatory\nMajorVersion\nMandatory\nMinorVersion\nMandatory\nInitiatingRegistry\nMandatory\nCommitmentPeriod\nMandatory\nNewValueofReserve\nMandatory\nInstallation (*)\nMandatory\nPermitIdentifier\nMandatory\nInstallationIdentifier\nMandatory\nAllocation (*)\nMandatory\nYearinCommitmentPeriod\nMandatory\nAmountofAllowances\nMandatory\nOutput parameters\nResult Identifier\nMandatory\nResponse Code\nOptional\nUses\nAuthenticateMessage\nWriteToFile\nCheckVersion\nUsed By\nNot applicable (called as a web service).\nTable XIa-4:\nNAPTableManagementWS.IncreaseAllocationtoNEInstallationinNAPIncreaseallocationtoNEInstallationinNAP() function\nPurpose\nThis function receives a request for increasing the allocation of installations already existing in the national allocation plan table that are considered new entrants. The allowances allocated for the years before the current year won’t be modified. The reserve is reduced by a quantity that is equivalent to the quantity allocated in this process.\nThe Community independent transaction log authenticates the initiating registry (Originating Registry) by calling the AuthenticateMessage() function and checks the version of the initiating registry by calling CheckVersion() function.\nIf authentication and version checks pass, a “1” result identifier is returned without any response codes, the contents of the request are written to a file by calling the WriteToFile() function and the request is put in a queue.\nIf authentication or version checks fail, a “0” result identifier is returned together with a single response code indicating the error cause.\nInput parameters\nFrom\nMandatory\nTo\nMandatory\nCorrelationId\nMandatory\nMajorVersion\nMandatory\nMinorVersion\nMandatory\nInitiatingRegistry\nMandatory\nCommitmentPeriod\nMandatory\nNewValueofReserve\nMandatory\nInstallation (*)\nMandatory\nInstallationIdentifier\nMandatory\nAllocation (*)\nMandatory\nYearincommitmentperiod\nMandatory\nAmountofAllowances\nMandatory\nOutput parameters\nResultIdentifier\nMandatory\nResponseCode\nOptional\nUses\nAuthenticateMessage\nWriteToFile\nCheckVersion\nUsed By\nNot applicable (called as a web service).\nTable XIa-5:\nNAPTableManagementWS RemoveNAPallocationofclosingInstallation() function\nPurpose\nThis function receives a request for removing installations existing in the national allocation plan table. The allowances yet unallocated will be deleted and an equivalent quantity of allowances will be added to the reserve.\nThe Community independent transaction log authenticates the initiating registry (Originating Registry) by calling the AuthenticateMessage() function and checks the version of the initiating registry by calling CheckVersion() function.\nIf authentication and version checks pass, a “1” result identifier is returned without any response codes, the contents of the request are written to a file by calling the WriteToFile() function and the request is put in a queue.\nIf authentication or version checks fail, a “0” result identifier is returned together with a single response code indicating the error cause.\nInput parameters\nFrom\nMandatory\nTo\nMandatory\nCorrelationId\nMandatory\nMajorVersion\nMandatory\nMinorVersion\nMandatory\nInitiatingRegistry\nMandatory\nCommitmentPeriod\nMandatory\nNewValueofReserve\nMandatory\nInstallation (*)\nMandatory\nInstallationIdentifier\nMandatory\nOutput parameters\nResult Identifier\nMandatory\nResponse Code\nOptional\nUses\nAuthenticateMessage\nWriteToFile\nCheckVersion\nUsed By\nNot applicable (called as a web service).\nTable XIa-6:\nNAPTableManagementWS receiveNapManagementOutcome () function\nPurpose\nThis function receives a NAP management operation outcome.\nThe initiating registry (Originating Registry) authenticates the UNFCCC independent transaction log (or Community independent transaction log if all processes referred to in Annex VIII are directed through Community independent transaction log and thereon to the UNFCCC independent transaction log) by calling the AuthenticateMessage() function and checks the version of the transaction log by calling CheckVersion() function.\nIf authentication and version checks pass, a “1” result identifier is returned without any response codes, the contents of the request are written to a file by calling the WriteToFile() function and the request is put in a queue.\nIf authentication or version checks fail, a “0” result identifier is returned together with a single response code indicating the error cause.\nThe response code list is populated with couples (a response code with possibly a list of installation identifiers) if the outcome is “0” for any other cause of error.\nInput parameters\nFrom\nMandatory\nTo\nMandatory\nCorrelationId\nMandatory\nMajorVersion\nMandatory\nMinorVersion\nMandatory\nOutcome\nMandatory\nResponse List\nOptional\nOutput parameters\nResult Identifier\nMandatory\nResponse Code\nOptional\nUses\nAuthenticateMessage\nWriteToFile\nCheckVersion\nUsed By\nNot applicable (called as a web service).\nTable XIa-7:\nProcesses concerning NAP Table changes\nProcess description\nCommunity independent transaction log response codes\nNAPTableManagementWS.AddNEInstallationtoNAP\n7005, 7122, 7125, 7153, 7154, 7155, 7156, 7159, 7215, 7451, 7452, 7700, 7701, 7702, 7703, 7704\nNAPTableManagementWS.IncreaseallocationtoNEInstallationinNAP\n7005, 7153, 7154, 7155, 7156, 7159, 7207, 7451, 7452, 7700, 7701, 7702, 7703, 7705\nNAPTableManagementWS\nRemoveNA PallocationofclosingInstallation\n7005, 7153, 7154, 7155, 7156, 7159, 7207, 7451, 7700, 7706\n5.\nIf all the checks have been passed successfully, the Community independent transaction log automatically implements the national allocation plan table change into its database and informs the registry administrator and the Central Administrator thereof.’.",
  "extent": "E+W+S+N.I.",
  "status": null,
  "version": "current",
  "annotations": [],
  "outstanding_effects": [],
  "provenance": {
    "source": "legislation.gov.uk",
    "source_url": "https://www.legislation.gov.uk/eur/2007/916/annex/II",
    "retrieved_at": "2026-11-01T14:52:48.154671+00:00"
  },
  "licence": "Open Government Licence v3.0",
  "licence_url": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/",
  "attribution": "Contains public sector information licensed under the Open Government Licence v3.0. Source: legislation.gov.uk, The National Archives."
}