Onde está o botão e quando aparece
As fichas de migração abrem-se a partir do menu Verifactu / SIF › Configuration › Migration Runs. Se não vês um dos níveis do menu, falta-te a permissão: o nível Configuration exige SIF Manager, e o nível Verifactu / SIF exige Accountant, Asesoría Operator, Auditor (read-only), Privacy Officer ou SIF Manager.

O botão Run Pre-flight está no ecrã Migration Runs em todas as ramificações publicadas do módulo: Odoo 17, 18, 19 e 20. Nas quatro fica oculto quando o campo Estado não tem o valor com que aparece por defeito; com os valores por defeito, vê-se.
Quando a verificação termina sem se interromper, o campo Estado muda e o botão deixa de se ver. Se se interrompe por falta de ficheiro ou porque não se consegue analisar, o estado não muda e o botão continua disponível.

Run Pre-flight, porque o módulo não o traduz; em catalão, Executar Comprovació Prèvia.Passo a passo: o que faz ao carregar
O que se segue vem do código do Odoo 20.
- Escolhe o leitor do ficheiro de acordo com o sistema de origem da migração. Há leitores para vários programas de faturação e contabilidade (por exemplo Holded, Quipu ou Contasol) e um genérico de CSV, que se usa se o sistema não coincidir com nenhum.
- Verifica que o ficheiro foi carregado. O ficheiro está no campo
Fichero Origen, no grupoSourceda ficha da migração. Se estiver vazio, o botão é interrompido comNo file uploaded.e não se guarda nada. - Analisa o ficheiro com o leitor escolhido. Se o leitor falhar, o botão é interrompido com
Could not parse file: …, com o detalhe da falha no lugar das reticências. Também não se guarda nada. - Percorre as linhas obtidas e vai registando incidências (o detalhe, na secção seguinte). Registar uma incidência não interrompe o percurso.
- Guarda o resultado: a lista de incidências no registo da verificação, o total de registos lidos e a alteração do campo
Estado. - Substitui as linhas da migração: apaga as que existissem para essa migração e cria uma por cada linha lida, com o seu número, a sua data e o seu total originais e um estado inicial.
Um detalhe útil: a verificação prévia não descarta linhas. Mesmo que haja incidências, o passo seis cria uma linha por cada linha lida.
O que verifica em cada linha
O módulo percorre as linhas por ordem, começando pela primeira, e para cada uma pode registar o seguinte.
- NIF da contraparte. Apenas se a linha trouxer o identificador da contraparte, passa-o pelo validador de NIF do módulo, com o tipo de identificador da linha (se não trouxer tipo, usa NIF). Se não o validar, regista
Row … (…): Invalid NIF/CIF/NIE "…". Entre parênteses vai o número de fatura dessa linha, ou um ponto de interrogação se não o tiver; no fim, o identificador tal como vinha. - Número de fatura vazio. Se a linha não tem número, regista
Row …: missing invoice number (column not recognized or empty). - Número repetido. Se o número já tinha aparecido numa linha anterior, regista
Row …: Duplicate series number "…" (also row …). A segunda linha citada é a primeira em que esse número apareceu. - Avisos do leitor. Se o leitor assinalou a linha com um aviso próprio, regista-o como
Row …: …, com o texto do aviso.
O número de linha conta as linhas que o leitor obteve, e as incidências são registadas pela mesma ordem em que são verificadas.
O que muda quando a verificação termina
Quando o percurso termina sem se interromper, o módulo escreve três coisas na migração:
- A lista de incidências, guardada como texto, com os acentos e caracteres especiais tal e qual.
- O total de registos, que é o número de linhas lidas.
- O
Estado, que passa a um valor diferente do que tinha. Com essa alteração, o botão deixa de se ver.
Além disso, as linhas anteriores dessa migração são apagadas e voltam a ser criadas com o que acabou de ser lido.
O que fazer se se interrompe
No file uploaded.Carrega o ficheiro emFichero Origen, no grupoSourceda ficha, e volta a carregar no botão. Não se tinha guardado nada: o estado continua como estava e o botão continua visível.Could not parse file: …Lê o detalhe que vem a seguir aos dois pontos e verifica se o ficheiro corresponde ao sistema de origem da migração, porque o leitor é escolhido de acordo com esse sistema. Também não se guardou nada e o botão continua disponível.
Se o que vês são incidências de linha, o botão não foi interrompido: a verificação terminou e guardou-as. As linhas com NIF inválido, sem número ou com número repetido são as que podes rever no ficheiro de origem. Se quiseres saber em que muda o módulo de uma ramificação para outra, tens isso em o que muda entre as versões de Odoo publicadas.
Como a FlexigoTech ajuda
Se estás a implementar o Odoo e vais trazer faturas de outro programa, a FlexigoTech implementa Odoo 17, 18, 19 e 20 e desenvolve conectores e integrações à medida. Podes ver a app na sua ficha do Odoo Apps, publicada para as versões 17, 18, 19 e 20.
Continue a ler
Verificado no código do módulo (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigo_spain_verifactu 20.0 (1fdc980f): views/verifactu_migracion_views.xml
- Código do módulo: flexigo_spain_verifactu 20.0 (1fdc980f): models/verifactu_migracion.py
- apps.odoo.com/apps/modules/20.0/flexigo_spain_verifactu
- flexigotech.com/en/services.html
