Migrating payments to Numeral

Learn how to migrate your payments to Numeral

Numeral enables its customers to migrate and manage their historical payment operations, giving them full visibility of their payment history and control over R transactions.

Process

Numeral offers 4 CSV file templates used to import payment orders, incoming payments, return requests, and direct debit mandates. The remaining of this guide explains how to populate these files.

Once populated and received, Numeral will import, test, and validate data in a test environment before repeating the import into a production environment

Use cases supported

Payment typesUse cases
Credit transfer / instant payments
  • Importing a credit transfer incoming payment from <13 months ago to potentially receive a Recall / RRO on it
  • - Importing a credit transfer incoming payment from <3 days ago to potentially send a Return on it (SCT only)
  • Importing a credit transfer payment order from <3 days ago to potentially receive a Return on it (SCT only)
  • Importing a credit transfer payment order from <13 months ago to potentially send a Recall / RRO on it
  • Importing an incoming return request (Recall / RRO) from <15 days to reply to it with a positive / negative response
  • Importing an outgoing return request (Recall / RRO) from <15 days to be sure to properly catch its positive / negative response
Direct debit payments
  • Importing direct debit mandates (outgoing or incoming)
  • Importing a direct debit incoming payment from <13 months ago to potentially send a Return / Refund on it
  • Importing a direct debit incoming payment from <5 days ago to potentially receive a reversal on it
  • Importing a direct debit payment order <13 months ago to potentially receive a Return / Refund on it
  • Importing a direct debit payment order from <5 days ago to potentially send a reversal on it

CSV templates

ℹ️

Import CSV templates can be downloaded here.

  • Templates contain mandatory and optional columns. See the full description of each columns for import type below
  • Each entry must contain an id column filled with a unique internal ID (ideally a UUID v4, but it could also be a custom format). Return requests will be imported after payment orders and incoming payments, as their related_payment_id column must reference the id column of payment orders or incoming payments previously imported
  • Files can contain up to 100,000 entries each
  • CSV separator used is ";". Make sure to escape this character or encapsulate all strings that could include this character with double quotes

Payment orders

FieldMandatory?FormatNotes
idYesUUID / custom idUnique ID representing the entry
connected_account_idYesUUIDNumeral connected account UUID
directionYes- credit (for credit transfer)
- debit (for direct debit)
payment_typeYesSee payment type values
amountYesInteger, expressed in minimal currency unit (e.g. EUR 10.00 = 1000)See data types
currencyYesISO 4217 currency codeSee currency codes
value_dateYesDate in YYYY-MM-DD, e.g. 2024-04-25Value date of the payment
statusYes- executed: successfully executed
- rejected: payment was rejected
- pending: on hold for AML/CFT
- returned: payment was returned
- pending_return: open return request
purposeNoStringOnly applicable to Swift payments (purpose code)
referenceYesStringReference of the payment
confidentiality_optionNopayrollOnly for salary/payroll payments
treasury_optionNolocal, international, or relocatedOnly for “treasury” type payments
fee_optionNooriginator, shared, receiverOnly for Swift payments
origin_holder_nameConditionalStringMandatory for indirect payments
origin_bank_accountConditionalIBAN or local account numberMandatory for indirect payments
origin_bank_codeConditionalSWIFT/BIC or local bank codeMandatory for indirect payments
origin_creditor_identifierConditionalSEPA creditor identifier / ICS / SUNMandatory for direct debit indirect payments
origin_holder_address.building_numberNoStringOptional for indirect payments
origin_holder_address.street_nameNoStringOptional for indirect payments
origin_holder_address.postal_codeNoStringOptional for indirect payments
origin_holder_address.cityNoStringRecommended for indirect payments
origin_holder_address.countryNoISO 3166 alpha-2, e.g. GB, FR, USRecommended for indirect payments
origin_holder_address.line_1NoStringOptional for indirect payments
origin_holder_address.line_2NoStringOptional for indirect payments
destination_holder_nameYesString
destination_bank_accountYesIBAN or local account number
destination_bank_codeYesSWIFT/BIC or local bank code
destination_holder_address.building_numberNoStringRecommended
destination_holder_address.street_nameNoStringRecommended
destination_holder_address.postal_codeNoStringRecommended
destination_holder_address.cityNoStringRecommended
destination_holder_address.countryNoISO 3166 alpha-2Recommended
destination_holder_address.line_1NoStringRecommended
destination_holder_address.line_2NoStringRecommended
sdd_mandate_sequenceConditionalone_off or recurringMandatory for direct debit payments
sdd_mandate_typeConditionalsepa_core, sepa_b2b, or bacs_debitMandatory for direct debit payments
sdd_mandate_signature_dateConditionalDate in YYYY-MM-DD, e.g. 2024-04-25Mandatory for direct debit payments
sdd_mandate_referenceConditionalStringMandatory for direct debit payments
bank_data.message_idNoStringHighly recommended
bank_data.end_to_end_idNoStringHighly recommended
bank_data.transaction_idNoStringHighly recommended
custom_fieldsNoString, format is “key=val|key2=val2”key=val|key2=val2
metadataNoString, format is “key=val|key2=val2”key=val|key2=val2

