Gabriel Lucas
Illustrated portrait of Gabriel Lucas
Currently atAtualmente na
OutView NexView ITSM

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 19what I have connected it toao que já conectei

What I build nowO que construo hoje

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.

FastAPI · Pydantic · SQLAlchemy · mTLS · OAuth2 · Odoo

Brazilian e-invoicingNota fiscal eletrônica

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 2026 Meta 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 commits Odoo 19 · OWL · ITIL · Zabbix API · GravityZone API · Discord

CRM migrationMigração de CRM

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.

{
  "jsonrpc": "2.0",
  "result": [{
    "hostid": "10542",
    "host": "prod-web-01",
    "name": "PROD-WEB-01 (VM)",
    "status": "0",
    "description": "Customer portal, web tier",
    "interfaces": [{
      "interfaceid": "31", "ip": "10.10.20.15", "dns": "",
      "port": "10050", "type": "1", "main": "1", "useip": "1"
    }],
    "groups": [{ "groupid": "42", "name": "Production / Web" }],
    "tags": [
      { "tag": "category", "value": "Server" },
      { "tag": "impact", "value": "High" }
    ]
  }],
  "id": 1
}
  • 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.

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
  • React
  • Vite
  • Tailwind
  • Node.js
  • Express
  • SQLite
  • Cloudflare Workers · Tunnel
  • Tailscale
  • WebPosto APIAPI do WebPosto
  • SMS · Comtele

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 logo

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.

ResponsibilitiesResponsabilidades

  • Desktop clientCliente desktopAutoHotkey · OCR
  • 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
TibiaMinecraft

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
Cheat Engine

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.

Stack OverflowCS50

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.

AutoBem

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.

Raspberry PiGestFiBitcoin

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.

  1. Began hosting and running Tibia and Minecraft game serversComecei a hospedar e operar servidores de Tibia e Minecraft
  2. 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
  3. Studied Harvard's CS50 (C) and programming logicEstudei o CS50 de Harvard (C) e lógica de programação
  4. Adopted Git and version control in every projectAdotei Git e controle de versão em todos os projetos
  5. IT Technician & Data Analyst at Grupo AutoBemTécnico de TI & Analista de Dados no Grupo AutoBem
  6. Began a B.Sc. in Computer Engineering at MultivixIniciei o bacharelado em Engenharia da Computação na Multivix
  7. 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
  8. 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
  9. 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

  • MultivixB.Sc. Computer EngineeringEngenharia da ComputaçãoMultivix Vila Velha · 2024 to 2029 (expected)de 2024 a 2029 (previsão)
  • Harvard CS50CS50Harvard'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.

Buy me a coffeeMe pague um café

Bitcoin on-chain
bc1qlwrptn0jgnexylsycpecpqrekl7zert5hsrxv9
Lightning
satoshi@gabrielrcl.dev

Case study · Meta Tech Provider

From zero to Meta Tech Provider, and the errors the documentation does not explainDo zero a Tech Provider da Meta, e os erros que a documentação não explica

OutView · App Review approved on 5 September 2026 · in production since 11 September 2026 · Odoo 19, WhatsApp Cloud API, Graph APIOutView · App Review aprovado em 5 de setembro de 2026 · em produção desde 11 de setembro de 2026 · Odoo 19, WhatsApp Cloud API, Graph API

ContextContexto

OutView's clients wanted their own WhatsApp Business numbers inside Odoo, paid by themselves, without a reseller in the middle. That is what a Meta Tech Provider does: the client keeps the number, the account and the billing, and the provider's app is authorized to act on it.

Os clientes da OutView queriam o próprio número do WhatsApp Business dentro do Odoo, pago por eles mesmos, sem revendedor no meio. É isso que um Tech Provider da Meta faz: o cliente fica com o número, a conta e a cobrança, e o app do parceiro recebe autorização para agir sobre eles.

The accreditationO credenciamento

I created the Meta app and linked it to OutView's Business Manager, gathered the company documents for business verification, and built the public pages Meta requires before App Review: a privacy policy under LGPD, terms of use and of service, and a data deletion request page. App Review was approved on 5 September 2026.

Criei o app no Meta for Developers e vinculei ao Business Manager da OutView, reuni os documentos da empresa para a verificação e construí as páginas públicas que a Meta exige antes do App Review: política de privacidade pela LGPD, termos de uso e de serviço e uma página de solicitação de exclusão de dados. O App Review foi aprovado em 5 de setembro de 2026.

The Odoo sideO lado do Odoo

Embedded Signup returns a code that expires in about 30 seconds and has to be exchanged for the client's token on the server. That is why this is an Odoo module and not a script: the exchange happens server-side, each client gets its own token, and the webhook of each account can point to that client's own Odoo. Nothing about OutView is hardcoded, so the module can be sold. Two companion modules complete it: message echoes, so messages the client sends from the WhatsApp Business app on the phone also appear in Odoo, and a webhook log for support.

O Embedded Signup devolve um código que expira em cerca de 30 segundos e precisa ser trocado pelo token do cliente no servidor. Por isso isto é um módulo do Odoo e não um script: a troca acontece no servidor, cada cliente recebe o próprio token, e o webhook de cada conta pode apontar para o Odoo do próprio cliente. Nada sobre a OutView está fixo no código, para que o módulo possa ser vendido. Dois módulos irmãos completam o conjunto: o eco de mensagens, para que as mensagens que o cliente manda pelo app WhatsApp Business no celular também apareçam no Odoo, e um log de webhooks para o suporte.

What the documentation does not explainO que a documentação não explica

Error #200 ("you do not have the necessary permissions to send messages") looks like a token scope problem, and is not. It has three causes: the app has Standard instead of Advanced access (the token debugger shows scopes, not access level); the integration uses a different app from the one approved in App Review; or the client's account still carries another partner's credit line. An account onboarded in coexistence by a reseller keeps that reseller's credit line, and it cannot be migrated to a new partner: the way out is the client attaching their own payment method. Two smaller traps: listing client accounts requires the business_management permission, not whatsapp_business_management; and asking for a field that only resellers may read makes the Graph API fail the whole call, so fields have to be requested one by one.

O erro #200 ("você não tem as permissões necessárias para enviar mensagens") parece problema de escopo do token, e não é. Ele tem três causas: o app tem acesso Standard em vez de Advanced (o depurador de token mostra os escopos, não o nível de acesso); a integração usa um app diferente do aprovado no App Review; ou a conta do cliente ainda carrega a linha de crédito de outro parceiro. Uma conta cadastrada em coexistência por um revendedor fica com a linha de crédito dele, e ela não migra para um parceiro novo: a saída é o cliente anexar a própria forma de pagamento. Duas armadilhas menores: listar as contas dos clientes exige a permissão business_management, não whatsapp_business_management; e pedir um campo que só revendedor pode ler faz a Graph API derrubar a chamada inteira, então os campos precisam ser pedidos um a um.

ResultResultado

OutView is an approved Tech Provider, and the Embedded Signup module has been in production on its Odoo since 11 September 2026. I can take another company through the same accreditation.

A OutView é Tech Provider aprovado, e o módulo de Embedded Signup está em produção no Odoo dela desde 11 de setembro de 2026. Consigo levar outra empresa pelo mesmo credenciamento.