Italian Quarterly Results

Virtual currency service providers and digital wallet service providers are required to disclose their operations in Italy (“Decree“). The Decree of the Ministry of Economy and Finance (MEF) was published 13 January 2022 explaining the procedures and timelines. The Decree applies the anti-money laundering provisions introduced with article 17-bis of Legislative Decree no. 141 of 13 August 2010 and article 8 paragraph 1 and article 8-bis of Legislative Decree no. 90 of 25 May 2017.

This action on Terminal Analytics enables a compliant report to be produced in XML format.


Organization page:

The VASP identification code must be set in your Organization:

  • Choose: Italian Quarterly Results


Select the year and the specific quarter for which you want to generate the XML document:


XML document structure:

XML document name:

  • generated XML file name VASP.PSV13.2023.1.20230304120406.xml

    • VASP fixed prefix

    • PSV13 matches VASP registration number

    • 2023.1 year, quarter

    • 20230304120406 date and time when the XML file was generated

Header fields:

  • <VaspRegistrationNumber> (previously idUserOAM)

    • Configured on Organization

Client fields:

  • PF_NOME

    • First name

    • IDENTITY field First Name (identitypiecepersonalinfo.firstname)

  • PF_COGNOME

    • Last name

    • IDENTITY field Last name (identitypiecepersonalinfo.lastname)

  • PF_DATANASCITA

    • Date of birth.

    • YYYYMMDD

    • IDENTITY field Date of birth (identitypiecepersonalinfo.dateofbirth)

  • PF_STATORESID

    • code of the country of residence

    • Italy: "Z086". "CODICE_NAZIONE" column.

    • The provided spreadsheet had country codes starting with “Z” but the example had just the number without the “Z” at the beginning.

    • IDENTITY field Country (identitypiecepersonalinfo.contactcountry)

  • PF_COMUNERESID

    • Municipality (comune) of residence

    • documentation mentions "CODICE" column but we don't have the list of codes available, it contains “H501” in the provided example (“ROMA” in the previous version)

    • CUSTOM FIELD with name = ‘PF_COMUNERESID’

  • PF_IND_RESID

    • Address of residency (street incl. the house number)

    • IDENTITY field Street Address (identitypiecepersonalinfo.contactaddress)

  • PF_TIPO_DOC

    • document type

    • IDENTITY field Document Type (identitypiecepersonalinfo.documenttype)

    • only ID card, passport, driving license supported

  • PF_NUM_DOC

    • document number

    • IDENTITY field Document Number (identitypiecepersonalinfo.idcardnumber)

  • CF_PIVA

    • Tax/VAT code assigned by The Revenue Agency (Agenzia delle Entrate) to resident entities, consisting of sixteen alphanumeric characters for natural persons and eleven numeric characters for non-natural persons. The tax code/VAT should be recorded and not calculated. For customers who do not have one, the field should be set to the default value ND.

    • CUSTOM FIELD with name = 'CF_PIVA'

  • PF_STATONASCITA

    • Country of birth

    • Italy: "Z086", "CODICE_NAZIONE" column

    • CUSTOM FIELD with name = 'PF_STATONASCITA'

    • if the custom field contains ISO 2-letter code, it's converted to the CODICE_NAZIONE country code, otherwise it's left as it is.

  • PF_COMUNENASCITA

    • Municipality (comune) of birth

    • In the case where the Nation of birth is Italy, to be enhanced by coding the Italian municipality.

    • "CODICE" column - we don't have the list of codes available

    • CUSTOM FIELD with name = 'PF_COMUNENASCITA'

  • PF_PROVRESID

    • code of the province of residence

    • "SIGLA" column.

    • For residents in foreign countries (not in Italy), indicate "EE".

    • CUSTOM FIELD with name = 'PF_PROVRESID'

    • if PF_STATORESID is not Italy -> "EE"

    • if the custom field contains province name (case insensitive, e.g. "VERONA", "VENEZIA", ...) -> converted to the province code ("VR", "VE", ...)

    • otherwise use the custom field as it is

  • PF_STATO_DOC

    • document country code

    • CUSTOM FIELD with name = 'PF_STATO_DOC'

    • if custom field is present / filled in:

      • if it is a 2-letter country code, convert it to the “italian export” country code, e.g. IT->Z086

      • otherwise keep as it is, e.g. Z086 could be filled in the custom field directly.

    • if custom field not present / or filled in: ND value is always written to the XML file

  • PF_CIV_IND_RESID

    • house number of the residential address

    • CUSTOM FIELD with name = 'PF_CIV_IND_RESID'

    • not used, house number included in PF_IND_RESID

  • Fields always set to ND (not available):

    • PF_SESSO

    • PF_DATA_DOC

    • PF_AUT_DOC

    • PF_COMUNE_DOC

  • Not used (never set):

    • all PNF_* fields - persona non fisica

Operativity fields

  • Conversion operations from legal to virtual currency and vice versa

    • NUM_OP_LEGAL2VIRTUAL

      • Total number of conversion operations from legal tender to virtual currency attributable to a customer

      • number of BUY transactions

    • VAL_OP_LEGAL2VIRTUAL

      • Total value in euro of the conversion transactions from legal tender to virtual currency, referring to each customer.

      • The value is indicated to the second digit decimal place.

      • The symbol "," (comma) separates the figures relating to the integer part, from those of the decimal part

      • total amount of BUY transactions

    • NUM_OP_VIRTUAL2LEGAL

      • Total number of conversion operations from virtual currency to legal tender attributable to each customer

      • number of SELL transactions

    • VAL_OP_VIRTUAL2LEGAL

      • Total value in euro of the conversion transactions from virtual currency to legal tender, referring to each customer.

      • The value is indicated to the second digit decimal place.

      • The symbol "," (comma) separates the figures relating to the integer part, from those of the decimal part

      • total amount of SELL transactions

    • Fields always set to ND (not available):

      • VAL_LEGALVALUT

      • VAL_VIRTUALVALUT

      • NUM_OP_VIRTUAL2VIRTUAL

      • NUM_OP_OUTPUT_VIRTUAL

      • NUM_OP_INPUT_VIRTUAL

      • NUM_OP_OUTPUT_FIATCASH

      • VAL_OP_OUTPUT_FIATCASH

      • NUM_OP_OUTPUT_TRACEABLE

      • VAL_OP_OUTPUT_TRACEABLE

      • NUM_OP_INPUT_FIATCASH

      • VAL_OP_INPUT_FIATCASH

      • NUM_OP_INPUT_TRACEABLE

      • VAL_OP_INPUT_TRACEABLE


File compression/signing is NOT IMPLEMENTED, Operators can sign the file using OpenSSL:

$ # compressione $ zip VASP.PSV13.2023.1.20230304.xml $ # cifratura $ openssl cms -encrypt -binary -aes256 -in VASP.VSP13.2023.1.20230304120406.zip -outform DER -out VASP.VSP13.2023.1.20230304.zip.p7e certificato_oam.pem $ # firma $ openssl smime -sign -binary - VASP.PSV13.2023.1.20230304120406.zip.p7e -out VASP.VSP13.2023.1.20230304120406.zip.p7e.p7m -nodetach -outform DER -signer certificato_di_firma.pem

 

Copyright © 2020-2024 General Bytes USA LLC