Advanced technical reference for bank, insurance, and large-corporate architecture, security, and integration teams. Covers Oman-region SaaS posture, API security layers, multi-application integration patterns, encryption, resilience, OWASP-aligned application & API controls, and ERP ↔ ASP ↔ OTA field mapping.
Audience Enterprise architects · InfoSec · Integration · ERPScope Multi-tenant ASP · PEPPOL / Fawtara · REST API · AppSecStandards PEPPOL · UBL · TLS · OWASP ASVS / API Top 10 · ISO-aligned ops
ConvergeX is a multi-tenant SaaS Access Service Provider (ASP) for Oman Fawtara / OTA e-invoicing on a PEPPOL-aligned foundation. Enterprise clients integrate via a secured REST API (or portal / bulk channels). ConvergeX validates business payloads, applies field-level encryption, persists durable records, generates UBL 2.1 evidence, and submits through the accredited Oxalis Access Point to the Oman Tax Authority network — returning structured acceptance / rejection artefacts to the caller.
What ConvergeX owns
Tenant isolation & API security plane
Validation, encryption, audit trail
UBL generation & compliance gating
Oxalis / OTA connectivity & correlation
Queues, retries, monitoring, DR tooling
What the enterprise owns
ERP / CBS / core / middleware systems of truth
Field mapping & master-data quality
Credential custody & network allowlisting
Business approval workflows
Reconciliation of tax outcomes in source systems
Figure 1 — ConvergeX between enterprise systems and Oman OTA / PEPPOL via Oxalis Access Point.
Integration boundary: ERP / core systems send business JSON to ConvergeX REST APIs. TDD generation, Schematron-aligned validation, SBDH / network transport concerns, and MLS events are handled inside the ASP layer — the enterprise does not implement raw PEPPOL transport.
2. Business & regulatory context
Oman’s national e-invoicing programme (Fawtara), administered by the Oman Tax Authority (OTA), requires structured electronic invoices. ConvergeX implements PEPPOL-aligned profiles (including
PINT OM) and produces UBL 2.1 artefacts while submitting operational payloads through the accredited Access Point.
Layer
Standard / control
ConvergeX role
Semantic
PEPPOL BIS 3.0 / PINT OM business terms
API field model & validation
Syntax
UBL 2.1 XML
Server-side generation & storage
Transport
OTA JSON API via Oxalis AP (AS4 toolkit available)
Outbound HTTPS with API key, correlation & idempotency
Identity
Participant / endpoint IDs (PEPPOL schemes)
Per-tenant Peppol network configuration
Evidence
Audit logs, government response JSON, TDD / compliance reports
Persisted per invoice
3. High-level solution architecture
Modular, service-oriented SaaS with clear separation of client, edge, application, processing, data, and external connectivity planes.
Figure 2 — High-level ConvergeX SaaS architecture for enterprise integration.
4. Oman / regional data-centre posture
ConvergeX production for Oman Fawtara customers is engineered as an enterprise-grade regional SaaS footprint: hardened edge, multi-AZ application and data tiers, continuous security monitoring, and operational controls expected by bank and insurer technology risk committees.
Compute & edge
TLS-terminated load balancers with health checks
WAF rules for common web/API abuse classes
Stateless app nodes behind the LB (horizontal scale)
Isolated worker fleets for async invoice / sync jobs
Data plane
Managed PostgreSQL with encryption at rest + TLS in transit
Automated backups and point-in-time recovery capability
Object storage for UBL / PDF / attachment artefacts
Redis for broker/cache with controlled network access
4.1 Control & observability stack
Platform operations align with the public ConvergeX trust pages and AWS-class monitoring services (CloudTrail, CloudWatch, GuardDuty, Config, Security Hub, WAF) for continuous detection and response — see also Security monitoring,
encryption in transit, and
encryption at rest.
For due-diligence workshops: ConvergeX can provide environment topology diagrams, network allowlist requirements, and credential rotation procedures under NDA for bank / insurer assessments.
Company API key (client credentials) with scopes & IP allowlist
ERP / middleware / ESB
OAuth-style tokens
POST /api/auth/token/ → access + refresh; POST /api/auth/token/refresh/
Long-running integrators
Interactive portal
Session + email MFA OTP
Operations / finance users
Bearer JWT
SimpleJWT access/refresh
Authenticated API clients
6. Multi-tenant data model
All business data is scoped to a Company (tenant). Large organisations may operate one or more tenants (legal entities / brands) with strict segregation enforced in ORM queries and API auth.
Figure 3 — Core relational entities (simplified). Invoice and master data remain company-scoped.
6.1 Traceability identifiers
Invoice number — unique per company
Invoice UUID — platform primary key
Tracking / processed references — assigned during processing
Government submission ID — OTA / Oxalis transaction or acceptance identifier
X-Correlation-Id / X-Idempotency-Key — outbound HTTP correlation to Oxalis
7. Multi-application integration within one organisation
Banks, insurers, and conglomerates rarely have a single billing system. ConvergeX is designed so multiple upstream applications can integrate safely under one (or more) tenants.
7.1 Recommended patterns
Pattern
How it works
When to use
Hub / ESB
Enterprise middleware owns mapping; one ConvergeX API credential set; fan-in from SAP, Oracle, custom apps
Strong central integration governance
Multi-key same tenant
Separate API keys per system (scopes + IP allowlists + rate limits), shared Company VAT / Peppol config
Independent release cycles; blast-radius control
Multi-tenant legal entities
One ConvergeX Company per legal entity; distinct Peppol participant IDs and tax profiles
Groups with multiple VAT registrations
Channel-specific adapters
POS / offline QR APIs for retail; Customer Master ERP sync for CRM/CBS; invoice create for AR
Heterogeneous channel estate
Isolation guarantee: API authentication always binds to a Company. Keys cannot read or mutate another tenant’s invoices. Within a tenant, RBAC and API scopes further constrain portal users and machine clients (invoice:create, invoice:read, etc.).
7.2 Identity of source systems
Integrators should pass stable ERP identifiers (for example customer erp_uuid, invoice numbers unique per company) so ConvergeX can support idempotent upserts, reconciliation, and Customer Master reuse across applications that share counterparties.
8. API layer — how third parties integrate
Machine clients call ConvergeX over HTTPS. Authenticate with company client credentials, optionally exchange for JWT access/refresh tokens, then invoke resource APIs with Authorization: Bearer …
or API-key headers as documented in the authenticated API documentation pack.
8.1 Primary surfaces
Method & path
Purpose
Auth
POST /api/auth/token/
Client credentials → access + refresh JWT
client_id / client_secret
POST /api/auth/token/refresh/
Rotate access token
refresh token
POST /api/invoices/create/ · …/submit/
Create invoice(s) from ERP JSON
API key / JWT + scopes
POST /api/invoices/<uuid>/submit/
Submit to Oxalis/OTA
Authenticated
GET /api/integration/jobs/<job_id>/
Poll async intake
API key / JWT
POST …/customers/erp/sync/
Customer Master B2B/B2C sync
Authenticated
…/compliance/, …/tdd-report/, …/ota-preview/
Evidence & preview
Authenticated
8.2 Sync vs async create
Synchronous (default)
Validates and persists on the request thread. Returns invoice identifiers and status (typically received).
Best for moderate volumes, immediate IDs
Asynchronous (?mode=async)
Fast accept → durable IntegrationJob → Celery worker. HTTP 202 with job_id. Poll until completed / failed / dead.
Best for high volume / burst traffic
8.3 Environments
Sandbox
Non-production Oxalis / OTA endpoints for mapping and soak tests. Separate credentials from production.
Production
Hardened, monitored estate. Production Peppol network configuration and live participant IDs.
Credential hygiene: Never embed client secrets in mobile apps or browser code. Prefer server-side middleware, IP allowlists, short-lived JWTs, and scheduled secret rotation.
9. Field mapping (ERP → ConvergeX ASP → PEPPOL / OTA)
ConvergeX exposes a PEPPOL-oriented JSON model. Enterprise middleware maps ERP/CBS columns into these fields. Optional per-tenant FieldMapping records can further normalise partner-specific payloads. Seller defaults may be derived from the company profile when omitted.
ERP / CBS / Core record
│ (middleware transform + enrichment)
▼
ConvergeX REST JSON ──validate──► encrypt sensitive fields ──► Invoice (+ lines/tax)
│
├── generate UBL 2.1 (compliance evidence)
└── on submit: build OTA outbound JSON ──POST──► Oxalis AP → OTA
Workshop recommendation: produce a controlled spreadsheet of source field → ConvergeX field → sample value → mandatory/optional → validation rule, signed by tax and IT. ConvergeX provides Postman collections and login-gated API documentation to accelerate this.
10. Async intake, messaging & queue processing
High-volume ERP traffic must not block on full validation and persistence. ConvergeX uses a
durable outbox (IntegrationJob) plus Celery/Redis workers, with Beat-driven retries for failed jobs.
Submit — build OTA JSON payload; POST to Oxalis with API key, correlation & idempotency headers.
4
Record — persist government_response, submission IDs, status; write processing logs.
5
Expose — retrieve status via invoice GET APIs, monitoring dashboards, or compliance reports.
12. ConvergeX → Oxalis Access Point → OTA
Government submission is performed by ConvergeX on behalf of the tenant. Per-company
PeppolNetworkConfig stores the OTA base URL, API key, and participant identity. On submit, ConvergeX builds an OTA outbound payload and POSTs to the appropriate Oxalis path (invoice / credit-note / debit-note / self-billing variants).
12.1 Security of the AP call
TLS to Oxalis base URL (tenant-configured)
Header X-API-Key from Peppol network configuration
X-Correlation-Id and X-Idempotency-Key for safe retries and tracing
Timeouts and structured error capture into invoice government response
Architecture note: Native AS4 helpers exist in the platform toolkit, but the live Oman operational path used by invoice submit is the OTA JSON API through Oxalis. MLS webhooks remain available for network events.
13. Response recording & return path
Oxalis/OTA outcomes are first-class invoice data — not ephemeral logs only.
Recommended pattern: treat ConvergeX invoice UUID + government submission ID as the reconciliation key between ERP posting and tax-authority acceptance.
14. Inbound documents (buyer / supplier side)
For documents addressed to the tenant as buyer, ConvergeX runs an inbound sync processor that polls the Oxalis/OTA inbound documents API, persists InboundDocument records, and surfaces them in the supplier incoming documents experience — complementing outbound sales-invoice flows.
Periodic poll (configurable; typically on the order of minutes)
PostgreSQL advisory lock to prevent duplicate workers
Cursor-based fetch against Peppol network configuration
15. Security layers — monitoring, encryption, access control
ConvergeX applies defence-in-depth across edge, application, data, and operations planes. Sections 16–18 expand the controls typically reviewed in bank / insurer application-security questionnaires (secure coding, OWASP API Top 10, SDLC & SIEM readiness).
15.1 Encryption in transit
HTTPS only in production (HSTS, secure cookies, TLS-terminated load balancer)
CloudTrail, CloudWatch, GuardDuty, Config, Security Hub, WAF (see Trust pages)
Certifications posture (ISO 27001 / 9001 / 22301 / PEPPOL) is summarised on the
Certifications page.
16. Application security controls (OWASP-aligned)
Enterprise InfoSec teams commonly assess ASP platforms against OWASP-aligned secure coding requirements (input validation, authentication, session, access control, cryptography, logging, data protection, communication security, configuration, database, file handling, and SDLC). ConvergeX addresses these themes as follows.
How to use this section in due diligence: map your organisation’s questionnaire domains to the control families below. Detailed line-item responses can be provided under NDA during onboarding workshops.
16.1 Input validation & output encoding
Server-side validation is authoritative (DRF serializers / model constraints) — never trust the client alone
Allow-lists for types, ranges, lengths, and canonical formats (UTF-8); invalid input is rejected
Hazardous sequences (path traversal, null bytes, CRLF) are blocked or neutralised at trusted boundaries
Template escaping and context-aware encoding at the output boundary; parameterized DB access (ORM) to prevent injection
Outbound HTTP (e.g. Oxalis) is restricted to approved HTTPS destinations — SSRF controls against internal/metadata ranges
16.2 Authentication & password management
Portal users
Server-enforced authentication with MFA (email OTP)
Adaptive salted password hashing (Django PBKDF2 / configured hasher) — no plaintext or fast hashes
Generic failure messages; POST-only credential submission over TLS
Password reset via pre-registered email with expiring tokens; no knowledge-based “security questions”
No Basic/Digest auth; no password recovery from the application
Logout fully invalidates server-side session; idle and absolute timeout policies
Session regeneration on privilege change / re-authentication where applicable
CSRF protection on state-changing portal requests; anti-automation on sensitive flows
16.4 Access control (deny by default)
Authorization decisions use trusted server-side identity (tenant Company, roles, API scopes) — never client claims alone
Object-level checks on every invoice / master-data access (tenant isolation / BOLA prevention)
Least privilege for service accounts connecting to DB, Redis, S3, and Oxalis
Admin functions segregated from day-to-day company user functions
CORS configured restrictively; no wildcard origins on authenticated endpoints
Account disable / session termination supported when authorization ceases
16.5 Cryptography, data protection & communications
Domain
ConvergeX practice
Algorithms
TLS 1.2+; Fernet (AES + HMAC) for field encryption; PBKDF2 for key derivation / password hashing
Key management
Keys from environment secrets — separated from encrypted data; rotation procedures for production
PII / tax data
Field-level encryption for sensitive attributes; minimize storage; retention aligned to e-invoicing evidence needs
Client caching
Sensitive portal responses use cache-control appropriate for authenticated content
GET parameters
Credentials and secrets never placed in query strings
Transit
No TLS fallback to cleartext; certificate validation on outbound integrations
16.6 Error handling & security logging
Fail securely — generic client messages; stack traces never returned to browsers or API consumers
Structured server logs for auth failures, access denials, validation failures, admin actions, TLS/integration errors
No passwords, tokens, or full sensitive payloads in logs
Logs are access-restricted and SIEM-ready for enterprise correlation (see §18)
Authoritative time (NTP) for correlatable timestamps
16.7 System configuration, database & file handling
Hardening
Least functionality; environment separation (sandbox vs production)
Security headers / CSP; disable unused HTTP methods where applicable
Dependency & OS patching as part of release operations
Remove debug tooling and unnecessary documentation from production
Data stores & files
Parameterized ORM queries; least-privileged DB roles
Protected connection strings — never in client-side code
Uploads validated by type/size; stored outside executable paths (S3)
Invoice artefacts served through authorized handlers only
17. API security controls (OWASP API Top 10)
ConvergeX exposes and consumes REST APIs. The following maps platform controls to the
OWASP API Security Top 10 (2023) themes used in enterprise API security checklists.
OWASP theme
ConvergeX control summary
API1 — BOLA Broken Object Level Authorization
Every object access is tenant-scoped to the authenticated Company; UUID lookups still enforce ownership. Authorization failures are logged for abuse detection.
API2 — Broken Authentication
Client credentials / JWT with signature verification, algorithm allow-list, expiry; refresh-token rotation; API keys hashed + scoped (not sole long-lived auth without controls); auth endpoints rate-limited; tokens never in URLs.
API3 — Property-level auth
Serializers explicitly declare writable fields (mass-assignment prevention); responses return only required properties; sensitive fields protected by role/scope.
API4 — Resource consumption
DRF throttling / gateway rate limits per key/IP; payload size limits; pagination on collections; async intake for burst ERP traffic; worker/process resource isolation.
API5 — BFLA Broken Function Level Authorization
Function-level checks on every endpoint via scopes and permissions; admin APIs segregated from tenant ERP APIs; never rely on hidden UI alone.
API6 — Sensitive business flows
Invoice create/submit and credential issuance treated as sensitive flows with rate limits, idempotency keys on outbound submit, and audit trails.
API7 — SSRF
Server-initiated calls (Oxalis/OTA, email SMTP, S3) use allow-listed destinations; internal and cloud-metadata ranges blocked; redirect following revalidated.
Documented API surfaces (portal docs + Postman); sandbox vs production segregation; deprecated paths retired/restricted; sensitive flows governed across versions.
API10 — Unsafe consumption
Responses from Oxalis/OTA and upstream services are validated before persistence; TLS to consumed APIs; timeouts and secure error handling; third-party posture assessed before integration.
17.1 Cross-cutting API logging & detection
Auth attempts, authorization failures, validation rejects, and admin/integration events captured without sensitive payloads
Anomaly-oriented monitoring via cloud security services and operational dashboards
Ready for enterprise SIEM / IDS-IPS correlation where customers require log forwarding under contract
Source in access-controlled version control with branch protection and peer review
Change control and release gates for production
Dependency / SCA awareness (SBOM-oriented practices) and secrets scanning in pipelines
No secrets in repositories or build artefacts
Idempotency and concurrency controls for shared state (integration jobs, invoice uniqueness)
18.2 Security testing & assurance
In lifecycle
Automated tests including negative cases for validation & authz
SAST / dependency scanning as part of engineering practice
API-specific cases for BOLA / BFLA and tenant isolation
Critical / High findings remediated and retested before production promotion
Independent assurance
Risk-based VAPT / penetration testing on release cadence
Configuration reviews for TLS, headers, CORS, and secrets handling
Customer-driven assessments supported under NDA for bank / insurer programmes
18.3 Integration with enterprise security controls
For large institutions, ConvergeX can expose standards-based operational interfaces so customer security stacks remain in control of monitoring and identity governance:
Enterprise control
Integration posture
SIEM / SOC
Structured security & application logs suitable for forwarding / correlation
IAM / MFA
Portal MFA; machine credentials with scopes; federation options discussable for enterprise SSO programmes
PAM / secrets
Customer-side custody of API secrets; ConvergeX stores hashed keys and supports rotation
Network controls
IP allowlisting on API keys; TLS-only endpoints; WAF at edge
Data protection
Encryption in transit / at rest; tenant isolation; evidence retention for tax audit
Bank / insurer questionnaires: Application Security Requirements (secure coding) and API Security checklists aligned to OWASP can be completed as part of vendor assessment. Contact the ConvergeX architecture team for a mapped response pack.
19. Autoscaling, high availability & disaster recovery
Enterprise clients require more than a single-node web app. ConvergeX production is operated as a resilient regional service with capacity elasticity and recovery objectives suitable for regulated industries.
Elasticity & HA
Horizontal scale-out of app nodes behind the load balancer
Independent scale of Celery workers for intake spikes
Health-checked targets; unhealthy nodes removed from rotation
Managed multi-AZ database topology for availability
Queue back-pressure via async jobs instead of request-thread blocking
DR & continuity
Automated database backups with PITR capability
Object-storage durability for invoice artefacts
Durable IntegrationJob outbox + automated retries
Idempotency keys on Oxalis outbound for safe replay
Runbooks for credential rotation and environment failover
19.1 Operational monitoring
Application and queue health metrics / alerting
API error-rate and latency observation
Security event detection with operations response workflows
Invoice status dashboards for customer operations teams
Authenticated customer portal: API documentation, Postman packs, OTA ERP guide
Enterprise InfoSec: mapped responses to Application Security & API Security questionnaires (on request)
Prepared by AIBizs — Artificial Intelligence Business Solutions LLC
Product: ConvergeX · https://convergex.biz
Document ID: CX-TECH-ARCH-2026-09 · Version 1.1
Implementation details reflect the ConvergeX SaaS platform as of the document date and may evolve with releases. Endpoint-level schemas and Postman collections are available to onboarded customers in the portal API documentation.