Portfolio
Colégio Novo da Maia — Learning International School

LEINSCH Bank Importer
Importação Automática para Sage 100C

Automatiza a importação de extratos bancários do Santander, Millennium e Novo Bank diretamente para a contabilidade Sage 100C — de horas de trabalho manual para minutos.

⚙ .NET Framework 4.8 🖥 Windows Forms 🔌 Sage 100C COM API 🏦 Santander 🏦 Millennium BCP 🏦 Novo Bank 📄 CSV & Excel .xlsx
3
Banks Supported
26
Accounting Rules
CSV
& XLSX
File Formats
Sage
100C
Native Integration

The Problem It Solves

A importação manual de extratos bancários para o Sage 100C é um processo lento, repetitivo e propenso a erros.

⚠️

Manual Process — Antes

  • Consultar extrato bancário online ou em papel
  • Abrir o Sage 100C manualmente
  • Inserir cada transação uma a uma
  • Classificar contas de débito/crédito à mão
  • Verificar correspondência com regras SNC
  • Horas de trabalho repetitivo por mês
  • Erros humanos difíceis de detetar

Automated Process — Depois

  • Descarregar ficheiro CSV ou Excel do banco
  • Abrir o LEINSCH Bank Importer
  • Clicar em "Carregar" — transações importadas automaticamente
  • Motor de regras classifica em segundos
  • Rever e ajustar transações sem regra
  • Clicar em "Import to Sage" — concluído
  • Processo completo em minutos
📂

Leitura Automática

Parser dedicado para cada banco: CSV (Santander) e Excel .xlsx (Millennium BCP e Novo Bank). Deteção automática do formato e validação dos dados.

⚙️

Accounting Rules

26 regras pré-configuradas com critérios por banco, código de transação, tipo de movimento e descrição. Priority configurável, totalmente editáveis.

🔌

Importação Sage 100C

Integração nativa via COM API (Sage1GCOApi40). Cria documentos contabilísticos diretamente nas empresas configuradas, sem exportação intermédia.

🏦

Multi-Bank

Suporta Santander, Millennium BCP e Novo Bank no mesmo interface. Troca de banco com um clique — sem necessidade de configuração adicional.

👁️

Revisão Manual

DataGrid com semáforo visual: verde (classificado), amarelo (parcial), vermelho (sem regra). Permite ajuste manual antes da importação final.

📋

Logs Detalhados

NLog integrado com histórico completo de operações. Painel de log em tempo real na aplicação e ficheiros de log persistentes em AppData.

Santander

Leitura de ficheiro CSV exportado do homebanking Santander Companies. Parser com separadores variáveis e encoding PT.

CSV

Millennium BCP

Importação de Excel .xlsx com múltiplas folhas. Deteção automática do cabeçalho e linhas de saldo ignoradas.

Excel .xlsx

Novo Bank

File Excel com formato específico Novo Bank. Suporte a colunas Valor Debit e Valor Credit separadas.

Excel .xlsx

FormMain — Import Interface

O ecrã principal combina seleção de banco, carregamento de ficheiro, revisão de transações e importação para Sage numa única janela.

🏦 LEINSCH Bank Importer — Colégio Novo da Maia
File
Sage API
Help
Sage 100C Connection
Company:
Colégio Novo da Maia (LEINSCH)
Connected  — SQL-SERVER-01
Data Source
Bank:
File:
C:\Extratos\Santander_Marco2025.csv
Bank Transactions
Data Descrição Debit Credit Cód.Tx Cta Déb. Cta Cré. Desc. Contabilística Tipo Doc Regra Estado
2025-03-15 TRANSFERÊNCIA IMEDIATA 1.500,00 TRF 12.1.1 24.3.1 Transferência bancária DC Transfers
2025-03-14 SEPA DD RENDAS 2.300,00 SDD 23.1.1 12.1.1 Renda mensal DC SEPA DD
2025-03-13 MBWAY RECEBIMENTO 45,00 MBW 12.1.1 75.1.1 Recebimento MBWay REC MBWay
2025-03-12 COMISSÃO MANUTENÇÃO 15,50 COM 62.6.1 12.1.1 Comissão bancária DC Commissions
2025-03-11 SALÁRIOS 45.200,00 SAL 63.1.1 12.1.1 Vencimentos funcionários DC Salaries ⚠️
2025-03-10 PAGAMENTO FORNECEDOR XYZ 3.400,00 PAG No account defined DC No rule
5 de 6 selecionadas  |  Total Debit: 52.415,50€  |  Total Credit: 45,00€
[14:32:01] INFO : 6 transações carregadas do ficheiro Santander_Marco2025.csv
[14:32:01] INFO : Motor de regras: 4 classificadas, 1 parcial, 1 sem classificação
[14:32:01] WARN : Transação SALÁRIOS — regra aplicada mas verificação recomendada
[14:32:01] ERROR: Transação PAGAMENTO FORNECEDOR XYZ — nenhuma regra correspondente encontrada
🟢 Sage 100C — Connected  |  Company: LEINSCH  |  Base de dados: LEINSCH_BD LEINSCH Bank Importer v1.0  |  .NET 4.8 x86
Verde — Regra aplicada, contas atribuídas
Amarelo — Regra aplicada, verificação recomendada
Vermelho — No rule, intervenção manual necessária

