Odoo developer · ERP integrations · Computer EngineeringDesenvolvedor Odoo · Integrações de ERP · Engenharia da Computação
Gabriel Lucas
I connect Odoo to the systems a business depends on: monitoring and ITSM, WhatsApp, AI assistants, the tax authority and banks. Before that, I built and ran my own software product, from the code to the servers, billing and support.
Conecto o Odoo aos sistemas de que uma empresa depende: monitoramento e ITSM, WhatsApp, assistentes de IA, fisco e bancos. Antes disso, criei e mantive meu próprio software, do código aos servidores, à cobrança e ao suporte.
1,400+ GitHub contributions in the last year1.400+ contribuições no GitHub no último ano
Meta Tech Provider accreditationCredenciamento de Tech Provider na Meta
Founded a software product with 200+ monthly usersFundei um software com 200+ usuários por mês
Clients in Brazil and the USClientes no Brasil e nos EUA
Odoo developer and implementation consultant, January 2025 to present.
Desenvolvedor Odoo e consultor de implantação, de janeiro de 2025 até hoje.
OutViewOdoo implementation and developmentImplantação e desenvolvimento Odoo
NexViewOdoo product line; its first suite is NexView ITSMLinha de produtos para Odoo, cuja primeira suíte é a NexView ITSM
Bank integration layerCamada de integração bancária
A FastAPI service between Odoo and three Brazilian banks. Each bank is a provider that declares what it supports, and the routes are shared. On the Odoo side: boleto issuing and reissue, CNAB 240 files and statement import.
Um serviço FastAPI entre o Odoo e três bancos brasileiros. Cada banco é um provider que declara o que suporta, e as rotas são compartilhadas. No lado do Odoo: emissão e reemissão de boleto, arquivos CNAB 240 e importação de extrato.
Co-developed a Python SDK and REST API for the national service invoice (NFS-e Nacional) and NF-e. It builds the XML, signs it with the company's A1 certificate, sends it to the government and returns the XML and PDF to Odoo.
Codesenvolvi um SDK em Python e uma API REST para a NFS-e Nacional e a NF-e. Monta o XML, assina com o certificado A1 da empresa, envia ao governo e devolve o XML e o PDF ao Odoo.
Python · lxml · signxml · FastAPI · SOAP
Meta Tech Provider, end to endTech Provider da Meta, do zero à produção
Took OutView through Meta's Tech Provider accreditation: created the Meta app and linked it to the Business Manager, gathered the company documents for business verification, submitted App Review and built the required public pages (LGPD privacy policy, terms of use and service, data deletion request). Then built the Odoo side: Embedded Signup so each client connects its own WhatsApp Business number, message echoes to coexist with the WhatsApp Business app, and a webhook log for support.
Levei a OutView pelo credenciamento de Tech Provider da Meta: criei o app no Meta for Developers e vinculei ao Business Manager, reuni os documentos da empresa para a verificação, enviei o App Review e construí as páginas públicas exigidas (política de privacidade pela LGPD, termos de uso e de serviço, solicitação de exclusão de dados). Depois construí o lado do Odoo: Embedded Signup para cada cliente conectar o próprio número do WhatsApp Business, eco de mensagens para coexistir com o app WhatsApp Business e um log de webhooks para o suporte.
App Review approved and in production since September 2026App Review aprovado e em produção desde setembro de 2026Meta for Developers · Business Manager · WhatsApp Cloud API · Graph API · webhooks · Odoo
NexView ITSM
An ITIL-based ITSM suite on Odoo: helpdesk with a priority matrix, problem and change management, CMDB, subscriptions and a customer portal. Zabbix hosts and Bitdefender GravityZone licenses sync into the CMDB, recurring incidents surface as problem candidates, and Discord receives SLA alerts.
Uma suíte de ITSM no padrão ITIL sobre o Odoo: helpdesk com matriz de prioridade, gestão de problemas e mudanças, CMDB, assinaturas e portal do cliente. Os hosts do Zabbix e as licenças do Bitdefender GravityZone sincronizam no CMDB, incidentes recorrentes viram candidatos a problema e o Discord recebe alertas de SLA.
Main contributor: 379 of 513 commitsPrincipal autor: 379 de 513 commitsOdoo 19 · OWL · ITIL · Zabbix API · GravityZone API · Discord
Moved a US retailer from HighLevel to Odoo: about 8,500 contacts and 66,000 WhatsApp messages, with resumable extraction, idempotent loaders and rehearsals on a copy of production before the cutover.
Migrei um varejista dos EUA do HighLevel para o Odoo: cerca de 8.500 contatos e 66.000 mensagens de WhatsApp, com extração retomável, cargas idempotentes e ensaios numa cópia da produção antes do corte.
Python · HighLevel API · Odoo ORM · PostgreSQL
AI in the ERP and in the workflowIA no ERP e no fluxo de trabalho
An MCP connector that gives AI assistants access to Odoo limited per model and operation. I also maintain the team's Claude Code setup: hooks, commit gates and skills that turn our rules into checks.
Um conector MCP que dá a assistentes de IA acesso ao Odoo limitado por modelo e operação. Também mantenho a configuração de Claude Code do time: hooks, travas de commit e skills que transformam nossas regras em verificações.
MCP · Claude API · Claude Code · Python
Implementation consulting: Sales, CRM, Helpdesk, Subscriptions, Accounting and e-commerce, with POS and inventory in current projects. I also support a junior developer on the Wayfair and Walmart marketplace integrations of a US client. Client meetings in Portuguese, English and Spanish.
Consultoria de implantação: Vendas, CRM, Helpdesk, Assinaturas, Contabilidade e e-commerce, com PDV e estoque nos projetos atuais. Também dou suporte a um desenvolvedor júnior nas integrações com os marketplaces Wayfair e Walmart de um cliente dos EUA. Reuniões com clientes em português, inglês e espanhol.
What goes over the wireO que trafega nas integrações
Real message shapes from my integrations, with fictitious data. Pick a connection.
O formato real das mensagens das minhas integrações, com dados fictícios. Escolha uma conexão.
The host.get result the scheduled sync reads: host, status, interfaces, group and tags.O resultado do host.get que a sincronização agendada lê: host, status, interfaces, grupo e tags.
Each host becomes a CMDB asset; status 0 means monitored, and only the category, product, doc and impact tags are kept.Cada host vira um ativo do CMDB; status 0 significa monitorado, e só as tags category, product, doc e impact são mantidas.
The asset then links to tickets, problems and changes in NexView ITSM.O ativo passa a se ligar a tickets, problemas e mudanças na NexView ITSM.
A coexistence echo: a message the business sent from the WhatsApp Business app on the phone.Um eco de coexistência: uma mensagem que a empresa mandou pelo app WhatsApp Business no celular.
The module finds the account by WABA and phone number, checks Meta's signature, dedupes by wamid and posts it in the customer's conversation in Odoo.O módulo acha a conta pelo WABA e pelo número, confere a assinatura da Meta, elimina duplicatas pelo wamid e publica na conversa do cliente no Odoo.
Without it, half of every conversation would be missing in Odoo.Sem ele, metade de cada conversa faltaria no Odoo.
→ {"jsonrpc": "2.0", "id": 7, "method": "tools/call",
"params": {"name": "search_read", "arguments": {
"model": "helpdesk.ticket",
"domain": [["stage_id.fold", "=", false]],
"fields": ["name", "priority", "user_id"], "limit": 5}}}
← {"jsonrpc": "2.0", "id": 7, "result": {"content": [{"type": "text",
"text": "[{\"id\":29,\"name\":\"VPN down for northern branch\",\"priority\":\"2\",\"user_id\":[2,\"Mitchell Admin\"]}]"}]}}
→ {"jsonrpc": "2.0", "id": 8, "method": "tools/call",
"params": {"name": "search_read", "arguments": {
"model": "hr.employee", "fields": ["name", "job_title"]}}}
← {"jsonrpc": "2.0", "id": 8, "result": {"isError": true, "content": [{"type": "text",
"text": "'hr.employee': This information is not available through the assistant. Ask an administrator to enable the permission."}]}}
An AI assistant calling Odoo through the MCP connector: the first call is allowed, the second is refused.Um assistente de IA chamando o Odoo pelo conector MCP: a primeira chamada é permitida, a segunda é recusada.
Access is granted per model and per operation; a model without a grant returns the same polite refusal, never the data.O acesso é concedido por modelo e por operação; um modelo sem permissão devolve sempre a mesma recusa educada, nunca o dado.
Tool errors come back as results with isError, so the assistant can explain them instead of crashing.Erros de ferramenta voltam como resultado com isError, para que o assistente explique em vez de quebrar.
The DPS the SDK builds: the Id joins municipality, CNPJ, series and number into 45 characters.A DPS que o SDK monta: o Id junta município, CNPJ, série e número em 45 caracteres.
Signed with the company's A1 certificate (XMLDSig, RSA-SHA256, enveloped), sent gzipped and base64-encoded over mutual TLS.Assinada com o certificado A1 da empresa (XMLDSig, RSA-SHA256, enveloped), enviada compactada em gzip e base64 por TLS mútuo.
tpAmb 2 is the government's restricted production environment, used for testing.tpAmb 2 é o ambiente de produção restrita do governo, usado para testes.
Movement 01 = new titleMovimento 01 = entrada de título
01
018–022
BranchAgência
04321
024–035
AccountConta
000000123456
038–057
Our numberNosso número
000001234501014
063–077
DocumentDocumento
NF-000482
078–085
Due dateVencimento
10102026
086–100
Amount (cents)Valor (centavos)
000000000150000
110–117
Issue dateEmissão
26092026
196–220
Your referenceSua referência
INV/2026/00482
Segment P of a Sicoob remittance file: one boleto per record, every field at a fixed position, exactly 240 characters.Segmento P de um arquivo de remessa do Sicoob: um boleto por registro, cada campo numa posição fixa, exatamente 240 caracteres.
Amounts go in cents without a decimal point; dates as DDMMYYYY.Valores em centavos, sem vírgula; datas em DDMMAAAA.
Inter and Itaú are integrated through their REST APIs (mTLS + OAuth2) in the same bank service.Inter e Itaú entram pelas APIs REST deles (mTLS + OAuth2), no mesmo serviço bancário.
Freelance
Independent engagements, outside my work at OutView.
Projetos independentes, fora do meu trabalho na OutView.
Mar & Minas
24-hour convenience store · Posto Colorado · Vila Velha · in daily use since July 2026Loja de conveniência 24 horas · Posto Colorado · Vila Velha · em uso diário desde julho de 2026
The system the store runs on, built from scratch. The store panel covers point of sale, open tabs, cash register, bills, reports and a lunch-box line, and mirrors the gas station's WebPosto ERP: products, sales and cash registers sync through its API, and the system flags fiscal registration errors (NCM, CEST, ICMS-ST). On top of it runs the delivery website: storefront, bag, SMS sign-in, order tracking and chat with the store.
O sistema em que a loja roda, construído do zero. O painel da loja cobre PDV, comandas, caixa, boletos, relatórios e a linha de marmitex, e espelha o ERP WebPosto do posto: produtos, vendas e caixas sincronizam pela API dele, e o sistema aponta erros de cadastro fiscal (NCM, CEST, ICMS-ST). Em cima disso roda o site de delivery: vitrine, sacola, cadastro por SMS, acompanhamento do pedido e conversa com a loja.
The public API runs in a separate process that only opens the delivery database, so a hole in the website cannot reach cost, margin or cash data. I also helped register the domain, set up the store's server and advise the owners on the operation; the developer who will maintain it works under my supervision.
A API pública roda num processo separado, que só abre o banco do delivery: um furo no site não alcança custo, margem nem caixa. Também ajudei a registrar o domínio, montei o servidor da loja e dou consultoria aos donos na operação; o desenvolvedor que vai manter o sistema trabalha sob a minha supervisão.
57 automated test files · 292 products mirrored from WebPosto57 arquivos de teste automatizado · 292 produtos espelhados do WebPosto
My own software businessMeu próprio negócio de software
Founder and sole developer of a subscription software product, responsible for engineering, infrastructure, billing and customer support.
Fundador e único desenvolvedor de um software por assinatura, responsável pela engenharia, pela infraestrutura, pela cobrança e pelo suporte.
Tibia Macros
AutoHotkey · 2020 to 2026 · open source since 2026AutoHotkey · de 2020 a 2026 · open source desde 2026
Desktop automation for the MMORPG Tibia, sold as a monthly subscription. It reads the game screen by pattern matching (health and mana bars, battle list, cooldowns) and reacts with keyboard and mouse input. It reached more than 200 monthly users.
Automação desktop para o MMORPG Tibia, vendida por assinatura mensal. Lê a tela do jogo por comparação de padrões (barras de vida e mana, battle list, cooldowns) e reage com teclado e mouse. Passou de 200 usuários por mês.
After the game's publisher changed its policy on third-party software, I discontinued the service and released the source code as open source.
Depois que a empresa do jogo mudou a política sobre software de terceiros, descontinuei o serviço e publiquei o código-fonte como open source.
License and trial APIAPI de licença e trialFlask · SQLAlchemy · MySQL
Automated billing with e-mail deliveryCobrança automática com envio por e-mailStripe webhooks · e-mail
Auto-updateAtualização automáticaCDN
WebsiteSiteHTML · CSS · JS
Customer supportSuporte ao clienteDiscord
Servers and deploysServidores e deploysRailway · Vercel · Linux
Game server hosting and operationsHospedagem e operação de servidores de jogo
Since 2017Desde 2017
I hosted and ran Tibia (OpenTibia) and Minecraft servers myself: the servers on my own machines, MySQL databases, Lua scripts, port forwarding on the router to open them to the internet, and the community around them.
Hospedei e operei servidores de Tibia (OpenTibia) e Minecraft por conta própria: os servidores nas minhas máquinas, bancos MySQL, scripts em Lua, redirecionamento de portas no roteador para abri-los à internet e a comunidade em volta.
MySQL Tibia
Lua Tibia
XAMPP Tibia
Java Minecraft
Reverse engineeringEngenharia reversa
Memory analysis with Cheat Engine and x86 assembly, to understand how games store and manage their state.
Análise de memória com Cheat Engine e assembly x86, para entender como os jogos guardam e controlam o próprio estado.
Self-taught, before AI assistantsAutodidata, antes dos assistentes de IA
I learned from documentation, Stack Overflow, Harvard's CS50 and the AutoHotkey forum, where I wrote more than 200 posts. Today I work with AI agents every day and review what they produce with the habits I built without them.
Aprendi com documentação, Stack Overflow, o CS50 de Harvard e o fórum do AutoHotkey, onde escrevi mais de 200 posts. Hoje trabalho com agentes de IA todos os dias e reviso o que eles entregam com os hábitos que formei sem eles.
Grupo AutoBem
IT Technician & Data Analyst · gas station network · 2023Técnico de TI & Analista de Dados · rede de postos · 2023
At a gas station network with convenience stores, I kept the WebPosto server that linked the forecourt and the store running, set up the ERP, the POS and the TEF card terminals, and handled the network and hardware. I was also the QA of the team that rolled out a cashback system at one of the stations. On the data side: fueling, stock and sales analysis from the ERP's API, product registration automated in Linx Seller with Selenium and Playwright, and a Telegram bot for margin checks.
Numa rede de postos com lojas de conveniência, mantive o servidor do WebPosto que ligava a pista e a loja, configurei o ERP, o PDV e o TEF, e cuidei da rede e do hardware. Também fui o QA do time que implantou um sistema de cashback num dos postos. Na parte de dados: análise de abastecimento, estoque e vendas pela API do ERP, cadastro de produtos automatizado no Linx Seller com Selenium e Playwright e um bot de Telegram para consulta de margem.
Home lab
Raspberry Pi 4 · Umbrel · in productionRaspberry Pi 4 · Umbrel · em produção
A Raspberry Pi 4 with Umbrel runs two things I use every day. GestFi, my multi-currency personal finance app for people who earn in one currency and spend in others (Django 5.2, PostgreSQL, statement parsers for five banks plus OFX, encrypted backups), used by me and a friend through Tailscale. And my own Bitcoin and Lightning node, plus tooling I wrote to parse Bitcoin Core's raw block files.
Um Raspberry Pi 4 com Umbrel roda duas coisas que uso todo dia. O GestFi, minha aplicação de finanças pessoais multimoeda para quem ganha numa moeda e gasta em outras (Django 5.2, PostgreSQL, leitores de extrato de cinco bancos mais OFX, backup cifrado), usada por mim e por um amigo via Tailscale. E meu próprio nó de Bitcoin e Lightning, além de ferramentas que escrevi para ler os arquivos de bloco brutos do Bitcoin Core.
GestFi
Bitcoin Core
LND
Electrs
LNDg
Mempool
Umbrel
TimelineTrajetória
From 2022 onward, dates are taken from each project's first commit; earlier entries predate my use of Git.
De 2022 em diante, as datas vêm do primeiro commit de cada projeto; as anteriores são de antes de eu usar Git.
Began hosting and running Tibia and Minecraft game serversComecei a hospedar e operar servidores de Tibia e Minecraft
Founded Tibia Macros, my own software business, with automated Stripe billing and e-mail delivery from the startFundei o Tibia Macros, meu próprio negócio de software, já com cobrança automática pela Stripe e envio por e-mail
Studied Harvard's CS50 (C) and programming logicEstudei o CS50 de Harvard (C) e lógica de programação
Adopted Git and version control in every projectAdotei Git e controle de versão em todos os projetos
IT Technician & Data Analyst at Grupo AutoBemTécnico de TI & Analista de Dados no Grupo AutoBem
Began a B.Sc. in Computer Engineering at MultivixIniciei o bacharelado em Engenharia da Computação na Multivix
Joined OutView as an Odoo developer · First bank and e-invoicing integrations in OdooEntrei na OutView como desenvolvedor Odoo · Primeiras integrações bancárias e fiscais no Odoo
Meta Tech Provider approved · NFS-e SDK and bank API in production · Delivered the Mar & Minas store system · Released Tibia Macros as open source · Built GestFiTech Provider aprovado pela Meta · SDK de NFS-e e API bancária em produção · Entreguei o sistema da Mar & Minas · Publiquei o Tibia Macros como open source · Construí o GestFi
B.Sc. in Computer Engineering at Multivix (expected)Bacharelado em Engenharia da Computação na Multivix (previsão)
Stack
Grouped by how much I have used each one.
Agrupada pelo quanto usei cada item.
Daily, in productionUso diário, em produção
Python
Odoo 19 · ORM · OWL · QWeb
PostgreSQL
FastAPI
Django
Linux
Docker
Git
Odoo.sh
Claude Code
React
Node.js · Express
SQLite
Cloudflare Workers · Tunnel
Raspberry Pi
Tailscale
Integrations I have shippedIntegrações que entreguei
Sicoob API
Banco Inter API
Itaú API
CNAB 240
NFS-e Nacional · NF-e
Meta for Developers · Tech Provider
WhatsApp Cloud API
Stripe
Zabbix API
Bitdefender GravityZone
Claude API
MCP
Telegram Bot API
HighLevel API
WebPosto ERP
Used in projectsJá usei em projetos
Flask
SQLAlchemy
Next.js
Vite
JavaScript
Tailwind
MySQL
MongoDB
Selenium
Playwright
AutoHotkey
Lua
Java
XAMPP
Railway
Vercel
Hetzner
Google Cloud
systemd
Hyper-V · VMware
C
x86 Assembly
Cheat Engine
Bitcoin Core
StudyingEstudando
Kubernetes
Argo CD
Terraform
Redis
AWS
EducationFormação
B.Sc. Computer EngineeringEngenharia da ComputaçãoMultivix Vila Velha · 2024 to 2029 (expected)de 2024 a 2029 (previsão)
CS50Harvard's introduction to computer science, in C · in progressIntrodução à ciência da computação de Harvard, em C · em andamento
LanguagesIdiomas
PortuguesePortuguêsNativeNativo
EnglishInglêsAdvanced reading and listening, intermediate speakingLeitura e escuta avançadas, conversação intermediária
SpanishEspanholIntermediate, used in client meetingsIntermediário, uso em reuniões com clientes
ContactContato
Open to remote roles and Odoo projects, in Brazil or abroad.
Aberto a vagas remotas e projetos de Odoo, no Brasil ou no exterior.