Skip to main content
Pending validationOdoo 20.0Community and Enterprise

How to migrate the series and certified documents from the previous software

What is it for?​

A customer moving to fiscaldoo comes from an invoicing program that has already issued certified documents. There are two tasks, on two different screens:

  1. Migration of series: prepares, in draft, the series of each document type that the customer will issue in fiscaldoo, as a new series (the recommended path) or continuing the series of the previous software.
  2. Certified documents migration: brings into fiscaldoo, only for reference and for the SAF-T, the documents the previous software has already issued, with the signature it gave them. fiscaldoo never signs them again.

Neither screen communicates anything to the Tax and Customs Authority (AT).

When to use it?​

  • When the customer issued invoices in another program and will now issue them in fiscaldoo.
  • When the year's invoicing SAF-T must include the documents issued before the switch.
  • Do not use it to create series for a customer who has never invoiced in another program: for that case see the document series.
  • Do not use the document import for receipts and delivery notes you only want to archive: these follow another path (see validate the migration).

Where to find it?​

Accounting › Configure › Migration and imports › Migration of series and Certified documents migration. Checked in the menu with a user created with each profile only:

ProfileMigration of seriesCertified documents migration
Certified accountantSees itSees it
AuditorDoes not see it (in Migration and imports it has only Data import log)Does not see it
AccountantDoes not see itDoes not see it
AdministrativeDoes not see it (does not have the Accounting app)Does not see it

Before you start​

  • Your profile is Certified accountant.

  • At the top of the screen, choose the company you are migrating. The series and documents are created in that company.

  • For the series: have at hand, for each document type, the series identifier in the previous software (in FT A2025/123 it is A2025). If you will continue the series, also have the number and date of the last document issued and the validation code the AT already gave that series.

  • For the documents: a CSV file in UTF-8, with a semicolon between columns, one row per document. Columns used in this example (with made-up data):

    document_noinvoice_datesystem_entry_dategross_totalhashprevious_hashcustomer_nifcustomer_namenet_totaltax_rate
    FT A2025/12025-11-032025-11-03T10:15:00123.00document signature(empty on the first)599999993Cliente Alfa, Lda100.0023
    FT A2025/22025-11-102025-11-10T11:30:00246.00document signaturesignature of FT A2025/1599999993Cliente Alfa, Lda200.0023

    The system entry date is that of the previous software, exactly as it was signed, and is never converted. The hash_control, atcud and customer_country columns are also read. Fill in atcud with the ATCUD the previous software gave each document: fiscaldoo stores it as it comes and uses it in the SAF-T. If the column is missing or empty, the SAF-T carries 0 in that field, which is not acceptable for documents issued after the ATCUD became mandatory. fiscaldoo never generates an ATCUD for these documents, because the series is that of the previous software.

  • The public key of the previous software, if you have it (text starting with -----BEGIN PUBLIC KEY-----). With it, fiscaldoo confirms that each signature really comes from the previous software; without it, it only checks the form of the signature and flags it as “not verified”. Never ask for or type the private key.

How to use it​

Part 1: the series of each document type​

  1. Open Migration of series. The window explains the two options and shows the Start date of the new series: from October onwards, the first day of the following year (in the demo, 01/01/2027); before October, today. Change it if the customer will start issuing on another date.
  2. Click Add a line and choose the Type of document (for example [FT] Fatura) and the Journal that issues it. Transport and working documents do not need a journal; the others do.
  3. In What to do, leave New series (recommended). Type the Series in the previous software (A2025): the Series identifier is proposed with the year of the start date (A2027) and you can change it. An identifier never used before is what the AT accepts for a new series.
  4. To continue the series of the previous software, change What to do to Continue the series of the previous software. The identifier becomes the old one. Fill in the Last number used, the Date of the last document and the AT validation code.
  5. Repeat for each document type. The Check column of each line says what is wrong (see “Common problems”); the Imported documents column shows, when you have already imported documents of that series, the number and date they go up to.
  6. Click Create the series. The product opens the Fiscal series list with the series created, all in Draft. In the continued series the Next number is the one after the last used (322), and the series log says “Created by the migration assistant: continues the series of the previous software, after number 321.”.

