A complete reference for TradeSyncEngine — the purpose-built synchronization platform for banks running Infosys Finacle and Finastra FCC.
Banks running Infosys Finacle as their core banking system face a persistent operational challenge: trade finance transactions must flow reliably into Finastra FCC. Today this flow is often manual, fragile, and error-prone.
TradeSyncEngine fully automates this synchronization — fetch, transform, validate, queue, retry, audit, and report — end to end, without manual intervention.
Spring Boot 3 · Java 17
Oracle DB · Quartz Scheduler
JWT Security · REST API
Angular 17 Standalone
Angular Material UI
Signals · Real-time dashboard
Single JAR deployment
Days to go live
Environment variables config
Every bank running Finacle with FCC faces the same data synchronization gap. The gap grows with trade volumes — and manual processes cannot keep up.
| Pain Point | Current State | Impact |
|---|---|---|
| Manual Finacle → FCC entry | Daily, every transaction | 3–4 hrs ops time, high error rate |
| Failed syncs detected late | EOD check or client complaint | SLA breaches, escalations |
| No retry on failures | Permanent data loss possible | Regulatory exposure |
| No idempotency controls | Duplicates on manual re-entry | Financial discrepancies |
| No immutable audit log | Spreadsheets & email trails | Regulatory exam risk |
| No visibility dashboard | Unknown queue state | Management flying blind |
Query by CIF ID, trade reference, product, event type, or date range. Raw payload stored locally with full idempotency — re-fetching updates existing records without creating duplicates.
Maker reviews fetched trades and queues selected items. A unique idempotency key is generated — ensuring FCC can never receive the same trade twice.
The Field Mapping Engine applies product- and event-specific mapping rules to transform each Finacle field to the exact FCC format. Mandatory field validation runs before any submission.
Quartz scheduler runs every 5 minutes, processing PENDING and RETRY items in batches of 100. Sent via FCC REST API or written as XML files.
Failures are classified: NETWORK / FCC_FUNCTIONAL → retry. VALIDATION / DUPLICATE → no retry. LC and EL get 5 retries, others get 3.
Every action logged immutably. A formatted PDF report is auto-generated at 8:00 AM and emailed to configured recipients.
Picks up PENDING + RETRY items. Batch of 100. License quota check before processing.
Generates PDF statistics report and emails to all configured recipients automatically.
Validates license expiry, quota, and environment binding. Graceful degradation.
TradeSyncEngine supports all major Finacle trade finance products — each with its own field mappings, retry policy, and event tracking.
| Product | Max Retries | Rationale |
|---|---|---|
| LC Import LC | 5× | High-value, time-critical |
| EL Export LC | 5× | High-value, time-critical |
| IC, EC, TF, SG, UI, UA | 3× | Standard policy |
| Error Type | Action |
|---|---|
| NETWORK | Always retry — transient |
| FCC_FUNCTIONAL | Retry — FCC may recover |
| VALIDATION | Do not retry — fix data |
| DUPLICATE | Do not retry — already sent |
| Report | Description | Format | Access |
|---|---|---|---|
| Statistics | Total, synced, failed, queued, success rate | PDF CSV | All roles |
| Product-Wise Volume | Transaction count per product with date filters | Dashboard | All roles |
| Daily Trends | 30-day chart: total / success / failed per day | Dashboard | All roles |
| CIF-Wise History | Paginated trade history for a customer | Dashboard | All roles |
| SLA Breach | Trades that exhausted all retries | Alert | OPS, ADMIN |
| Daily Email Report | PDF auto-emailed at 8:00 AM every day | PDF Email | Automatic |
Define exactly how every Finacle field maps to every FCC field — without any code changes. Rules are product-specific and event-specific, stored in the database, and effective immediately.
| Attribute | Description |
|---|---|
| Product Code | Which product this rule applies to |
| Event Type | Specific event, or all events if blank |
| Finacle Field Path | XPath location in Finacle payload |
| FCC Field Name | Target field in FCC API / XML |
| Transformation Rule | How to convert the value |
| Default Value | Fallback if source field is missing |
| Data Type | STRING / INTEGER / DATE / AMOUNT |
| Is Mandatory | Block submission if field is missing |
| Priority | Processing order (0 = highest) |
| Permission | VIEWER | MAKER | CHECKER | OPS | ADMIN |
|---|---|---|---|---|---|
| View Trades & Reports | ✓ | ✓ | ✓ | ✓ | ✓ |
| Fetch Trades from Finacle | ✗ | ✓ | ✓ | ✓ | ✓ |
| Queue Trades for FCC | ✗ | ✓ | ✓ | ✓ | ✓ |
| Manage Queue (Reprocess) | ✗ | ✗ | ✗ | ✓ | ✓ |
| User & Config Management | ✗ | ✗ | ✗ | ✗ | ✓ |
Direct HTTP call to FCC portal. Supports Bearer token + API key auth. Full response validation with FCC transaction ID tracking.
Writes transformed XML to a shared folder. FCC's standard file polling picks them up. No FCC API credentials needed.
| Channel | Trigger | Schedule |
|---|---|---|
| REPORT | Daily stats PDF | 08:00 AM auto |
| NOTIFICATION | Sync events | On event |
| ALERT | Critical failures | Reserved |
| TradeSyncEngine Field | IdP Claim (example) |
|---|---|
| Username | uid / samaccountname |
email / mail | |
| First Name | givenName |
| Last Name | sn / surname |
| Roles | memberOf / groups |
TradeSyncEngine uses a flexible, bank-specific license model. Licenses are cryptographically signed with RSA SHA-256 and bound to your bank's unique identifier — preventing unauthorized use.
Annual license expiry. Validated daily at midnight. 30-day grace period in dev environments if license file temporarily unavailable.
Annual transaction quota. Real-time usage from DB. Visual progress bar on dashboard. Quota gate enforced before every sync cycle.
License individual trade products. Start with core modules (LC/EL), activate additional products (IC, EC, TF…) as trade volumes grow.
| Layer | Technology |
|---|---|
| Backend API | Spring Boot 3 · Java 17 |
| Frontend | Angular 17 Standalone + Signals |
| Database | Oracle 12c+ |
| Scheduler | Quartz JDBC · Oracle-backed |
| Security | Spring Security · JWT |
| PDF Generation | Apache PDFBox |
| HTTP Client | Spring WebClient (reactive) |
| UI Components | Angular Material MDC |
| Component | Minimum |
|---|---|
| Java Runtime | Java 17+ |
| Database | Oracle 12c+ |
| Memory | 2 GB (4 GB recommended) |
| Storage | 20 GB (app + archive) |
| Module | Endpoints |
|---|---|
| Trades + Auth | 6 |
| Queue Management | 3 |
| Reports & Audit | 9 |
| Users + Roles | 7 |
| Mappings + Email + SSO | 15+ |
| Total | 40+ endpoints |
| Capability | TradeSyncEngine | Custom Script | Generic ETL |
|---|---|---|---|
| Auto-retry with error classification | ✓ | ✗ | Partial |
| Idempotency — no FCC duplicates | ✓ | ✗ | ✗ |
| Product-level field mapping (zero code) | ✓ | ✗ | Limited |
| Maker-Checker approval workflow | ✓ | ✗ | ✗ |
| Real-time operations dashboard | ✓ | ✗ | ✗ |
| Immutable audit log | ✓ | ✗ | ✗ |
| Automated daily PDF report via email | ✓ | ✗ | ✗ |
| SSO (SAML / OAuth 2.0 / OIDC) | ✓ | ✗ | Varies |
| Time to go live | Days | 6–12 months | 3–6 months |
| Metric | Before | After TradeSyncEngine |
|---|---|---|
| Daily ops time on sync | 3–4 hours | <15 min (monitoring only) |
| Failed syncs detected | Hours/days later | Immediately — dashboard + alert |
| Duplicate FCC submissions | Possible | Impossible (idempotency keys) |
| Audit preparation | Days of research | On-demand filtered export |
| Deployment timeline | 6–12 months (custom build) | Days (deploy + configure) |