Medir directamente sobre el PDF
Fije la escala, trace el área, y cada medición cae en un registro que arrastra su plano y su revisión hasta el presupuesto.
Presupuesto
Empieza con más de 225 módulos integrados y luego crea o instala los tuyos. De la estimación al BIM y a la obra, con una API abierta, webhooks y un generador de módulos, para que la plataforma sea justo el software con el que funciona tu empresa.
En marcha en un comando
pip install openconstructionerp
docker compose up -d
+
más módulos
Ver el sistema de módulos
Toda la cadena en una toma: del plano a la medición, al presupuesto con sus márgenes y a la inspección en obra, sobre un solo modelo de datos.
Fije la escala, trace el área, y cada medición cae en un registro que arrastra su plano y su revisión hasta el presupuesto.
Presupuesto
Las capas se mantienen separadas, de modo que una pantalla de pilotes secantes se mide como tal, en lugar de como parte del plano en el que fue dibujada.
Mediciones
Cada elemento es contable, filtrable por planta y por disciplina, y enlaza directamente con una partida del presupuesto.
Mediciones
02
Una partida del presupuesto se abre a los recursos con los que fue valorada, cada uno con su propia clase y su propia moneda. El suministro turco se queda en liras, el aditivo en euros, el total en dólares.
Planificación 4D · Costes 5D
Cada precio lleva un mínimo, una media y un máximo, e indica cuántas partidas del presupuesto lo citan.
Presupuesto
Explore precios unitarios y precios compuestos por región y catálogo, o mantenga los suyos propios, y traiga un precio con la mano de obra, el material y la maquinaria detrás directamente al presupuesto.
Presupuesto
03
Presupuesto, comprometido, real y previsto en una sola pantalla, con el valor ganado leído directamente de los mismos datos en lugar de escrito en una hoja aparte. Le dirá el índice de rendimiento que necesita desde aquí para cerrar dentro del presupuesto.
Conciliación de coste y valor
El calendario se genera a partir de las partidas del presupuesto y permanece enlazado a ellas, de modo que una medición que cambia se lleva las fechas consigo.
Modelo 4D · Valor ganado
Cada riesgo se valora y se puntúa sobre el mismo proyecto, de modo que la provisión que usted mantiene es una suma de exposiciones concretas en lugar de un porcentaje al pie de página.
Órdenes de cambio
04
Cada consulta lleva su disciplina, su fecha límite y de quién es el turno, y una respuesta que llega con un coste se convierte directamente en una modificación.
Modificaciones · Submittals · Visor BIM
Cada inspección lleva su lista de comprobación, su resultado y su fecha, de modo que un fallo se convierte en una tarea con un responsable en lugar de una nota en el teléfono de alguien.
Lista de remates · NCR · Entrega
Coste frente a valor por partida de coste, con previsión y margen en cada línea, sobre una curva de flujo de caja que llega hasta la finalización. Una partida muestra un margen negativo, que es precisamente el objetivo de hacer la conciliación.
Flujo de caja · Certificaciones de obra
Vuelta al 01. Llega una revisión y las mismas cuatro etapas se repiten, sobre los mismos datos.
Cuatro roles llevan el ciclo de arriba. 19 más llevan su propia parte, y cada uno recibe un conjunto distinto de módulos.
Descargar
Una versión de escritorio nativa para Windows, macOS y Linux. Un solo instalador trae toda la plataforma con su propia base de datos integrada, no hay nada más que configurar. Gratis, de código abierto, y sus datos nunca salen de su disco.
Windows 10/11 - instalador de 64 bits
macOS 10.15+ - Apple Silicon
AppImage, deb y rpm
curl -fsSL https://openconstructionerp.com/install.sh | shUn comando y ya está funcionando
Instala y luego ejecuta
pip install openconstructionerpUna línea, app y base de datos
docker compose upInterfaz, precios e informes cambian de idioma a la vez: un proyectista en Varsovia y un jefe de obra en Lyon leen el mismo proyecto en el suyo. Pruébalo aquí.

Presupuestos, mediciones, planificación, documentos e importación CAD/BIM. Sin planes de pago ni límite de puestos.

Sin cuenta ni nube. Los proyectos quedan en una carpeta de su disco y funcionan sin conexión.

