Skip to main content
Singapore InvoiceNow

How Singapore InvoiceNow works in Odoo: menus, scheduled actions and models

Singapore InvoiceNow adds an app to Odoo, InvoiceNow SG, with two menu branches (Operations and Configuration), seven active scheduled actions running from every minute to once a month, and a set of its own models prefixed peppol. The connection goes through FlexigoTech Cloud, which stores credentials encrypted and monitors synchronisation, while your data stays in your Odoo. Below, each piece is compared side by side.

FlexigoTech · Editor in charge: Víctor Gómez · Updated 4 November 2026

Key facts

Versions
Odoo 17, 18, 19 and 20
Checked
in the connector's source code, version 20.0 · against the sources linked at the end
Reading time
4 min

Where the module shows up in Odoo

Once installed, InvoiceNow SG appears in the main menu. Two branches hang from it: InvoiceNow SG › Operations and InvoiceNow SG › Configuration. The Odoo Apps listing introduces it with the heading Send InvoiceNow e-invoices from Odoo and has a section of its own, Before you buy: this app uses a paid external service, warning that the app relies on a paid external service. That service is FlexigoTech Cloud, covered further down.

The quickest way to find your bearings is to put the two branches side by side:

InvoiceNow SG › OperationsInvoiceNow SG › Configuration
Transaction LogsAccess Points
QuarantinePINT-SG Profiles
Validation ErrorsEncrypted Archives
Inbound ErrorsMetrics
IRAS ReconciliationSelf Diagnostic

Each branch has five entries. Under Operations you have the ones whose names refer to transaction logs, quarantine, validation errors, inbound errors and IRAS reconciliation. Under Configuration you have access points, PINT-SG profiles, encrypted archives, metrics and self diagnostic. If you are after a specific screen, work out which column of the table it sits in and go in through that branch.

List of PINT-SG profiles in the InvoiceNow SG app with two active records, one marked as default and one as legacy
The PINT-SG Profiles list, with a default profile and a legacy profile, both active.
List of Access Points in the InvoiceNow SG app with a New button, search bar and columns Name, Company, Provider, Sandbox, Connection Status and Credential Expiry
The Access Points list, still with no records: the New button, search bar and columns are visible.

The scheduled actions, compared by frequency

The module ships seven scheduled actions and all of them are listed as active. From most to least frequent:

Scheduled actionFrequencyActive
InvoiceNow outbound retryevery minuteyes
InvoiceNow poll inboundevery 5 minutesyes
InvoiceNow reconcile sent invoicesevery 30 minutesyes
InvoiceNow credential expiry checkonce a dayyes
InvoiceNow profile expiry checkonce a dayyes
InvoiceNow purge retained archive payloadsonce a dayyes
InvoiceNow IRAS reconciliationonce a monthyes

Reading the table is straightforward. Three actions run on a short cycle, measured in minutes: the outbound retry (outbound retry), the inbound poll (poll inbound) and the reconciliation of sent invoices (reconcile sent invoices). Three run daily: the credential expiry check, the profile expiry check and the purge of retained archive payloads. And just one runs monthly, the IRAS reconciliation.

The names of the daily actions line up with two Configuration entries: profile expiry with PINT-SG Profiles and the archive purge with Encrypted Archives, at least by name. The IRAS name appears in the IRAS Reconciliation menu, in the monthly action and in two models you will see in the next table.

What the module stores: its own models

Beneath the menus, the module creates its own models in the database. Here is the technical name next to the description it carries in the code:

Technical modelDescription in the code
peppol.ap.configPeppol Access Point Configuration
peppol.profilePINT-SG Profile Registry
peppol.transaction.logPeppol Transaction Log
peppol.transaction.archivePeppol Transaction Archive
peppol.validation.errorPeppol Validation Error
peppol.inbound.errorPeppol Inbound Mapping Error
peppol.iras.reconciliationIRAS Submission Reconciliation
peppol.iras.reconciliation.lineIRAS Submission Reconciliation Line
peppol.metricPeppol Metric Counter
peppol.dsar.wizardPeppol PDPA Data Export

Two of these models inherit from mail.thread: the access point configuration (peppol.ap.config) and the PINT-SG profile registry (peppol.profile). IRAS reconciliation has a header (peppol.iras.reconciliation) and lines (peppol.iras.reconciliation.line). There is also a wizard, peppol.dsar.wizard, described as Peppol PDPA Data Export; the Odoo Apps listing also includes a Privacy policy section.

Walk-through of the InvoiceNow SG app: the PINT-SG profiles list, the Access Points list with no records and the Inbound Errors list with no records
A walk through PINT-SG Profiles, Access Points (empty) and Inbound Errors (empty, with the columns Move, Field Name, Raw Value and Reason).

If you want to know which states each record goes through and which fields to fill in at the start, see setting up Singapore InvoiceNow. For the literal texts that may appear in Validation Errors or Inbound Errors, see the module's error messages and warnings.

What happens in your Odoo and what happens in FlexigoTech Cloud

This module is a connector: one part lives in your Odoo and another in FlexigoTech Cloud. Compared:

AspectIn your OdooIn FlexigoTech Cloud
Menus, scheduled actions and modelsThe ones shown aboveNot applicable
CredentialsNot applicableStored encrypted
SynchronisationNot applicableMonitored, with an email alert if it fails
Changes to the platform's APIThe module is adaptedThe service is adapted
No subscription or service suspendedYour data staysWhat the subscription provides stops

The row that matters is the last one: if you stop paying or the service is suspended, what the subscription provides stops, but what is already in your Odoo stays there.

Odoo versions and how FlexigoTech can help

Singapore InvoiceNow is published on Odoo Apps for 17, 18, 19 and 20, at €9 per Odoo version as a one-off payment, excluding VAT. The connection runs on the Connector plan, at €49/month or €490/year excluding VAT with up to 3 platform accounts (Pro: €98/month or €980/year, up to 10). With the subscription, the module for new Odoo versions is included if you bought it on flexigotech.com; if you bought it on the Odoo App Store, each version is purchased there.

At FlexigoTech we implement Odoo 17, 18, 19 and 20 and build bespoke connectors and integrations. If you want to check how InvoiceNow fits your current invoicing, you will find the details on the module page at flexigotech.com and the listing on Odoo Apps.

Keep reading

Singapore InvoiceNow errors and warnings in Odoo: when they appear and what to doEvery Singapore InvoiceNow error message in Odoo, word for word: when it appears, what it means and what to do about profiles, Access Points and keys.Setting up Singapore InvoiceNow in Odoo: settings, fields and statusesHow to set up Singapore InvoiceNow in Odoo: Access Points, credential, B2B and IRAS capabilities, the statuses each record uses and what to check in week one.Singapore InvoiceNow without Odoo: a checklist for moving your Peppol invoicing into OdooInvoicing through Singapore InvoiceNow but not on Odoo yet? What to note about your current process, what Odoo brings together and what to check in week one.
Checked in the connector's source code (version 20.0) and the linked sources

Sources