Incoming payments

FieldMandatory?FormatNotes
idYesUUID / custom idUnique ID representing the entry
connected_account_idYesUUIDNumeral connected account UUID
typeYesSee payment type values
directionYes- credit (for credit transfer)
- debit (for direct debit)
amountYesInteger, expressed in minimal currency unit (e.g. EUR 10.00 = 1000)See data types
currencyYesISO 4217 currency codeSee currency codes
value_dateYesDate in YYYY-MM-DD, e.g. 2024-04-25Value date of the payment
requested_execution_dateConditionalDate in YYYY-MM-DD, e.g. 2024-04-25Mandatory for direct debit indirect payments
statusYes- received if the payment was successfully received
- rejected, if the payment was rejected
- pending_return, if an open return request awaits a response
referenceYesStringReference of the payment
origin_holder_nameConditionalStringMandatory for indirect payments
origin_bank_accountConditionalIBAN or local account number (UK, AU, etc.)Mandatory for indirect payments
origin_bank_codeConditionalSWIFT/BIC or local bank code (sort code, BSB, etc.)Mandatory for indirect payments
origin_creditor_identifierConditionalCreditor identifier (SEPA creditor identifier / ICS, or UK Service User Number / SUN)Mandatory for direct debit indirect payments
origin_holder_address.building_numberNoStringOptional for indirect payments
origin_holder_address.street_nameNoStringOptional for indirect payments
origin_holder_address.postal_codeNoStringOptional for indirect payments
origin_holder_address.cityNoStringRecommended for indirect payments
origin_holder_address.countryNoISO 3166 alpha-2 country code, e.g. GB, FR, or USRecommended for indirect payments
origin_holder_address.line_1NoStringOptional for indirect payments
origin_holder_address.line_2NoStringOptional for indirect payments
destination_holder_nameYesString
destination_bank_accountYesIBAN or local account number (UK, AU, etc.)
destination_bank_codeYesSWIFT/BIC or local bank code (Sort code, BSB, etc.)
destination_holder_address.building_numberNoStringRecommended
destination_holder_address.street_nameNoStringRecommended
destination_holder_address.postal_codeNoStringRecommended
destination_holder_address.cityNoStringRecommended
destination_holder_address.countryNoISO 3166 alpha-2 country code, e.g. GB, FR, or USRecommended
destination_holder_address.line_1NoStringRecommended
destination_holder_address.line_2NoStringRecommended
sdd_mandate_sequence Conditionalone_off or recurringMandatory for direct debit payments
sdd_mandate_typeConditionalsepa_core, sepa_b2b, or bacs_debitMandatory for direct debit payments
sdd_mandate_signature_dateConditionalDate in YYYY-MM-DD, e.g. 2024-04-25Mandatory for direct debit payments
sdd_mandate_referenceConditionalStringMandatory for direct debit payments
bank_data.message_idNoStringHighly recommended
bank_data.end_to_end_idNoStringHighly recommended
bank_data.transaction_idNoStringHighly recommended
metadataNoString, format is “key=val|key2=val2”key=val|key2=val2

Return requests