Base de datos, servidor e interfaz en un solo programa. Actualizar es ejecutar el siguiente instalador.
Ayuda de instalación Ver todas las compilaciones y sumas de comprobación en GitHub
I love how OpenConstructionERP goes beyond my expectations and is as complete as it gets for open-source apps. [...] The most valuable aspect for me is the cost data feature, which is typically hard to find. Additionally, the initial setup was very easy.
Ridwan W.Manager Project Engineering & PlanningSmall-Business (50 or fewer emp.)
Open-source, customizable software, built by professionals in the field
Profesional B.BIM ProfessionalMid-Market (51-1000 emp.)
Arbab AliSenior Quantity Surveyor, 17+ yearsBBS, takeoff and BOQ
“Free, local, and has PDF measurement with a large cost-item database. [...] For small contractors and freelance estimators, it's a solid free option for simple jobs.”
Victor Henrique FernandesCivil engineer, construction planningLean construction, BIM, cost estimating
“Not just another BIM tool. It is an attempt to build an open-source ERP for construction. [...] It is open source and can be self-hosted.”
Mohamed MustafaProject controls and planning leader15+ years in major infrastructure
“This isn't AI replacing estimators or planners. It's AI handing them better-structured data, faster reviews, and fewer soul-crushing manual steps.”
Un equipo de TI sólido y un presupuesto de desarrollo.
Un portátil que ya tiene y unos diez minutos.
La misma compilación funciona en un portátil, un servidor alquilado o tu propio rack. Empieza pequeño, crece después, no reescribas nada.
Un único instalador con su propia base de datos e interfaz. Se abre sin red alguna.
Una persona, funciona sin conexiónpip install openconstructionerp3 GB de memoria son el mínimo. La oficina y la obra abren el mismo proyecto en un navegador.
Todo el equipo, desde cualquier sitiodocker compose up -dFunciona dentro de tu propia red. Planos, costes y contratos permanecen en hardware que controlas.
La empresa, nada sale del edificioterraform applyLos ERP cerrados te imponen su forma de trabajar y cobran cada cambio. Con código abierto adaptas el software a tu empresa, y lo que construyes es tuyo.
Cambia el propio software
Trabaja como trabaja tu empresa
Conéctalo con las herramientas que ya usas
Recorridos breves sobre un proyecto real en la aplicación, desde la instalación hasta la entrega.
4:41
How to Install OpenConstructionERP | Windows Setup & First Project
Instala en Windows, abre el ejemplo, ajusta idioma y región, elige módulos, invita a tu equipo.
12:00
Mediciones, BOQ y presupuestación con IA. En tu propio portátil.
Un breve recorrido por todo el flujo: plano de entrada, oferta de salida.
4:48
Build a Construction Estimate Step by Step
Builder's Playbook: Getting Started
5:55
Mengen aus PDF und DWG ermitteln
Lernprojekt Landshut
5:34
GAEB-Dateien kontrolliert austauschen
Lernprojekt Landshut
4:23
Tender Work to Subcontractors
Builder's Playbook Canada: Ontario
4:45
Manage Construction Change Orders
Builder's Playbook Canada: Ontario
5:23
Chantier : suivre les heures et le matériel
Builder's Playbook : gestion de chantier
3:44
Réception des travaux et déficiences
Builder's Playbook Québec
OpenConstruction Academy
Series completas en inglés, alemán y francés
Todos los vídeos en YouTube
Leer un presupuesto, recargo y margen, mediciones desde PDF y BIM, Excel frente a software de presupuestos. Unos ocho minutos cada una.
Un proyecto por país, en su idioma, desde el primer presupuesto hasta la entrega.
10vídeos
USAENBuilder's Playbook USA: Construction Management with OpenConstructionERP
6vídeos
6vídeos
CanadaENBuilder's Playbook: Canada
12vídeos
8vídeos
4vídeos
5vídeos
QuébecFRBuilder's Playbook: Québec
8vídeos
7vídeos
9vídeos
5vídeos
8vídeos
Cada una recorre paso a paso un flujo de trabajo real de construcción, con qué hacer y por qué en cada etapa.
293 guías en 8 disciplinas
Escrito para un mercadoGermany13Australia10Brazil10Canada10China10Spain10United Kingdom10Hungary10India10Mexico10New Zealand10Russia10Saudi Arabia10United States10South Africa10
Detrás de cada precio unitario está su receta: horas de mano de obra, materiales y tiempo de maquinaria que el trabajo requiere, listos para retarifar en tu mercado.
Ejemplos resueltos a partir de las bases anteriores
Cada base tiene sus propias partidas y códigos de partida. Las bases con precio se muestran en euros para una comparación equivalente; las bases de coeficientes muestran cantidades de recursos de la norma nacional. Cada descripción se mantiene en el idioma que elegiste.
Elige el tipo de empresa que diriges y la plataforma activa los módulos de ese perfil, conectados en una base. Pasa el ratón por un perfil para iluminar su panal de módulos.
Cada perfil conserva el núcleo siempre activo de la plataforma: proyectos, la base de datos de costes, el catálogo de recursos, las composiciones, los paneles y la administración. Los perfiles nunca bloquean nada, simplemente priorizan los módulos más relevantes para ese trabajo, y puedes añadir o quitar cualquier módulo más adelante.
Tekhne
ATMIID
Optimum Technology
Elevait
MAD Engineers
Construccions 360 Plus
Tekhne
ATMIID
Optimum Technology
Elevait
MAD Engineers
Construccions 360 Plus
LMH
Niven Builders
Colas
Basil Read
C&C Consulting
LMH
Niven Builders
Colas
Basil Read
C&C Consulting
Tegrity Contractors
PW Pole Barns
Digitarh
Overzicht
CSTB
Forida
Yutopias
Virtuza
Tegrity Contractors
PW Pole Barns
Digitarh
Overzicht
CSTB
Forida
Yutopias
Virtuza
IC İçtaş
L&QL&Q
Rhomberg Sersa Rail Group
The Beck Group
Woolpert
Stecol
Tucrail
IC İçtaş
L&QL&Q
Rhomberg Sersa Rail Group
The Beck Group
Woolpert
Stecol
Tucrail
AGPL-3.0 en GitHub. Allí viven los issues y la hoja de ruta; lo próximo y lo que se rompió la semana pasada está en el historial de commits.
Cada issue y elemento de la hoja de ruta es público en GitHub. Abre un issue con una descripción precisa, nosotros lo implementamos y te damos el crédito.
Hechos simples que puedes comprobar tú mismo: una licencia abierta, formatos abiertos y tus datos en tu propio servidor.
Una comparación franca. Las suites comerciales ganan en unas pocas integraciones antiguas; en lo demás OpenConstructionERP iguala o supera, sin licencia.
| Capacidad | OpenConstructionERP | Suite empresarial de estimación | Herramienta para obra civil pesada | ERP de construcción legado |
|---|---|---|---|---|
| Núcleo open-source (AGPL-3.0) | ||||
| Autoalojar en tu infraestructura | ~ | ~ | ||
| Medición con IA desde PDF / foto | ~ | |||
| Ingesta multi-CAD (DWG / RVT / IFC ) | ||||
| Más de 120.000 partidas de costo listas para usar | ~ | ~ | ||
| Multijugador en tiempo real (CRDT) | ||||
| 44 idiomas en el i18n del núcleo | ~ | ~ | ||
| Arquitectura modular de plugins | ||||
| Costo típico / usuario / año | € 0 · autoalojado | Licencia por usuario | Licencia por usuario | Licencia por usuario |
| Implementación / onboarding | € 0 · docs + comunidad | Proyecto de implantación de pago | Proyecto de implantación de pago | Proyecto de implantación de pago |
| Duración del contrato | Ninguna · cancela cuando quieras | 1-3 años de permanencia | 1-3 años de permanencia | 3-5 años de permanencia |
Cada función es un paquete autocontenido. Lo enchufas, lo retiras - la instalación en marcha lo recoge en segundos, sin caídas.
Cada función es un paquete Python con un manifest, añadido sin recompilar. APIs tipadas, especificación OpenAPI generada.
make module-new NAME=oe_x. It creates backend/app/modules/x/ with manifest, models, schemas, repository, service, router, tests and a first migration.display_name, description, category and depends, for example ["oe_projects"].backend/alembic/versions, point its down_revision at the current head, then run make migrate and make module-test NAME=oe_x.Needs a source checkout and PostgreSQL. A restart loads the module.
# Sign in and keep the access token $ TOKEN=$(curl -s -X POST http://localhost:8080/api/v1/users/auth/login \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com", "password": "..."}' \ | jq -r .access_token) # Create a project $ curl -X POST http://localhost:8080/api/v1/projects/ \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "Logistics Hub", "region": "DACH", "classification_standard": "din276", "currency": "EUR"}' # → HTTP 201 Created, the new project as JSON # Every route: http://localhost:8080/api/docs
# backend/app/modules/punchlist/manifest.py from app.core.module_loader import ModuleManifest manifest = ModuleManifest( name="oe_punchlist", version="0.1.0", display_name="Punch List", description="Track deficiencies and snag items with photo evidence", category="core", depends=["oe_projects"], auto_install=True, enabled=True, ) # The loader finds the package and mounts its router # at /api/v1/punchlist.
Decisiones deliberadamente aburridas. Todo open-source.
Contabilidad y ERPCSV · JSON · REST
BIM y edición CADIFC · DWG · RVT · BCF
Almacenamiento documental y en la nubeREST · Webhooks
BI e informesParquet · JSON · SQL
Planificación del proyectoXER · XML · CSV
Automatización y webhooksWebhooks · APINo Revit. No AutoCAD.
RVT, DWG and IFC as data, fully standalone
Our converters read Revit 2019 to 2027, AutoCAD DWG and IFC files on your own Windows computer, offline, nothing uploaded. Professional-grade readers, and the Community version is free for everyone.
Las marcas pertenecen a sus propietarios; se muestran para indicar compatibilidad.
Sin dependencia de proveedor, por diseño.
Cada cifra se exporta, los formatos son abiertos y la misma API documentada de la app está abierta para ti. Tus datos son tuyos y puedes llevártelos cuando quieras.
Leer la documentación de integración y APIOpenConstructionERP nace de una década de investigación abierta en tecnología de la construcción.
Durante la última década, nuestro equipo ha trabajado en la gestión de recursos de proyectos de construcción. Por el camino nos entró la curiosidad por cómo surgieron las herramientas del sector, desde los primeros intentos de automatizar el diseño hasta las plataformas ERP de hoy, y eso se convirtió en un par de textos más largos («The Lobbyists’ Wars and the Development of BIM» y «The History of the BIM Map»). Es difícil ver hacia dónde vamos sin saber cómo hemos llegado hasta aquí.
Hemos escrito bastante sobre estos temas a lo largo de los años, y parte de ello ha tenido mucha audiencia. Además de escribir, hemos asesorado a constructoras, consultoras, promotores y proveedores de software sobre cómo manejan los datos de proyecto: como base para decidir y no como un subproducto. Ese trabajo nos permitió ver el sector desde los dos lados: quienes construyen las herramientas y quienes las usan cada día. Muchas de esas observaciones acabaron en el libro Data-Driven Construction, ya disponible en 16 idiomas (datadrivenconstruction.io/books).
Otros dos problemas nos mantuvieron ocupados. Uno era ayudar a quienes no son programadores a acceder a formatos de archivo propietarios que nunca se pensaron para abrirse. El otro, encontrar una forma más limpia de describir el trabajo de construcción mediante un modelo de recursos. Ambos dieron como resultado herramientas gratuitas: los conversores CAD/BIM de DDC (IFC, DWG, → datos estructurados) en GitHub, y CWICR, una base de datos multilingüe de trabajos y recursos de construcción, con más de 120 000 partidas en 11 idiomas, publicada como OpenConstructionEstimate-DDC-CWICR.
Todo eso fue el trabajo previo de algo que queríamos construir desde hacía mucho: un ERP abierto y modular para la construcción. La última generación de herramientas por fin permitió reunir en una sola plataforma la metodología, los modelos de datos y las implementaciones anteriores. Ahora es público y de código abierto.
El progreso nace del diálogo - del choque de perspectivas y de la apertura a nuevos enfoques. Agradecería tu participación en esta conversación sobre la inevitable «uberización» del sector de la construcción y la transparencia de los procesos de estimación de costes y plazos en los proyectos de obra.
DataDrivenConstruction Team
fundador, datadrivenconstruction.io
AECOM
VINCI Energies
Artelia
Merck
RBS wave
AECOM
VINCI Energies
Artelia
Merck
RBS wave
Shapemaker
Scholze-Thost
VRAME
AXIA Energia
AFRY
Hofschröer
TDF
Renaissance Construction
Shapemaker
Scholze-Thost
VRAME
AXIA Energia
AFRY
Hofschröer
TDF
Renaissance Construction
Sintagma
Trafikverket
TMM Group
Dar Al Riyadh
pbs Ingenieure
SCON GmbH
Sintagma
Trafikverket
TMM Group
Dar Al Riyadh
pbs Ingenieure
SCON GmbH
La mayoría de los archivos de diseño de obra civil son básicamente prisiones de datos. Un montón de información útil, alineaciones, superficies, cantidades, simplemente ahí, encerrada en formatos que nunca se pensaron para llevarse bien con nada fuera de su software original. He perdido demasiado tiempo intentando responder preguntas sencillas como '¿cuántas arquetas hay en esta obra?' o '¿cuál es el volumen por fase?', solo para descubrir que los datos están enterrados cinco capas dentro de un DWG o un DGN. Data Driven Construction resuelve eso. Sus conversores abren estos formatos cerrados y te dan datos estructurados realmente utilizables, en Power BI, en Excel, o incluso en un prompt de un LLM si estás haciendo algo más elaborado. No es vistoso, pero es tremendamente útil. Si intentas ir más allá de las capturas de pantalla y los PDF y usar de verdad tus datos de diseño, esta es la clase de herramienta que lo hace posible. Es la diferencia entre adivinar y saber. Y sinceramente, me ha salvado más de un sábado por la mañana.
Únete al movimiento con DataDrivenConstruction. Hagamos realidad la verdadera libertad en los formatos de datos y catalicemos una nueva era de productividad e innovación en la construcción. El viaje real y necesario de los formatos cerrados a los 'abiertos' ni siquiera ha comenzado: la verdadera libertad en los formatos de datos, libre de ataduras propietarias y accesible para todos, es lo que necesitamos para desbloquear la innovación y la colaboración en toda la industria de la construcción, beneficiando en particular al 99% del sector, es decir, las pymes, y liberando al sector para un crecimiento acelerado.
Toda la plataforma es gratuita y no hay nada oculto.
Lleva la plataforma a empresas que ya conoces y cobra por lo que aportas.
Sin comisiones, sin exclusividad, sin obligaciones para ninguna de las partes.
Úsalo por tu cuenta gratis bajo AGPL-3.0, elige un plan comercial cuando necesites soporte o una licencia de conversores, o hazte partner.
La plataforma open-source completa. Ejecútala en tu infraestructura, sin ataduras.
Descubrimiento → taller → elección de módulos → desarrollo → despliegue en tu hardware. Código fuente incluido.
Sesiones prácticas: presupuestación, BIM a BOQ, cuantificación con IA, pipelines GAEB. Grabadas para la biblioteca de tu equipo.
Mapeo de normativas, estrategia de base de precios, arquitectura del pipeline, revisión de código.
Solo se listan los talleres públicos seleccionados. Muchos contratos importantes con grandes empresas siguen bajo NDA.