FormRules — Editor de Accounting Rules

26 regras pré-configuradas com critérios por banco, código de transação e tipo de movimento. Totalmente editáveis e com sistema de prioridades.

⚙ Gestor de Accounting Rules
Rules
Templates
Edit
Test
Selecione um modelo para criar uma nova regra baseada em configurações pré-definidas:
🔄 Transfers Imediatas
📋 SEPA (Debits/Credits)
📱 MBWay Recebimentos
🏦 Commissions Bancárias
💼 Impostos Carimbo
👥 Salaries e TSU
🏠 Rendas / Alugueres
💳 Pagamentos Cartão
TAB: EDITAR — Exemplo: Regra "Transfers Imediatas"
Rule Name:
Transfers Imediatas
Priority:
10
Matching Criteria
Bank:
Santander
Cód. Transação:
TRF
Type:
Debit
Descrição (contém):
TRANSFERÊNCIA
Contabilização
Conta Debit:
12.1.1
Conta Credit:
24.3.1
Doc. Type:
DC
Desc. Contabilística:
Transferência bancária
Centro de Custo:
Opcional
Notas
Regra para transferências bancárias imediatas Santander. Usar conta 24.3.1 para entidades relacionadas.

26 regras configuradas  |  22 ativas, 4 inativas Última modificação: 2025-03-10

FormSettings — Configuração da Aplicação

Configuração da ligação à Sage API 100C, gestão de empresas e preferências por banco. Dados persistidos em JSON no AppData.

⚙ Settings — LEINSCH Bank Importer
Sage API 100C
Companies
Banks
General
Configuração Sage API 100C
Versão API:
Sage1GCOApi40
Percurso Sage:
C:\Sage100C\
Servidor SQL:
SQL-SERVER-01

Utilizador:
admin
Password:
••••••••
✔ Connected — Sage 100C v40
⚠ As credenciais são guardadas encriptadas em %AppData%\LEINSCH.BankImporter\settings.json
TAB: EMPRESAS — Gestão de empresas Sage
Código Name da Empresa Servidor BD Base de Dados Estado
LEINSCH Colégio Novo da Maia — Learning International School SQL-SERVER-01 LEINSCH_BD ● Active
Empresa selecionada: LEINSCH — Colégio Novo da Maia
Configuração carregada de %AppData%\LEINSCH.BankImporter\settings.json

Processo de Importação

Do ficheiro bancário ao documento contabilístico no Sage 100C — um processo guiado em 6 passos.

1
📂

Selecionar File

CSV ou Excel exportado do homebanking

2
🔍

Parser Bancário

Lê, valida e normaliza as transações

3
⚙️

Rules Engine

Classifica automaticamente com 26 regras SNC

4
👁️

Revisão Manual

Semáforo visual, ajuste de casos excepcionais

5

Importação Sage

COM API cria documentos contabilísticos

6
📊

Documentos Criados

Contabilidade atualizada no Sage 100C

Processo automático
Intervenção opcional
Sage Integration 100C

Stack Tecnológico

Construído sobre .NET Framework 4.8 com bibliotecas especializadas para parsing de ficheiros, integração COM e logging.

⚙️

.NET Framework 4.8

Runtime base. x86 obrigatório para compatibilidade COM Sage API 100C 32-bit.

🖥️

Windows Forms

Interface nativa Windows. DataGridView, TabControl, ComboBox e controlos standard.

🔌

Sage 100C COM API

Interop via Sage1GCOApi40. Criação de documentos e consulta de plano de contas.

📊

ClosedXML

File reading Excel .xlsx. Suporte a múltiplas folhas e deteção de cabeçalhos.

📄

ExcelDataReader

Parser alternativo para formatos Excel mais antigos e ficheiros com estruturas variáveis.

📋

NLog

Logging estruturado. Saída para painel UI em tempo real e ficheiros rotativos em AppData.

🔧

Newtonsoft.Json

Serialização da configuração e regras em JSON. File persistido em %AppData%\LEINSCH.

🗄️

SQL Server

Base de dados do Sage 100C. Acesso indireto via COM API — sem queries diretas necessárias.

Architecture em Camadas

Files de Entrada
Santander CSV
Millennium .xlsx
Novo Bank .xlsx
Bank Parsers
SantanderParser
MillenniumParser
NovoBankParser
Rules Engine
RulesEngine
RulesMatcher
26 Rules JSON
Sage API Service
SageApiService
DocumentBuilder
COM Interop
Sage 100C
Documentos DC
Documentos REC
Plano de Contas

Horas de trabalho manual,
agora em minutos.

Automatização completa do ciclo de importação bancária para o Sage 100C —
desenhado especificamente para as necessidades do Colégio Novo da Maia.

✔ 3 Banks Supported ✔ 26 Rules Pré-configuradas ✔ Native Integration Sage 100C ✔ CSV & Excel .xlsx ✔ Logs Completos ⚙ .NET Framework 4.8 x86
3
Formulários Windows Forms
(Main, Settings, Rules)
26
Rules contabilísticas
SNC pré-configuradas
Horas poupadas em
trabalho repetitivo