{"id":16313,"date":"2026-06-08T17:49:37","date_gmt":"2026-06-08T15:49:37","guid":{"rendered":"https:\/\/docs.centralpay.com\/documentation\/automations-integrations-and-exports\/file-import\/"},"modified":"2026-08-12T16:03:46","modified_gmt":"2026-08-12T14:03:46","slug":"file-import","status":"publish","type":"docs","link":"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/","title":{"rendered":"File Import"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">CentralPay File Import Service<\/h1>\n\n<p class=\"wp-block-paragraph\">The <strong>File Import Service<\/strong> allows you to manage CentralPay operations <strong>in bulk<\/strong> by uploading simple CSV files instead of calling the API line by line.<\/p>\n\n<p class=\"wp-block-paragraph\">To date, two types of files are supported:<\/p>\n\n<ul class=\"wp-block-list\">\n<li><strong> <code>Customer<\/code> files<\/strong>: to create your customer profiles in CentralPay, optionally with a <strong>bank account (BankAccount)<\/strong> and\/or a <strong>SEPA direct debit mandate (SDD)<\/strong>.<\/li>\n\n\n\n<li><strong> <code>Operation<\/code> files<\/strong>: to initiate <strong>SEPA direct debits (SDD)<\/strong> on your customer profiles and\/or <strong>outgoing SEPA credit transfers (SCT)<\/strong> to your customer profiles&#8217; bank accounts.<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">For each file uploaded, CentralPay sends you <strong>report<\/strong> files indicating, line by line, what was accepted, refused, or rejected.<\/p>\n\n<h2 class=\"wp-block-heading\">1. Who is this service for?<\/h2>\n\n<p class=\"wp-block-paragraph\">This service is designed for merchants who process <strong>large volumes<\/strong> of operations and prefer file exchange over real-time API integration: recurring direct debit collections, grouped outgoing payments, creation or migration of a customer\/SEPA mandate repository, etc.<\/p>\n\n<p class=\"wp-block-paragraph\">The exchange occurs <strong>asynchronously<\/strong>: you upload your files, CentralPay processes them, then makes the reports available to you.<\/p>\n\n<h2 class=\"wp-block-heading\">2. Prerequisites<\/h2>\n\n<h3 class=\"wp-block-heading\">2.1 Common Prerequisites<\/h3>\n\n<ul class=\"wp-block-list\">\n<li>An <strong>active CentralPay merchant account<\/strong> with access to the Merchant Portal.<\/li>\n\n\n\n<li>Your CentralPay <strong>merchant ID (UUID)<\/strong>. The <strong>first 8 characters<\/strong> of this UUID are used to name your files (see section 5.1 Rules common to all files). <\/li>\n\n\n\n<li>The setup of a <strong>secure exchange channel<\/strong> (SFTP, see section 4. SFTP Setup) unless another channel has been agreed upon with your CentralPay contact.<\/li>\n\n\n\n<li>A <strong>testing phase<\/strong> with the CentralPay integration team before going live.<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">2.2 Prerequisites for outgoing SEPA credit transfer operations (<code>CREDIT<\/code> \/ SCT)<\/h3>\n\n<ul class=\"wp-block-list\">\n<li>The <strong>outgoing SEPA credit transfer<\/strong> <strong>service<\/strong> must be <strong>activated<\/strong> on your merchant profile.<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">2.3 Prerequisites for SEPA direct debit operations (<code>DEBIT<\/code> \/ SDD)<\/h3>\n\n<p class=\"wp-block-paragraph\">Direct debits require additional prerequisites, to be validated <strong>before<\/strong> any first submission:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Your <strong>ICS (SEPA Creditor Identifier)<\/strong> must be <strong>declared in your CentralPay merchant profile<\/strong> (procedure carried out with your CentralPay contact).<\/li>\n\n\n\n<li>The <strong>SEPA direct debit service<\/strong> must be <strong>activated<\/strong> on your merchant profile (procedure carried out with your CentralPay contact).<\/li>\n\n\n\n<li><strong>Validation of Mandate Management Mode Compliance.<\/strong> In this integration process, <strong>CentralPay does not collect the mandate signature<\/strong>: you transmit, in the <code>Customer<\/code> file, the mandate reference (<code>MANDATE_RUM<\/code>) and its signature date (<code>MANDATE_SIGN_DATE<\/code>). Consequently: \n<ul class=\"wp-block-list\">\n<li>Your CentralPay contact must <strong>validate the principle upstream<\/strong> of mandate management via this method, <strong>whether it concerns the migration of existing mandates or newly collected mandates<\/strong> by you.<\/li>\n\n\n\n<li>You remain <strong>responsible<\/strong> for the collection, legal validity, and retention of signed mandates, as well as for providing prior information to your customers (pre-notification, UMR, ICS).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<pre class=\"wp-block-preformatted\">Without these prerequisites, files containing direct debits cannot be processed, whether in the testing or production environment.<\/pre>\n\n<h2 class=\"wp-block-heading\">3. How does the processing cycle work?<\/h2>\n\n<ol class=\"wp-block-list\">\n<li><strong>Upload.<\/strong> You upload your CSV files (<code>Customer<\/code> and\/or <code>Operation<\/code>) to the SFTP, in the upload folder.<\/li>\n\n\n\n<li><strong>Technical Control (ACK).<\/strong> CentralPay checks each line (format, mandatory fields, consistency) and sends you an <strong><code>.ACK<\/code><\/strong> file: each line is marked <code>ACCEPTED<\/code> or <code>REFUSED<\/code>, with the error reason if applicable.<\/li>\n\n\n\n<li><strong>Bank processing.<\/strong>  Technically valid lines are transmitted to the SEPA banking circuits.<\/li>\n\n\n\n<li><strong>Settlement Report (SET).<\/strong> For operations, CentralPay produces <strong><code>.SET<\/code><\/strong> files indicating the settlement progress (<code>ACCEPTED<\/code> \/ <code>PENDING<\/code> \/ <code>REFUSED<\/code>) once bank feedback is available.<\/li>\n\n\n\n<li><strong>Post-settlement Rejections (RET).<\/strong> In case of a SEPA rejection occurring <strong>after<\/strong> settlement (e.g., a customer dispute), CentralPay produces an <strong><code>.RET<\/code><\/strong> file detailing the reason and the returned amount.<\/li>\n<\/ol>\n\n<pre class=\"wp-block-preformatted\"><code>Customer<\/code> files do <strong>not<\/strong> generate a bank report (<code>.SET<\/code> \/ <code>.RET<\/code>): only an <code>.ACK<\/code> is returned.<\/pre>\n\n<h2 class=\"wp-block-heading\">4. SFTP Setup<\/h2>\n\n<p class=\"wp-block-paragraph\">SFTP is the recommended exchange channel. It ensures secure upload and retrieval, and allows CentralPay to automatically retrieve and process your files. <\/p>\n\n<h3 class=\"wp-block-heading\">4.1 Exchange Model<\/h3>\n\n<p class=\"wp-block-paragraph\">The <strong>SFTP is hosted by the merchant.<\/strong> <\/p>\n\n<p class=\"wp-block-paragraph\">CentralPay connects to <strong>your<\/strong> SFTP, retrieves files from an outgoing folder, and deposits reports into an incoming folder.<\/p>\n\n<h3 class=\"wp-block-heading\">4.2 Folder Convention<\/h3>\n\n<p class=\"wp-block-paragraph\">The exchange relies on <strong>two directories<\/strong>:<\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Directory<\/th><th>Direction<\/th><th>Content<\/th><\/tr><\/thead><tbody><tr><td><strong>Upload<\/strong> folder (named <code>\/OUT<\/code>)<\/td><td>Merchant \u2192 CentralPay<\/td><td>Your <code>Customer<\/code> and <code>Operation<\/code> files to be processed<\/td><\/tr><tr><td><strong>Return<\/strong> folder (named <code>\/IN<\/code>)<\/td><td>CentralPay \u2192 Merchant<\/td><td>The <code>.ACK<\/code>, <code>.SET<\/code>, reports <code>.RET<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h3 class=\"wp-block-heading\">4.3 Setup Steps<\/h3>\n\n<ol class=\"wp-block-list\">\n<li><strong>Request activation<\/strong> from your CentralPay contact.<\/li>\n\n\n\n<li><strong>Exchange access credentials<\/strong>: authentication via <strong>SSH key<\/strong>.\n<ul class=\"wp-block-list\">\n<li>Two spaces should be created: one SFTP dedicated to testing and one dedicated to production.<\/li>\n\n\n\n<li>The SFTP information (host + login) must be provided to us by email.<\/li>\n\n\n\n<li>For us to connect to your SFTP, a CentralPay public key (per environment) will be communicated to you. <\/li>\n\n\n\n<li>Furthermore, it is recommended to whitelist CentralPay&#8217;s IP addresses (these will be communicated to you during your integration).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Use the directory structure<\/strong> defined previously (upload \/OUT and return \/IN folders).<\/li>\n\n\n\n<li><strong>Test in the testing environment<\/strong> with an example file, validate the correct reception of <code>.ACK<\/code>, then switch to production.<\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\">5. Prepare your files<\/h2>\n\n<h3 class=\"wp-block-heading\">5.1 Rules common to all files<\/h3>\n\n<ul class=\"wp-block-list\">\n<li><strong>Format<\/strong>: CSV. The <strong>header row is mandatory<\/strong> in all files, both input and output. <\/li>\n\n\n\n<li><strong>Naming<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Customer file: <code>&lt;8 premiers caract\u00e8res de votre UUID marchand en minucules&gt;_CUST_&lt;r\u00e9f\u00e9rence libre&gt;.csv<\/code><\/li>\n\n\n\n<li>Operations file: <code>&lt;8 premiers caract\u00e8res de votre UUID marchand <code> en minucules<\/code>&gt;_OPER_&lt;r\u00e9f\u00e9rence libre&gt;.csv<\/code><\/li>\n\n\n\n<li>The <strong>free reference<\/strong> is at your discretion (often a timestamp). The full name must not exceed <strong>100 characters<\/strong>. <\/li>\n\n\n\n<li>Examples: <code>c494f877_CUST_20241025110500.csv<\/code> \u00b7  <code>c494f877_OPER_20241025110500.csv<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Amounts<\/strong>: expressed in <strong>minor unit<\/strong> (euro cents) and <strong>always positive<\/strong>. The direction (debit\/credit) is indicated by the <code>OPERATION_TYPE<\/code> column, not by the sign of the amount. <\/li>\n\n\n\n<li><strong>Column Legend<\/strong> in the tables below:\n<ul class=\"wp-block-list\">\n<li><strong>Mandatory<\/strong>: the line is rejected if the value is missing.<\/li>\n\n\n\n<li><strong>Optional<\/strong>: can be left blank.<\/li>\n\n\n\n<li><strong>Conditional<\/strong>: required only in the described case.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">5.2 File <code>Customer<\/code><\/h3>\n\n<p class=\"wp-block-paragraph\">This file creates your customer profiles. Depending on your needs, it can create <strong>in a single line<\/strong>: the customer profile alone, the customer + a bank account, or the customer + a bank account + an SDD mandate. <\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Column<\/th><th>Format<\/th><th>Status<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>MERCHANT_ID<\/code><\/td><td>UUID<\/td><td>Mandatory<\/td><td>Your CentralPay merchant ID<\/td><\/tr><tr><td><code>MERCHANT_CUSTOMER_ID<\/code><\/td><td>String(100)<\/td><td>Optional<\/td><td>Your internal customer reference (must be unique). Highly recommended for reconciling your operations. <\/td><\/tr><tr><td><code>DESCRIPTION<\/code><\/td><td>String(256)<\/td><td>Optional<\/td><td>Free field for your use<\/td><\/tr><tr><td><code>TYPE<\/code><\/td><td><code>INDIVIDUAL<\/code> \n\/\n <code>LEGAL_ENTITY<\/code><\/td><td>Mandatory<\/td><td>Individual or legal entity<\/td><\/tr><tr><td><code>SOCIAL_REASON<\/code><\/td><td>String(35)<\/td><td>Conditional<\/td><td>Required if <code>TYPE = LEGAL_ENTITY<\/code> (company name)<\/td><\/tr><tr><td><code>FIRST_NAME<\/code><\/td><td>String(35)<\/td><td>Mandatory<\/td><td>First name (of the legal representative if <code>LEGAL_ENTITY<\/code>)<\/td><\/tr><tr><td><code>LAST_NAME<\/code><\/td><td>String(35)<\/td><td>Mandatory<\/td><td>Last name (of the legal representative if <code>LEGAL_ENTITY<\/code>)<\/td><\/tr><tr><td><code>EMAIL<\/code><\/td><td>String(255)<\/td><td>Optional<\/td><td><\/td><\/tr><tr><td><code>PHONE<\/code><\/td><td>String(25)<\/td><td>Optional<\/td><td>International format <code>+&lt;indicatif&gt;&lt;num\u00e9ro&gt;<\/code><\/td><\/tr><tr><td><code>ADDRESS_LINE_1<\/code><\/td><td>String(255)<\/td><td>Mandatory<\/td><td><\/td><\/tr><tr><td><code>ADDRESS_LINE_2\/3\/4<\/code><\/td><td>String(255)<\/td><td>Optional<\/td><td>Address supplements<\/td><\/tr><tr><td><code>POSTAL_CODE<\/code><\/td><td>String(15)<\/td><td>Mandatory<\/td><td>Allowed characters: letters, numbers, space, hyphen<\/td><\/tr><tr><td><code>CITY<\/code><\/td><td>String(35)<\/td><td>Mandatory<\/td><td><\/td><\/tr><tr><td><code>COUNTRY<\/code><\/td><td>ISO 3166 alpha-3 code<\/td><td>Mandatory<\/td><td>Ex. <code>FRA<\/code><\/td><\/tr><tr><td><code>IBAN<\/code><\/td><td>String(34)<\/td><td>Conditional<\/td><td><strong>Required to create a bank account<\/strong> (thus for any future outgoing transfer or direct debit). Validated according to ISO 13616 <\/td><\/tr><tr><td><code>BIC<\/code><\/td><td>String(11)<\/td><td>Conditional<\/td><td><strong>Required with IBAN<\/strong><\/td><\/tr><tr><td><code>MANDATE_RUM<\/code><\/td><td>String(35)<\/td><td>Conditional<\/td><td><strong>Required to create an SDD mandate.<\/strong>  Unique Mandate Reference (UMR) of the mandate already signed on the merchant side<\/td><\/tr><tr><td><code>MANDATE_SIGN_DATE<\/code><\/td><td>Date <code>YYYY-MM-DD<\/code><\/td><td>Conditional<\/td><td><strong>Required to create an SDD mandate.<\/strong>  Mandate signature date<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<pre class=\"wp-block-preformatted\"><strong>\"With or Without\" Logic<\/strong><br\/><br\/>\u279c <strong>Customer only:<\/strong> fill in identity and address, leave IBAN\/BIC and mandate columns blank.<br\/><br\/>\u279c <strong>Customer + bank account (necessary for a future outgoing transfer): <\/strong>add IBAN + BIC.<br\/><br\/>\u279c <strong>Customer + SDD mandate (necessary for a future SEPA direct debit): <\/strong>add IBAN + BIC + MANDATE_RUM + MANDATE_SIGN_DATE.<\/pre>\n\n<h4 class=\"wp-block-heading\">Example file <code>Customer<\/code><\/h4>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2026\/06\/0055bff7_CUST_20250630.csv\">Download the &#8220;Customer&#8221; .csv example file<\/a><\/div>\n<\/div>\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\">Three customers: one individual (<code>INDIVIDUAL<\/code>, without company name) and two legal entities (<code>LEGAL_ENTITY<\/code>), each with their own bank account and SDD mandate.<\/p>\n\n<p class=\"wp-block-paragraph\">Key takeaways from this example:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>The <strong>phone number<\/strong> is in international format (<code>+33...<\/code>, without the initial <code>0<\/code>).<\/li>\n\n\n\n<li>For customer <code>INDIVIDUAL<\/code>, the <code>SOCIAL_REASON<\/code> field is left <strong>empty<\/strong> (two consecutive <code>;<\/code>); it is only filled in for <code>LEGAL_ENTITY<\/code>.<\/li>\n\n\n\n<li>Each customer has their <strong>own IBAN\/BIC<\/strong> and their <strong>own <code>MANDATE_RUM<\/code><\/strong>. The IBAN\/BICs above are <strong>test credentials<\/strong> provided for the testing environment: replace them with your customers&#8217; real credentials in production. <\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">In return, the <code>.ACK<\/code> file will send you a <code>CUSTOMER_ID<\/code> (UUID) for each accepted line. <strong>Keep these identifiers: you will reuse them in your <code>Operation<\/code> files<\/strong>.<\/p>\n\n<p class=\"wp-block-paragraph\"><strong>Columns added by CentralPay in the <code>.ACK<\/code> return file:<\/strong><\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Column<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>STATUS<\/code><\/td><td><code>ACCEPTED<\/code>  or <code>REFUSED<\/code> (no <code>PENDING<\/code> for customer files)<\/td><\/tr><tr><td><code>ERROR_CODE<\/code><\/td><td>Valued if <code>REFUSED<\/code> (e.g., <code>INVALID_PARAMETERS<\/code>)<\/td><\/tr><tr><td><code>ERROR_MESSAGE<\/code><\/td><td>Technical detail (in English)<\/td><\/tr><tr><td><code>CUSTOMER_ID<\/code><\/td><td>UUID of the created customer, valued if <code>ACCEPTED<\/code> (to be kept for your future operations)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h3 class=\"wp-block-heading\">5.3 File <code>Operation<\/code><\/h3>\n\n<p class=\"wp-block-paragraph\">This file triggers operations on customer profiles <strong>already existing<\/strong> in CentralPay.<\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Column<\/th><th>Format<\/th><th>Status<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>MERCHANT_ID<\/code><\/td><td>UUID<\/td><td>Mandatory<\/td><td>Your CentralPay merchant ID<\/td><\/tr><tr><td><code>POINT_OF_SALE_ID<\/code><\/td><td>UUID<\/td><td>Optional<\/td><td>Concerned point of sale. If empty, the default point of sale is used. <\/td><\/tr><tr><td><code>MERCHANT_TRANSACTION_ID<\/code><\/td><td>String(35)<\/td><td>Optional<\/td><td>Your operation reference (unique to you)<\/td><\/tr><tr><td><code>DESCRIPTION<\/code><\/td><td>String(140)<\/td><td>Optional<\/td><td>Description for your use<\/td><\/tr><tr><td><code>END_TO_END_ID<\/code><\/td><td>String(35)<\/td><td>Optional<\/td><td>SEPA <em>end-to-end<\/em> reference <strong>visible to the end customer<\/strong>. <br\/>Otherwise, it uses  <code>MERCHANT_TRANSACTION_ID<\/code><\/td><\/tr><tr><td><code>REMITTANCE_INFO<\/code><\/td><td>String(140)<\/td><td>Optional<\/td><td>SEPA label (<em>unstructured remittance information<\/em>) <strong>visible to the end customer<\/strong>. Otherwise, it uses   <code>DESCRIPTION<\/code><\/td><\/tr><tr><td><code>CUSTOMER_ID<\/code><\/td><td>UUID<\/td><td>Conditional<\/td><td>CentralPay customer identifier. <strong><code>CUSTOMER_ID<\/code> or <code>MERCHANT_CUSTOMER_ID<\/code> must be provided<\/strong><\/td><\/tr><tr><td><code>MERCHANT_CUSTOMER_ID<\/code><\/td><td>String(100)<\/td><td>Conditional<\/td><td>Your internal customer reference (alternative to the <code>CUSTOMER_ID<\/code> generated by CentralPay)<\/td><\/tr><tr><td><code>MANDATE_RUM<\/code><\/td><td>String(35)<\/td><td>Optional<\/td><td>To target a specific mandate if the customer has several (if <code>OPERATION_TYPE =<\/code> <code>DEBIT<\/code>)<\/td><\/tr><tr><td><code>AMOUNT<\/code><\/td><td>Integer<\/td><td>Mandatory<\/td><td>Amount in euro cents, <strong>positive value only<\/strong><\/td><\/tr><tr><td><code>CURRENCY<\/code><\/td><td>ISO Code<\/td><td>Mandatory<\/td><td><code>EUR<\/code>  (mandatory euro currency for SEPA transfers and direct debits)<\/td><\/tr><tr><td><code>OPERATION_TYPE<\/code><\/td><td><code>DEBIT<\/code> \n\/\n <code>CREDIT<\/code><\/td><td>Mandatory<\/td><td><code>DEBIT<\/code>  = SEPA direct debit (SDD)<br\/><code>CREDIT<\/code> = outgoing SEPA credit transfer (payout)<\/td><\/tr><tr><td><code>EXPECTED_SETTLEMENT_DATE<\/code><\/td><td>Date <code>YYYY-MM-DD<\/code><\/td><td>Optional<\/td><td>Desired settlement date. Default: J+1 business day <\/td><\/tr><\/tbody><\/table><\/figure>\n\n<pre class=\"wp-block-preformatted\"><strong>Choose the correct  <code>OPERATION_TYPE<\/code><\/strong><br\/><br\/>\u279c DEBIT (direct debit): If you wish to debit your customer's bank account via a SEPA direct debit. Requires the customer profile to have a valid SDD mandate.  <br\/><br\/>\u279c CREDIT (transfer): If you wish to credit your customer's bank account via an outgoing SEPA credit transfer. Requires the customer to have a declared bank account (IBAN\/BIC). <\/pre>\n\n<h4 class=\"wp-block-heading\">Example file <code>Operation<\/code><\/h4>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2026\/06\/ee7eebd8_OPER_20250708.csv\">Download the &#8220;Operation&#8221; .csv example file<\/a><\/div>\n<\/div>\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p class=\"wp-block-paragraph\">Five operations on customers created in the previous step, <strong>referenced by their <code>CUSTOMER_ID<\/code><\/strong> (the UUIDs returned in the <code>.ACK<\/code> of the <code>Customer<\/code> file): three direct debits (<code>DEBIT<\/code>) and two credit transfers (<code>CREDIT<\/code>).<\/p>\n\n<p class=\"wp-block-paragraph\">Key takeaways from this example:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>The customer is identified by their  <strong><code>CUSTOMER_ID<\/code><\/strong>  (stable and unique UUID). It can also be identified by your   <strong><code>MERCHANT_CUSTOMER_ID<\/code><\/strong>  but you must ensure its uniqueness and correct formatting.<\/li>\n\n\n\n<li> <strong><code>MERCHANT_TRANSACTION_ID<\/code> and <code>END_TO_END_ID<\/code> are unique<\/strong> for each operation.<\/li>\n\n\n\n<li>The <strong>amounts<\/strong> are in cents (<code>4990<\/code> = \u20ac49.90) and always positive; <code>OPERATION_TYPE<\/code> indicates the direction (debit or credit).<\/li>\n\n\n\n<li><code>REMITTANCE_INFO<\/code>  carries an <strong>explicit label<\/strong>, visible to the end customer on their statement. Prioritize simple characters (SEPA standard: no accents or special characters). <\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\"><strong>Columns added by CentralPay in the return files:<\/strong><\/p>\n\n<p class=\"wp-block-paragraph\">In the <strong><code>.ACK<\/code><\/strong> (technical control):<\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Column<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>STATUS<\/code><\/td><td><code>ACCEPTED<\/code><code>PENDING<\/code>,  or  <code>REFUSED<\/code><\/td><\/tr><tr><td><code>ERROR_CODE<\/code><\/td><td>Valued if  <code>REFUSED<\/code><\/td><\/tr><tr><td><code>ERROR_MESSAGE<\/code><\/td><td>Technical detail<\/td><\/tr><tr><td><code>OPERATION_ID<\/code><\/td><td>Operation UUID, valued if <code>ACCEPTED<\/code> (tracking key in subsequent files)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<p class=\"wp-block-paragraph\">In the <strong><code>.SET<\/code><\/strong> (settlement report):<\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Column<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>STATUS<\/code><\/td><td><code>ACCEPTED<\/code><code>PENDING<\/code>,  or  <code>REFUSED<\/code><\/td><\/tr><tr><td><code>ERROR_CODE<\/code><\/td><td>Valued if <code>REFUSED<\/code> (e.g., <code>FRAUD_ALERT<\/code>)<\/td><\/tr><tr><td><code>ERROR_MESSAGE<\/code><\/td><td>Bank refusal detail<\/td><\/tr><tr><td><code>SETTLEMENT_DATE<\/code><\/td><td>Value date if  <code>ACCEPTED<\/code><\/td><\/tr><tr><td><code>OPERATION_ID<\/code><\/td><td>Operation UUID<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<p class=\"wp-block-paragraph\">In the <strong><code>.RET<\/code><\/strong> (post-settlement rejection):<\/p>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Column<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>REASON_CODE<\/code><\/td><td>SEPA rejection code (e.g., <code>AC04<\/code> = account closed)<\/td><\/tr><tr><td><code>REASON_MESSAGE<\/code><\/td><td>Textual detail of the rejection<\/td><\/tr><tr><td><code>RETURN_AMOUNT<\/code><\/td><td>Returned amount (positive)<\/td><\/tr><tr><td><code>RETURN_DATE<\/code><\/td><td>Rejection date<\/td><\/tr><tr><td><code>OPERATION_ID<\/code><\/td><td>Original operation UUID<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h2 class=\"wp-block-heading\">6. Understanding the return files<\/h2>\n\n<h3 class=\"wp-block-heading\">6.1 Naming of return files<\/h3>\n\n<p class=\"wp-block-paragraph\">Return files use the name of your original file, followed by the report type, a processing fingerprint, and a timestamp:<\/p>\n\n<pre class=\"wp-block-code\"><code class=\"\">&lt;nom du fichier d'origine au format csv>.&lt;ACK|SET|RET>-&lt;hash>-&lt;timestamp>.csv<\/code><\/pre>\n\n<ul class=\"wp-block-list\">\n<li><code>&lt;hash&gt;<\/code>  : fingerprint of the processed file (allows linking the return to the processing).<\/li>\n\n\n\n<li><code>&lt;timestamp&gt;<\/code>  : processing timestamp.<\/li>\n<\/ul>\n\n<p class=\"wp-block-paragraph\">Example:<\/p>\n\n<pre class=\"wp-block-code\"><code class=\"\">C494F877_OPER_20241025110500.csv.ACK-098f6bcd4621d373cade4e832627b4f6-20241025112500.csv<\/code><\/pre>\n\n<h3 class=\"wp-block-heading\">6.2 The three levels of reporting<\/h3>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>File<\/th><th>When<\/th><th>What it tells you<\/th><\/tr><\/thead><tbody><tr><td><strong><code>.ACK<\/code><\/strong><\/td><td>Immediately upon receipt<\/td><td><strong>Technical<\/strong> validity line by line. All lines are returned, including those refused. <\/td><\/tr><tr><td><strong><code>.SET<\/code><\/strong><\/td><td>Once bank feedback is available (operations only)<\/td><td>Progress of <strong>settlement<\/strong>. Only lines <code>ACCEPTED<\/code> at the <code>.ACK<\/code> level are included. <\/td><\/tr><tr><td><strong><code>.RET<\/code><\/strong><\/td><td>In case of rejection <strong>after<\/strong> settlement (operations only)<\/td><td>Subsequent SEPA rejections (e.g., customer dispute)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<pre class=\"wp-block-preformatted\"><strong>Indicative settlement times<\/strong> (business days): credit transfer (SCT) 1 to 2 days; SEPA direct debit (SDD) 3 to 5 days. A post-settlement rejection (<code>.RET<\/code>) can occur up to <strong>8 weeks<\/strong> after the operation in case of dispute. <\/pre>\n\n<h3 class=\"wp-block-heading\">6.3 Best practices for reconciliation<\/h3>\n\n<ul class=\"wp-block-list\">\n<li><strong><code>OPERATION_ID<\/code><\/strong>  is the <strong>matching key<\/strong> between the <code>.ACK<\/code>, <code>.SET<\/code>, and <code>.RET<\/code> files of the same operation. Keep it. <\/li>\n\n\n\n<li><strong><code>CUSTOMER_ID<\/code><\/strong>  (returned in the customer <code>.ACK<\/code>) is the identifier to reuse in your <code>Operation<\/code> files.<\/li>\n\n\n\n<li>Systematically provide your own references (<code>MERCHANT_CUSTOMER_ID<\/code>, <code>MERCHANT_TRANSACTION_ID<\/code>) to facilitate reconciliation on your end.<\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\">7. Common errors<\/h2>\n\n<h3 class=\"wp-block-heading\">7.1 Technical rejections (<code>.ACK<\/code> file)<\/h3>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Code<\/th><th>Meaning<\/th><th>Action<\/th><\/tr><\/thead><tbody><tr><td><code>MISSING_COLUMNS<\/code><\/td><td>Expected column(s) missing<\/td><td>Check the CSV header and structure<\/td><\/tr><tr><td><code>INVALID_PARAMETERS<\/code><\/td><td>Invalid field value<\/td><td>Correct the erroneous data (format, length, enumeration)<\/td><\/tr><tr><td><code>BAD_ROW<\/code><\/td><td>Malformed line<\/td><td>Check the separator and the number of columns in the line<\/td><\/tr><tr><td><code>COMPUTATION_EXCEPTION<\/code><\/td><td>Internal processing error<\/td><td>Contact CentralPay support<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<p class=\"wp-block-paragraph\"><em>(Non-exhaustive list. Messages are returned line by line and may concatenate multiple errors.)<\/em><\/p>\n\n<h3 class=\"wp-block-heading\">7.2 Customer reconciliation anomalies<\/h3>\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Message<\/th><th>Meaning<\/th><th>Action<\/th><\/tr><\/thead><tbody><tr><td><code>No customer fetch error<\/code><\/td><td>The customer linked to the operation is not found<\/td><td>Check the consistency of <code>CUSTOMER_ID<\/code> \/ <code>MERCHANT_CUSTOMER_ID<\/code>. If necessary, upload a <code>Customer<\/code> file for missing customers. <\/td><\/tr><tr><td><code>Too much customer found for merchant<\/code><\/td><td>Multiple customers share the same  <code>MERCHANT_CUSTOMER_ID<\/code><\/td><td>Ensure the uniqueness of your customer reference; contact us to arbitrate (merge \/ update).<\/td><\/tr><tr><td><code>Unexpected service response<\/code><\/td><td>CentralPay internal error<\/td><td>Contact CentralPay support<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h2 class=\"wp-block-heading\">8. Points of attention<\/h2>\n\n<ul class=\"wp-block-list\">\n<li>The <strong>header row is mandatory<\/strong> in each file.<\/li>\n\n\n\n<li>The <strong>amounts are in cents<\/strong> and always positive.<\/li>\n\n\n\n<li>An operation may appear in <strong>several successive <code>.SET<\/code><\/strong> if its status changes (<code>PENDING<\/code> \u2192 <code>ACCEPTED<\/code>\/<code>REFUSED<\/code>).<\/li>\n\n\n\n<li>Maintain the <strong><code>OPERATION_ID<\/code> \/ <code>CUSTOMER_ID<\/code><\/strong> mapping between your systems and CentralPay.<\/li>\n\n\n\n<li>Any initial setup is subject to a <strong>testing phase<\/strong> with the integration team before production.<\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\">9. Getting Started<\/h2>\n\n<ol class=\"wp-block-list\">\n<li>Check your prerequisites, especially the ICS chain + SDD service + Compliance validation if you plan direct debits.<\/li>\n\n\n\n<li>Request SFTP channel activation from your CentralPay contact.<\/li>\n\n\n\n<li>Prepare an example file and validate it in the testing environment.<\/li>\n\n\n\n<li>Go live.<\/li>\n<\/ol>\n\n<p class=\"wp-block-paragraph\"><em>For any questions regarding setup, contact your CentralPay representative or support.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>CentralPay File Import Service The File Import Service allows you to manage CentralPay operations in bulk by uploading simple CSV files instead of calling the API line by line. To date, two types of files are supported: For each file uploaded, CentralPay sends you report files indicating, line by line, what was accepted, refused, or [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":16299,"menu_order":4,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"doc_badge":[],"class_list":["post-16313","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>File Import - CentralPay Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"File Import - CentralPay Documentation\" \/>\n<meta property=\"og:description\" content=\"CentralPay File Import Service The File Import Service allows you to manage CentralPay operations in bulk by uploading simple CSV files instead of calling the API line by line. To date, two types of files are supported: For each file uploaded, CentralPay sends you report files indicating, line by line, what was accepted, refused, or [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/\" \/>\n<meta property=\"og:site_name\" content=\"CentralPay Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-12T14:03:46+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/automations-integrations-and-exports\\\/file-import\\\/\",\"url\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/automations-integrations-and-exports\\\/file-import\\\/\",\"name\":\"File Import - CentralPay Documentation\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#website\"},\"datePublished\":\"2026-06-08T15:49:37+00:00\",\"dateModified\":\"2026-08-12T14:03:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/automations-integrations-and-exports\\\/file-import\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/automations-integrations-and-exports\\\/file-import\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/automations-integrations-and-exports\\\/file-import\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automations, integrations and exports\",\"item\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/documentation\\\/automations-integrations-and-exports\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"File Import\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/\",\"name\":\"CentralPay Documentation\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#organization\",\"name\":\"CentralPay Documentation\",\"url\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/docs.centralpay.com\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-centralpay-2023.png\",\"contentUrl\":\"https:\\\/\\\/docs.centralpay.com\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-centralpay-2023.png\",\"width\":2382,\"height\":370,\"caption\":\"CentralPay Documentation\"},\"image\":{\"@id\":\"https:\\\/\\\/docs.centralpay.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"File Import - CentralPay Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/","og_locale":"en_US","og_type":"article","og_title":"File Import - CentralPay Documentation","og_description":"CentralPay File Import Service The File Import Service allows you to manage CentralPay operations in bulk by uploading simple CSV files instead of calling the API line by line. To date, two types of files are supported: For each file uploaded, CentralPay sends you report files indicating, line by line, what was accepted, refused, or [&hellip;]","og_url":"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/","og_site_name":"CentralPay Documentation","article_modified_time":"2026-08-12T14:03:46+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/","url":"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/","name":"File Import - CentralPay Documentation","isPartOf":{"@id":"https:\/\/docs.centralpay.com\/en\/#website"},"datePublished":"2026-06-08T15:49:37+00:00","dateModified":"2026-08-12T14:03:46+00:00","breadcrumb":{"@id":"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/file-import\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/docs.centralpay.com\/en\/"},{"@type":"ListItem","position":2,"name":"Automations, integrations and exports","item":"https:\/\/docs.centralpay.com\/en\/documentation\/automations-integrations-and-exports\/"},{"@type":"ListItem","position":3,"name":"File Import"}]},{"@type":"WebSite","@id":"https:\/\/docs.centralpay.com\/en\/#website","url":"https:\/\/docs.centralpay.com\/en\/","name":"CentralPay Documentation","description":"","publisher":{"@id":"https:\/\/docs.centralpay.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.centralpay.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/docs.centralpay.com\/en\/#organization","name":"CentralPay Documentation","url":"https:\/\/docs.centralpay.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/docs.centralpay.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2023\/07\/logo-centralpay-2023.png","contentUrl":"https:\/\/docs.centralpay.com\/wp-content\/uploads\/2023\/07\/logo-centralpay-2023.png","width":2382,"height":370,"caption":"CentralPay Documentation"},"image":{"@id":"https:\/\/docs.centralpay.com\/en\/#\/schema\/logo\/image\/"}}]}},"author_avatar":"https:\/\/secure.gravatar.com\/avatar\/f26ba73d1afc0520e4b1044ff088c0eda58eeaf8c325f16e76f4f944099091cc?s=96&d=mm&r=g","author_name":"Victor","_links":{"self":[{"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs\/16313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/comments?post=16313"}],"version-history":[{"count":1,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs\/16313\/revisions"}],"predecessor-version":[{"id":16316,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs\/16313\/revisions\/16316"}],"up":[{"embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/docs\/16299"}],"wp:attachment":[{"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/media?parent=16313"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/doc_tag?post=16313"},{"taxonomy":"doc_badge","embeddable":true,"href":"https:\/\/docs.centralpay.com\/en\/wp-json\/wp\/v2\/doc_badge?post=16313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}