¡Taller increíble, equipo de DataDrivenConstruction! ¡Los preparativos van a toda máquina! ¡Ya espero con ganas el hackatón del año nuevo! 💪🏻
¿Qué ocurre cuando no solo se organizan los procesos de construcción, sino que también se analizan de forma inteligente? Este fue el tema de nuestro taller con DataDrivenConstruction sobre «Data-Driven Construction». La pregunta central fue: cómo podemos aprovechar mejor los datos existentes para hacer que los proyectos de construcción sean más eficientes, más transparentes y menos propensos a errores. Con ejemplos concretos, DataDrivenConstruction mostró cómo los datos estructurados de construcción ayudan a mantener la visión general, detectar pronto los suplementos y mejorar la comunicación entre diseño y ejecución. Especialmente interesante: cómo las herramientas y modelos digitales pueden ya hoy automatizar procesos. La construcción basada en datos ya no es un tema del futuro - estamos justo en medio de ella. El taller mostró lo grande que es el potencial cuando trabajamos juntos y hacemos que los datos trabajen realmente para nosotros.
DataDrivenConstruction ofreció una presentación excepcional a todo el equipo de Shapemaker, brindando una visión profunda sobre la migración de datos desde software de ingeniería y temas relacionados. Su experiencia y comunicación clara hicieron que conceptos complejos fueran fáciles de captar, equipando a nuestro equipo con conocimientos prácticos aplicables de inmediato. ¡Recomiendo encarecidamente sus servicios a quien busque claridad y estrategias accionables en este campo!
El taller DataDrivenConstruction me pareció muy interesante. En mi opinión, todos pudieron seguirlo. Se nota en tus diapositivas cuánto tiempo, perseverancia y esfuerzo dedicaste. Las presentaciones en vivo también fueron geniales. Lo único que criticaría sería la cantidad de diapositivas - fueron demasiadas. Pero eso es quejarse al más alto nivel. En conjunto, fue el mejor taller al que he asistido. Además, eres una persona muy agradable.
Ich fande DataDrivenConstruction Workshop sehr interessant. Meiner Meinung nach konnten alle folgen. Man merkt auch anhand deiner Folien wieviel Zeit, Ausdauer und Mühe du hineingesteckt hast. Auch die Live Präsentationen waren super. Das einzige was ich bemängeln würde, wäre die Anzahl der Folien, dadurch kamen zu viele slides zustande. Aber das ist meckern auf dem höchsten Niveau. Rundum war es der beste Workshop bei dem ich war. Außerdem bist du auch eine sehr angenehme Person.
En conjunto, la formación DataDrivenConstruction me resultó realmente apasionante y muy enriquecedora. Lo que más me gustó: el contexto «histórico» de los distintos softwares CAD (fue fascinante y tenía algo de periodismo de investigación); el interesante enfoque de automatización con DataFrames; tus propios ejemplos prácticos de automatización de procesos en la construcción; y la mirada a tendencias actuales como Claude Code y OpenClaw - le diste vida al tema. Una pega: fue muchísima información en solo dos días. Al mismo tiempo, mostraste muy bien cómo podemos seguir orientándonos por nuestra cuenta - por ejemplo, documentando de forma estructurada nuestros procesos en el tablero de Miro. Muchas gracias de nuevo por la formación y el intercambio.
Die DataDrivenConstruction Schulung fand ich insgesamt wirklich spannend und sehr bereichernd. Besonders gut gefallen haben mir: der „historische“ Hintergrund zu den verschiedenen CAD-Softwares (das war spannend zu hören und hatte etwas von Investigativjournalismus); der interessante Ansatz zur Automatisierung über DataFrames; deine eigenen praxisnahen Beispiele zur Prozessautomatisierung im Bauwesen; und der Einblick in aktuelle Trends wie Claude Code und OpenClaw, du hast das Thema mit Leben gefüllt. Einziger Nachteil: Es war wirklich viel Input in nur zwei Tagen. Gleichzeitig hast du sehr gut aufgezeigt, wie wir uns selbst weiter orientieren können, zum Beispiel über das strukturierte Aufzeichnen unserer Prozesse im Miro-Board. Vielen Dank nochmal für die Schulung und den Austausch.
Fue un taller fantástico con contenidos apasionantes de los que nosotros, y yo personalmente, aprendimos muchísimo. Gracias por dedicarnos tanto tiempo. ¡Estamos deseando probar lo aprendido cuanto antes e incorporarlo a nuestros proyectos! #bleedingedge
Envíanos un breve briefing con tu presupuesto y plazos, y te responderemos.
make module-new, o descríbelo en el generador de módulos integrado y revisa cada archivo antes de instalarlo. Un módulo es una carpeta, así que puedes copiarlo a otra instalación y funciona igual. Buenos candidatos: bases de datos de costes regionales, conectores ERP, conjuntos de reglas de validación propios.La app de escritorio gratuita para Windows, macOS y Linux, o un solo comando en tu propio servidor. Código abierto bajo AGPL-3.0.
A module is a Python package under backend/app/modules with a manifest.py. You work from a source checkout with PostgreSQL, and the server loads new modules when it starts.
Run make module-new NAME=oe_x. It creates backend/app/modules/x/ with manifest, models, schemas, repository, service, router, tests and a first migration.
Set display_name, description, category and depends, for example ["oe_projects"].
Move the migration into backend/alembic/versions, point its down_revision at the current head, then run make migrate and make module-test NAME=oe_x.
Add the interface strings to the locale files (the app ships 40+ locales), restart the server and the module appears on the Modules page.
from app.core.module_loader import ModuleManifest
manifest = ModuleManifest(
name="oe_x",
version="0.1.0",
display_name="X",
description="What it adds",
category="core",
depends=["oe_projects"],
auto_install=True,
enabled=True,
)oe_ and is uniquemake module-test