Part 2: the documents already issued​

  1. Open Certified documents migration and click New.
  2. In What the file brings, choose Documents certified by another software (the other two options are Signatures of documents already integrated and Analytic distribution of imported documents). Fill in Origin software, the Origin certificate number and the Issuer tax number in the file, which is required and must be the company's.
  3. In Export file (CSV), choose the file and, in Public key of the origin software, paste the public key.
  4. Click Validate. Nothing is written to the documents at this step. The form shows Count Ok, Count Rejected, Duplicates and the Report, which includes the numbering gaps (the year's SAF-T refuses a gap without justification; a document cancelled at the source must come in the file with status A and its number). The Documents button opens the list, with the result and reason for each row.
  5. When the report is as expected, click Import the valid lines and Confirm. Only the valid ones go in.
  6. The batch becomes Imported. The documents are Published in a journal with the type and series of the previous software (in the example, FT A2025), with the number, date, total and signature from the file, and with the ATCUD the file carries in the atcud column (fiscaldoo generates none); the signature is flagged as imported. In this article's example the file has no ATCUD.

Expected result​

  • Series in Draft, one per document type, with the identifier, the year and, in continued ones, the next number after the last used. Each series carries a note saying how it was created.
  • Documents of the previous software as Published invoices in a journal with the type and series of the previous software (in the example, the FT A2025 journal, with FT A2025/1, FT A2025/2 and FT A2025/3, of €123.00, €246.00 and €61.50), an entry in the import log with 3 Records created, and fiscaldoo's signature chain intact: the first document of the new series starts with an empty previous signature.

Important notes​

  • New series or continue? The new series is the safest: numbering starting at 1 and a new identifier. Continuing is only justified if the customer really has to keep the identifier, and it requires the exact number and date of the last document. Talk to the certified accountant first. Pending validation by a certified accountant: when a series of the previous software can be continued.
  • A series continued for a year different from that of the identifier (in the demo, B2025 created with start date 01/01/2027) shows Year 2027 in the list. Pending validation by a certified accountant: the year of the continued series.
  • The wizard creates only series; it does not issue documents or communicate to the AT. If you leave the Communication date empty when continuing a series with a code, the series gets today's date as its communication date.
  • An Imported batch is never changed or deleted. If you imported a batch in which no row went in (for example because the fiscal year was closed), fix the cause and create another batch.
  • The document import does not create or change fiscaldoo series; that is why Part 1 later refuses an identifier that already appears in the imported documents.

Common problems​

“Give the identifier of the series”​

  • Symptom: the line shows the warning “Give the identifier of the series of [FT] Fatura (for example "A2027"): it is how the AT knows the series and it cannot be left empty.”, and Create the series answers “Invalid Operation. The series of [FT] Fatura cannot be created. … Correct the line and create the series again. Nothing was created.”
  • What to do: type the identifier (or the Series in the previous software, which proposes it).

“The identifier … was already used”​

  • Symptom: “The identifier "D26" was already used for [FT] Fatura in this database (series "FT D26"). The AT only accepts an identifier once and its numbering never starts again. Choose another identifier.”
  • What to do: choose a new identifier for that document type (for example with the year). The same identifier can exist for another document type.

The identifier already appears in the imported documents​

  • Symptom: with New series, and after importing documents FT G2026/1 and FT G2026/2, the line says “Imported documents of this series go up to number 2, dated 20/10/2026. The identifier "G2026" already appears on documents imported from the previous software. A new series needs an identifier never used: choose another one (for example with the year), or choose to continue that series.”
  • What to do: choose another identifier or switch to Continue the series of the previous software.

“The last number used … is lower than a number already imported”​

  • Symptom: when continuing that series with last number 1: “The last number used (1) is lower than a number already imported from the previous software (2). The numbering would repeat numbers: give the real last number, at least 2.”
  • What to do: correct it to the real last number (2 or more) and the date of the last document (20/10/2026). With 2 and 20/10/2026 the line has no warning.

“The series … needs a certified journal”​

  • Symptom: “Validation Error. The series "NC C2027" needs a certified journal. Why: Only the transport documents (GT, GR, GA, GC, GD) and the working documents (OR, PF, NE...) have series without a journal. How to fix it: Choose the certified journal that issues this kind of document.”
  • What to do: choose the line's Journal (for the credit note, the sales journal) and create the series again.

Rejected documents: “Invalid signature”​

  • Symptom: in the document list, Rejected: “Invalid signature: it does not match the data of FT A2025/2 (date, system entry date, number, total and previous signature) under the public key given. The document was changed after being signed, or the key is not the one of the origin software.” (here, the total in the file was changed to 250.00 after signing).
  • What to do: ask the previous software for a new export; do not correct the total by hand. The other rows remain valid and the report shows that number 2 is missing from the series.

Duplicate documents​

  • Symptom: Duplicate: “The document FT A2025/1 is already integrated in this company (FT A2025/1): it is not imported again.”
  • What to do: nothing: the document is already in. Import only what is missing.

“The fiscal year … is closed”​

  • Symptom: when importing into a company with the year 2025 closed, each row is Rejected with “The fiscal year 2025 (01/01/2025 to 31/12/2025) is closed: you cannot create the entry (new, unsaved) dated 03/11/2025. … ask Fiscal administration for an exception with a reason (Accounting › Close › Year-end closing › Year-end closing panel › Lock dates and exceptions).” The batch becomes Imported with 0 imported.
  • What to do: open the exception with a reason and import a new batch (the batch already imported cannot be redone). Pending validation by a certified accountant: reopening a closed fiscal year to bring in documents from the previous software.

The file is not accepted​

  • Symptom and cause: the product refuses a file that is not in UTF-8 (“Export it again from the origin software as CSV in UTF-8 …”), that has no document rows, or that has more than 50,000 rows (“split it and import each part in its own batch”). The Issuer tax number in the file field is required: without it, the screen says “Some required fields are not filled in”.
  • What to do: correct the file or the field and click Validate again.
Versions: Odoo 20.0Community and Enterprisefiscaldoo 20.0 (master 52d1dd3a)ID DOC-0301
Was this page helpful?