FieldMandatory?FormatNotes
idYesUUID / custom idUnique ID representing the entry
connected_account_idYesUUIDNumeral connected account UUID
related_payment_idYesUUIDRelated imported payment order or incoming payment id column value
related_payment_natureYespayment_order or incoming_payment- Use payment_order if the return request was sent and relates to a payment order.
- Use incoming_payment if the return request was received and relates to an incoming payment.
payment_typeYessepa or sepa_instantDepending on the underlying payment’s type
return_reasonYesStringSEPA return reason (e.g. DUPL, TECH, FRAD, CUST, AM09, AC03)
value_dateYesDate in YYYY-MM-DD, e.g. 2024-04-25Value date of the payment
origin_holder_nameNoStringMandatory for indirect payments
origin_bank_accountNoIBAN or local account number (UK, AU, etc.)Mandatory for indirect payments
origin_bank_codeNoSWIFT/BIC or local bank code (Sort code, BSB, etc.)Mandatory for indirect payments
origin_holder_address.building_numberNoStringOptional for indirect payments
origin_holder_address.street_nameNoStringOptional for indirect payments
origin_holder_address.postal_codeNoStringOptional for indirect payments
origin_holder_address.cityNoStringRecommended for indirect payments
origin_holder_address.countryNoISO 3166 alpha-2 country code, e.g. GB, FR, or USRecommended for indirect payments
origin_holder_address.line_1NoStringOptional for indirect payments
origin_holder_address.line_2NoStringOptional for indirect payments
destination_holder_nameNoString
destination_bank_accountNoIBAN or local account number (UK, AU, etc.)
destination_bank_codeNoSWIFT/BIC or local bank code (Sort code, BSB, etc.)
destination_holder_address.building_numberNoStringRecommended
destination_holder_address.street_nameNoStringRecommended
destination_holder_address.postal_codeNoStringRecommended
destination_holder_address.cityNoStringRecommended
destination_holder_address.countryNoISO 3166 alpha-2 country code, e.g. GB, FR, or USRecommended
destination_holder_address.line_1NoStringRecommended
destination_holder_address.line_2NoStringRecommended
statusYes- received: return request was received (for incoming payments)
- sent: return request was sent (for payment orders)
- denied: return request was denied
- accepted: return request was accepted
bank_data.assignment_idYesStringAssignment ID / message ID of the return request
bank_data.cancellation_idYesStringCancellation ID / transaction ID of the return request
bank_data.original_message_idYesStringOriginal message ID of the underlying payment
bank_data.original_end_to_end_idYesStringOriginal end-to-end ID of the underlying payment
bank_data.original_transaction_idYesStringOriginal transaction ID of the underlying payment
bank_data.original_payment_value_dateNoStringRecommended
bank_data.original_payment_amountNoInteger (in minor units, e.g. EUR 10.00 = 1000)Recommended
bank_data.original_payment_currencyNoISO 4217 currency codeRecommended
metadataNoString, format is “key=val|key2=val2”key=val|key2=val2

ℹ️

Relationships between return requests and payment orders are preserved via related_payment_id andrelated_payment_type fields.

Direct debit mandates

FieldMandatory?FormatNotes
idYesUUIDUnique UUID v4 representing the entry
connected_account_idYesUUIDNumeral connected account UUID
statusYes- active for active mandates
- blocked for temporarily blocked mandates
- disabled for permanently disabled mandates
directionYes- incoming (for incoming direct debits)
- outgoing (for outgoing direct debits)
typeYessepa_core, sepa_b2b, or bacs_debit
sequenceYesone_off or recurring
referenceYesStringUnique reference of the mandate
signature_dateConditionalDate in YYYY-MM-DD, e.g. 2024-04-25Mandatory for SEPA direct debit payments
creditor_holder_nameConditionalStringMandatory for indirect payments
creditor_bank_accountConditionalIBAN or local account number (UK, AU, etc.)Mandatory for indirect payments
creditor_bank_codeConditionalSWIFT/BIC or local bank code (Sort code, BSB, etc.)Mandatory for indirect payments
creditor_creditor_identifierConditionalSEPA creditor identifier / ICS / SUNMandatory for direct debit indirect payments
creditor_holder_address.building_numberNoString
creditor_holder_address.street_nameNoString
creditor_holder_address.postal_codeNoString
creditor_holder_address.cityNoStringRecommended for indirect payments
creditor_holder_address.countryNoISO 3166 alpha-2 country code, e.g. GB, FR, or USRecommended for indirect payments
creditor_holder_address.line_1NoString
creditor_holder_address.line_2NoString
debtor_holder_nameYesString
debtor_bank_accountYesIBAN or local account number (UK, AU, etc.)
debtor_bank_codeYesSWIFT/BIC or local bank code (Sort code, BSB, etc.)
debtor_holder_address.building_numberNoStringRecommended
debtor_holder_address.street_nameNoStringRecommended
debtor_holder_address.postal_codeNoStringRecommended
debtor_holder_address.cityNoStringRecommended
debtor_holder_address.countryNoISO 3166 alpha-2 country code, e.g. GB, FR, or USRecommended
debtor_holder_address.line_1NoStringRecommended
debtor_holder_address.line_2NoStringRecommended
metadataNoString, format is “key=val|key2=val2”key=val|key2=val2

ℹ️

Relationships between return requests and payment orders are preserved via related_payment_id andrelated_payment_type fields.