Dónde aparece el módulo dentro de Odoo
Al instalarlo, en el menú principal aparece InvoiceNow SG. De ahí cuelgan dos ramas: InvoiceNow SG › Operations y InvoiceNow SG › Configuration. La ficha de Odoo Apps lo presenta con el titular Send InvoiceNow e-invoices from Odoo y tiene una sección propia, Before you buy: this app uses a paid external service, que avisa de que la app usa un servicio externo de pago. Ese servicio es FlexigoTech Cloud, del que hablamos más abajo.
La forma más rápida de orientarte es poner las dos ramas una al lado de la otra:
| InvoiceNow SG › Operations | InvoiceNow SG › Configuration |
|---|---|
Transaction Logs | Access Points |
Quarantine | PINT-SG Profiles |
Validation Errors | Encrypted Archives |
Inbound Errors | Metrics |
IRAS Reconciliation | Self Diagnostic |
Cada rama tiene cinco entradas. En Operations están las que, por su nombre, hablan de registros de transacciones, cuarentena, errores de validación, errores de entrada y conciliación con IRAS. En Configuration están los puntos de acceso, los perfiles PINT-SG, los archivos cifrados, las métricas y el autodiagnóstico. Si buscas una pantalla concreta, primero decide en qué columna de la tabla está y entra por esa rama.

PINT-SG Profiles, con un perfil por defecto y un perfil legado, los dos activos.
Access Points, aún sin registros: se ven el botón New, el buscador y las columnas.Las tareas programadas, comparadas por frecuencia
El módulo trae siete tareas programadas y todas figuran como activas. Ordenadas de la más frecuente a la menos frecuente:
| Tarea programada | Frecuencia | Activa |
|---|---|---|
InvoiceNow outbound retry | cada minuto | sí |
InvoiceNow poll inbound | cada 5 minutos | sí |
InvoiceNow reconcile sent invoices | cada 30 minutos | sí |
InvoiceNow credential expiry check | una vez al día | sí |
InvoiceNow profile expiry check | una vez al día | sí |
InvoiceNow purge retained archive payloads | una vez al día | sí |
InvoiceNow IRAS reconciliation | una vez al mes | sí |
La lectura de la tabla es sencilla. Hay tres tareas de ritmo corto, que corren en minutos: la de reintento de salida (outbound retry), la de consulta de entrada (poll inbound) y la de conciliación de facturas enviadas (reconcile sent invoices). Hay tres tareas diarias: la comprobación de caducidad de credenciales, la de caducidad de perfiles y la purga de contenidos retenidos del archivo. Y hay una sola tarea mensual, la conciliación con IRAS.
Los nombres de las tareas diarias enlazan con dos entradas de Configuration: la caducidad de perfiles con PINT-SG Profiles y la purga del archivo con Encrypted Archives, al menos por cómo se llaman. El nombre IRAS aparece en el menú IRAS Reconciliation, en la tarea mensual y en dos modelos que verás en la siguiente tabla.
Qué guarda el módulo: los modelos propios
Por debajo de los menús, el módulo crea sus propios modelos en la base de datos. Esta es la comparación entre el nombre técnico y la descripción que lleva en el código:
| Modelo técnico | Descripción en el código |
|---|---|
peppol.ap.config | Peppol Access Point Configuration |
peppol.profile | PINT-SG Profile Registry |
peppol.transaction.log | Peppol Transaction Log |
peppol.transaction.archive | Peppol Transaction Archive |
peppol.validation.error | Peppol Validation Error |
peppol.inbound.error | Peppol Inbound Mapping Error |
peppol.iras.reconciliation | IRAS Submission Reconciliation |
peppol.iras.reconciliation.line | IRAS Submission Reconciliation Line |
peppol.metric | Peppol Metric Counter |
peppol.dsar.wizard | Peppol PDPA Data Export |
Dos de estos modelos heredan de mail.thread: la configuración del punto de acceso (peppol.ap.config) y el registro de perfiles PINT-SG (peppol.profile). La conciliación con IRAS tiene cabecera (peppol.iras.reconciliation) y líneas (peppol.iras.reconciliation.line). Y hay un asistente, peppol.dsar.wizard, descrito como Peppol PDPA Data Export; la ficha de Odoo Apps incluye además una sección Privacy policy.

PINT-SG Profiles, Access Points (vacía) e Inbound Errors (vacía, con las columnas Move, Field Name, Raw Value y Reason).Si lo que quieres es saber qué estados recorre cada registro y qué campos rellenar al empezar, lo tienes en la puesta en marcha de Singapore InvoiceNow. Para los textos literales que pueden salir en Validation Errors o Inbound Errors, mira los mensajes de error y avisos del módulo.
Lo que pasa en tu Odoo y lo que pasa en FlexigoTech Cloud
Este módulo es un conector: una parte vive en tu Odoo y otra en FlexigoTech Cloud. Comparado:
| Aspecto | En tu Odoo | En FlexigoTech Cloud |
|---|---|---|
| Menús, tareas programadas y modelos | Los que has visto arriba | No aplica |
| Credenciales | No aplica | Se guardan cifradas |
| Sincronización | No aplica | Se vigila y avisa por correo si falla |
| Cambios en la API de la plataforma | Se adapta el módulo | Se adapta el servicio |
| Sin suscripción o con el servicio suspendido | Los datos se quedan | Se para lo que da la suscripción |
La fila importante es la última: si dejas de pagar o el servicio se suspende, se detiene lo que da la suscripción, pero lo que ya está en tu Odoo sigue ahí.
Versiones de Odoo y cómo te ayuda FlexigoTech
Singapore InvoiceNow está publicado en Odoo Apps para 17, 18, 19 y 20, a 9 € por versión de Odoo en pago único, sin IVA. La conexión va con el plan Conector, de 49 €/mes o 490 €/año sin IVA con hasta 3 cuentas de la plataforma (Pro: 98 €/mes o 980 €/año, hasta 10). Con la suscripción, el módulo para las versiones nuevas de Odoo va incluido si lo compraste en flexigotech.com; si lo compraste en el Odoo App Store, cada versión se compra allí.
En FlexigoTech implantamos Odoo 17, 18, 19 y 20 y desarrollamos conectores e integraciones a medida. Si quieres revisar cómo encaja InvoiceNow con tu facturación actual, tienes los detalles en la página del módulo en flexigotech.com y la ficha en Odoo Apps.
Sigue leyendo
Comprobado en el código del conector (versión 20.0) y en las fuentes enlazadas
Fuentes
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): views/menu_views.xml
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): data/ir_cron_data.xml
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): static/description/index.html
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): models/peppol_ap_config.py
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): models/peppol_inbound_error.py
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): models/peppol_iras_reconciliation.py
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): models/peppol_metric.py
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): models/peppol_profile.py
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): models/peppol_transaction_archive.py
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): models/peppol_transaction_log.py
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): models/peppol_validation_error.py
- Código del módulo: flexigo_singapore_invoicenow_peppol_pint_sg_connector_f 20.0 (18f2019d): wizard/peppol_dsar_wizard.py
- apps.odoo.com/apps/modules/20.0/flexigo_singapore_invoicenow_peppol_pint_sg_connector_f
- apps.odoo.com/apps/modules/17.0/flexigo_singapore_invoicenow_peppol_pint_sg_connector_f
- apps.odoo.com/apps/modules/18.0/flexigo_singapore_invoicenow_peppol_pint_sg_connector_f
- apps.odoo.com/apps/modules/19.0/flexigo_singapore_invoicenow_peppol_pint_sg_connector_f
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
