Global
The Global editor holds settings that apply to the whole NomaUBL application — file system layout, processing helpers, email server, AI assistant, license / authentication, and the background scheduler that drives polling and batch document jobs.
Settings here are largely source-agnostic and apply whether documents come from JD Edwards, SAP, NetSuite or a custom ERP. A few BIP-specific knobs are explicitly called out where they appear.
The editor has six tabs:
- Directories — application home, file paths, batch state.
- Processing — XSL config path, Ghostscript command, processing options.
- Email / SMTP — outbound mail server.
- AI — Anthropic API key for the in-app AI Assistant.
- Authentication — license key + user authentication / session timeout.
- Scheduling — automatic PA polling intervals and recurring batch jobs.
At a glance
Tab 1 — Directories
Home Directories
| Field | Description |
|---|---|
| Application Home | Root install directory of NomaUBL (e.g. /app/nomaubl). Resolved by the %APP_HOME% placeholder used in document template paths. |
| Environment | Short environment name (e.g. demo, PD). Resolves the %ENV% placeholder used in document template paths (rtf, xsl, ublXslt) so the same template can target multiple environments. |
| Process Home | Working directory used by NomaUBL during processing (e.g. /app/nomaubl/process). |
File Paths
| Field | Description |
|---|---|
| Input Directory | Where new documents to process are dropped (XML spools, attachments…). |
| Process Directory | Where in-flight files live during processing. |
| Temp Directory | Scratch space for temporary artefacts. |
| Single Output Dir | Output directory for documents processed in single mode. |
| Bursting Directory | Output directory for documents produced by bursting mode (one file per invoice). |
| Errors Directory | Where a file that fails processing is moved. During a directory run, moving the failed file aside stops a repeated scan from retrying the same file endlessly. Leave it blank to keep the file in place (the previous behaviour). |
Batch Processing
| Field | Description |
|---|---|
| BIP job hosts | One high-water mark per JDE execution host (RJRPDEXHST). The mark tracks each host by job completion time, not by job number — a job number is assigned at submission, so a long-running job that finishes after a shorter, higher-numbered one could otherwise fall below the mark and never be fetched. The completion date is shown next to the job number for each host, and is editable. Add each host with its starting number (the first batch after an upgrade fills the date automatically), or click Retrieve last job # per host to seed them all from the current maximum; from then on they advance after each job, so an interrupted batch resumes exactly where it stopped. Only listed hosts are scanned. (BIP / JDE-specific.) |
| BIP Lookback (days) | Date floor on the BIP scan. 0 = no floor — every job after the watermark is eligible. N > 0 = only jobs updated in the last N days. Handy on a first install or after a long gap, to skip years of history rather than walking the whole queue. Applies to the manual scan, the scheduled batch and the nomaubl -fetch-all command. (BIP / JDE-specific.) |
Tab 2 — Processing
XSL Paths
| Field | Description |
|---|---|
| XDO Config | Path to the BI Publisher xdo.cfg configuration file used during PDF generation. |
Ghostscript
| Field | Description |
|---|---|
| GS Command | Full Ghostscript command line used for PDF post-processing (e.g. gs -dBATCH ...). Multi-line values are accepted. |
Options
| Field | Values | Description |
|---|---|---|
| Update DB | Y / N | When Y, processing runs persist their results to the database. Set to N only for dry runs / debugging. |
| Max threads | (blank = all cores) | Caps how many invoices are processed at once. An XML-spool template can process its whole input folder in a single parallel pass — much faster on a folder of thousands of single-invoice files, and used the same way by a scheduled scan, an on-demand run and the command-line batch. Each file stays its own unit (name, source archive and traceability kept) and one file's failure doesn't stop the others. Set a value to keep headroom for other services on a shared host; leave it blank to use every available core. UBL templates and per-job (BIP) processing are unaffected. |
debugProfile | Y / N | When Y, every processing run writes per-step timing rows to F564237 covering each pipeline stage: header parsing, lines parsing, validation, UBL emit, PA send. The rows surface on the Tech Dashboard — the Live process events tail flags them with their step name, and the Template processing time widget breaks the average down by stage. Leave at N in production; flip to Y for the duration of a batch run when triaging a slow pipeline. Disable once the slow stage is identified — the extra rows inflate F564237 quickly under load. |
PDF
| Field | Description |
|---|---|
| Logo path | Path to the company logo drawn at the top of the supplier block when a PDF template has Show logo on (see PDF Templates). Accepts the path variables %APP_HOME%, %ENV%, %PROCESS_HOME%, %KCO%, %DOC%, %DCT% and any {{token}} from the invoice catalogue — e.g. %APP_HOME%/logos/{{kco}}.png, so each company resolves to its own logo. A { } button opens a searchable token list. PNG, JPG and GIF are supported. |
| Logo offset X (pt) | Horizontal shift of the logo, in points, to absorb whitespace baked into the source image. Default 0. |
Tab 3 — Email / SMTP
Configures the outbound mail server NomaUBL uses to send notifications and document deliveries by email.
SMTP Server
| Field | Description |
|---|---|
| Host | SMTP host (e.g. smtp.example.com). |
| Port | SMTP port (typically 587 for STARTTLS, 465 for implicit SSL, 25 plain). |
| TLS (STARTTLS) | Y / N — upgrade the connection to TLS via STARTTLS. |
| SSL | Y / N — open the connection in implicit SSL mode (rare in modern SMTP, mutually exclusive with STARTTLS). |
SMTP Credentials
| Field | Description |
|---|---|
| Username | SMTP authentication user. |
| Password | SMTP authentication password. |
Sender
| Field | Description |
|---|---|
| From address | Default From: address on outbound mail (e.g. facturation@example.com). |
Tab 4 — AI
Anthropic AI
| Field | Description |
|---|---|
| API Key | Anthropic API key used by NomaUBL's in-app AI Assistant panel. Without a valid key, the AI Assistant is disabled. |
Tab 5 — Authentication
License
| Field | Description |
|---|---|
| License Key | Full NomaUBL license key. Without a valid key, the Navigation, Synchronisation and UBL menus are disabled — only Configuration remains accessible. |
Authentication
| Field | Description |
|---|---|
| Enable Authentication | Y / N — turn on password-based user login. When N, NomaUBL runs without a login wall (typically dev / on-prem behind a corporate VPN). |
| Auth Mode | internal / oidc / both — drives the login screen. internal (default) keeps the local username + password form. oidc switches to a single-sign-on button only. both shows the SSO button above the local form, so operators with a database account can still sign in if the IdP is unavailable. Pair with the OIDC template to configure the SSO side. |
| Session Timeout (minutes) | How long an authenticated user session remains valid. Default 480 (8 hours). |
With Auth Mode = internal (or both), the login screen exposes a Forgot password? link. The user is prompted for both username and email; if they match an active account, a one-shot link valid 60 minutes is sent to the email on file. The link lands on a dedicated page that lets the user choose a new password.
Requires SMTP configured under Tab 3 — Email / SMTP. Tokens are persisted in F564255 (see Database tables) and expire after a single use.
Tab 6 — Scheduling
Background tasks executed by NomaUBL when running in serve mode. Changes on this tab take effect after a server restart.
Import & Status Polling
| Field | Description |
|---|---|
| Import poll interval (min) | Minutes between automatic import-status polls for pending invoices (status 9906). 0 = disabled. |
| Status retrieval interval (min) | Minutes between automatic lifecycle-status retrievals from the PA. 0 = disabled. |
| Received fetch interval (min) | Minutes between automatic PA inbound sweeps — the same flow as the Sync → Fetch Input → PA inbound (supplier invoices) mode and the -fetch-received CLI. 0 = disabled. Persists the cursor of the highest issue date processed in lastFetchReceivedAt so each sweep only pulls invoices that arrived since the previous one. |
Bulk Send
Defaults for every bulk send to the PA — Send all waiting and Resend all on the Tech Dashboard, the invoice-list bulk resend, and the -send-waiting CLI. Each nightly Auto-Retry routine can override them on its own row.
| Field | Description |
|---|---|
| Parallel workers | (default 4) How many invoices are sent to the PA at the same time. Set 1 for the previous sequential behaviour. |
| Delay per worker (ms) | (default 100) Pause each worker waits between two calls, to stay inside the PA's rate budget. |
Batch Document Processing
A list of recurring batch jobs. Each job runs independently on its own interval and scans for new documents to process. Use + Add batch job to create one and the × button to delete one.
Per-job header fields
| Field | Description |
|---|---|
| Label | Human-readable name displayed in the job list (e.g. BIP invoices). |
| Interval (min) | Minutes between two runs. 0 = disabled (job exists but is not scheduled). |
Per-job parameters
The remaining fields configure how the job picks up and processes documents:
| Field | Values | Description |
|---|---|---|
| Process type | xml / ubl | xml = full pipeline (transform + process); ubl = direct UBL processing (input is already UBL). |
Template (when Process type = xml) | from list | Document template to apply. Lists templates of type document. |
Mode (when Process type = xml) | AUTO / SINGLE / BURST / UBL | Processing mode — AUTO lets NomaUBL decide; SINGLE and BURST force the corresponding output strategy; UBL produces UBL only. |
| Source | bip / directory | Where to fetch documents from: bip = JDE Print Queue (JDE-specific); directory = scan the Input Directory configured in Tab 1. |
Extract mode (when Source = bip) | input / output / both | Which BIP artefacts to pull: input = source XML only; output = generated output files only; both = both. |
Language filter (when Source = bip) | text | Optional BIP language filter (e.g. FR). Empty = all languages. |
| Replace existing | Y / N | When Y, re-import documents that already exist in NomaUBL (overwrite); when N, skip duplicates. |
Skip PA send (when Process type = xml) | Y / N | When Y, the job never sends to the Plateforme Agréée — it only produces UBL/PDF locally. |
Validate only (when Process type = ubl) | Y / N | When Y, validate the UBL without sending it to the PA. |
Send to PA (when Process type = ubl) | (use settings) / Y / N | Override the per-document-type "send to PA" decision: empty = use default; Y = force send; N = force skip. |
Tips & best practices
- Set Environment. The
%ENV%placeholder in document templates is what lets one configuration roll forward fromdemotoPDwithout editing every path. - Restart after changing scheduler values. All intervals on Tab 6 (and the batch jobs) are read once at startup; updating them in the UI only persists the value — you still need to restart.
- License gates the runtime. If you suddenly see Navigation / Sync / UBL menus disappear, double-check the License Key first.
- Pick
bipSource only when you actually have JDE. For other ERPs (SAP, NetSuite, custom), usedirectoryand drop their XML output into the Input Directory. - Use
validateOnlyto dry-run UBL. Pair it withSkip PA send(or its UBL equivalent) when migrating templates so you exercise the pipeline without touching the PA.