Statement of Work — Orcha × EcoG

Orcha × EcoG

AP Automation & Process Optimization

April 2026 — Proposal

Statement of Work

Current Situation

EcoG’s finance operations run across 7 systems — Jira for PO approvals, Weclapp as ERP, DATEV for accounting, Spendesk for expenses, GetMyInvoices for invoice aggregation, and two bank connections (Deutsche Bank & Sparkasse). The central challenge: Jira handles people & approvals while Weclapp handles financial records, forcing manual bridging for every transaction.

Overarching Principles

Current Process (Today)

Manual steps highlighted in red

Purchase Need Arises Colleague wants to buy something Invoice amount? < €1k ≥ €1k Purchase + Jira Ticket Documentation only, no PO needed Invoice Arrives Email, portal download Book in Weclapp Manual upload, cost center, no matching Request Created in Jira Supplier, cost, cost center Multi-Level Approval in Jira Requester → Authorizer → Ops Create PO in Weclapp Then upload PO confirmation PDF to Jira ticket MANUAL Goods Arrive → Create GRN Ops creates goods receipt in Weclapp (can be partial) MANUAL Invoice Arrives via Email Supplier sends invoice (usually with PO#) Cross-Check PO + GRN + Invoice Find PO in Jira + Weclapp, verify GRN, check amounts MANUAL Chase If Missing (PO / GRN) Email/chat colleagues. Delays can reach 2+ weeks. MANUAL Create Purchase Invoice in Weclapp Enter data, attach PDF, align with PO + GRN, book MANUAL Payment Run → Bank Executes Link Payments in DATEV · ~20% Manual Foreign currency, split payments, missing refs — manual linking MANUAL Update 3 Systems Separately Weclapp: paid + close PO · Jira: paid/closed · DATEV: REWE entries Each updated individually — no sync MANUAL ← ~1 hr/day Done ALSO HANDLED MANUALLY (SEPARATE FLOWS) CEO / Ad-Hoc Orders No PO. Manual clarification or retroactive PO. Spendesk (~15/mo) 1 payment → 15 receipts. Manual mapping. Direct Debit (Recurring) No PO, no invoice ref. Very hard to reconcile.

Proposed Process (with Orcha)

Purple steps automated by Orcha

Purchase Need Arises Colleague wants to buy something Invoice amount? < €1k ≥ €1k Jira Ticket (Audit Only) Documentation, no PO needed Invoice → Orcha Inbox Auto-forwarded, AI extraction Orcha: Match Against PO Invoice ↔ PO (if exists) PO found? Yes No Auto-book ✓ Flag + Prepare PO User confirms → auto-created Request + Approval in Jira Requester → Authorizer → Ops Orcha: Auto-Sync PO → Weclapp Webhook on approval · auto-creates PO in ERP Goods Arrive → GRN in Weclapp Ops confirms receipt (can be partial) Invoice → Orcha Inbox Auto-forwarded, AI extraction 4-Way Match Invoice ↔ PO ↔ GRN ↔ Supplier Match? within 3% Yes No Auto-book ✓ Flag / GRN missing Payment Queue All approved invoices batched for payment Payment Run · Weclapp → Bank Export Bank Executes · Deutsche Bank / Sparkasse Orcha: Import Bank Statement Auto-match payments to booked invoices Auto- match? ~80% ~20% Auto-update all systems Manual intervention Orcha: Close PO & Update All Systems Weclapp (paid) · Jira (paid) · DATEV (REWE JE) · Google Chat ✓ Complete Orcha automation Decision Auto-processed Manual intervention
1

Purchase Order Management & Approval

Standard PO Flow (≥€1,000)

  • Employee submits PO request in Jira (≥€1,000). Approval chain: Requester → Authorizer → Operations
  • Orcha automates: Listens for Jira approval webhooks, automatically creates PO in Weclapp via API — eliminates double data entry
  • Invoice ingested via email/GMI → AI extraction → 4-way match (Invoice ↔ PO ↔ GRN ↔ Supplier) within 3% tolerance
  • Name matching relaxed: abbreviations allowed (e.g., “EP” = full company name), legal entity suffixes ignored
  • Match success: auto-book in Weclapp + Google Chat notification
  • Match failure / GRN missing: flag for review, daily auto-notification to ops team until resolved

No-PO Flow (<€1,000)

  • No formal PO required. Jira ticket created for audit trail only, considered pre-approved
  • Invoice arrives → Orcha Inbox → AI extraction → attempts to match against existing PO
  • PO found: auto-book in Weclapp
  • No PO found: flag for review and prepare a PO draft — user confirms with one click and PO is auto-created in Jira + Weclapp

Weclapp Approval Workflows To Explore

  • Stefanie mentioned Weclapp may support building approval processes natively
  • If feasible, Weclapp becomes the single system for the full PO lifecycle
  • Main blocker: employee access — not everyone has a Weclapp license today
  • If licensing allows, this removes Jira from the PO process entirely; if not, Orcha bridges the gap via notifications

Recommendation: Eliminate Jira as the PO System

Instead of maintaining POs in both Jira and Weclapp, use Orcha as the PO intake and orchestration layer. Employees submit PO requests through Orcha, which routes approvals via Google Chat or email, then automatically creates the PO in Weclapp. Jira tickets become read-only references. This removes double data entry entirely.

High Impact — Eliminates ~50% of manual PO work
2

Invoice Processing & Matching

Unified Invoice Inbox

Proposed Flow

Invoice arrives (email / GMI / Spendesk) Orcha extracts data (OCR/AI) 4-way match Auto-book in Weclapp
  • Single Orcha email address where all supplier invoices are forwarded
  • GetMyInvoices connected via API to auto-pull platform invoices (~30/month) — no more logging into individual portals
  • Spendesk exports imported directly into Orcha for reconciliation
  • One inbox, one pipeline, no matter where the invoice originates

AI Extraction & Validation

  • AI reads invoice: supplier name, PO number, line items, quantities, unit prices, total, currency
  • Cross-references against master data and flags deviations above 3% threshold
  • Name matching with fuzzy logic — abbreviations (e.g., “EP” = “Entwicklungs- und Produktionskammer”), legal entity suffixes

4-Way Match: Invoice ↔ PO ↔ GRN ↔ Supplier

  • Match successful: All four elements align within tolerance (3% on price/qty). Orcha auto-books the purchase invoice in Weclapp. Notification sent via Google Chat
  • GRN missing: Automatic notification to operations team. Daily checks until resolved
  • Match failed: Orcha flags the exception with a side-by-side comparison (PO vs. invoice vs. GRN) for Joao to review

Smart Thresholds & Exception Handling

  • <€1k, PO found: auto-book with minimal review
  • <€1k, no PO: flag for review, prepare PO draft — user confirms and PO is auto-created
  • ≥€1k, PO match, GRN present: auto-book with notification only
  • ≥€1k, PO match, GRN missing: auto-notify ops team daily until GRN is entered
  • Any mismatch >3%: flag for manual review with side-by-side comparison
  • New/unknown supplier: always route to manual review regardless of amount

Recommendation: Replace GetMyInvoices + Manual Email

Today Joao pulls invoices from multiple sources: email, GetMyInvoices (Amazon, Vodafone, etc.), and Spendesk. Consolidating into a single Orcha inbox with API connections to all sources eliminates manual invoice collection entirely.

High Impact — Eliminates manual invoice collection
3

Payment Execution & Reconciliation

Payment & Reconciliation Flow

  • Approved invoices batched into payment run in Weclapp, bank export includes invoice numbers for traceability
  • Bank executes payments (Deutsche Bank / Sparkasse), statement available next business day
  • Orcha automates: Imports bank statement, matches payments to booked invoices using reference numbers
  • ~80% auto-matched: Payment linked to invoice in DATEV, Weclapp PO → “paid”, Jira ticket → “paid”
  • ~20% manual: Foreign currency, split payments, missing references — Orcha surfaces best-guess matches for Joao to confirm
  • Cascade on match: 1. Weclapp (paid) → 2. Jira (paid) → 3. DATEV (REWE JE) → 4. Google Chat notification

Recommendation: Auto-Close the Loop After Payment

The most time-consuming post-payment task today is updating three systems separately (Weclapp, Jira, DATEV). A single payment event in Orcha triggers updates across all systems, saving approximately 1 hour per day on post-payment administration.

High Impact — Saves ~1 hour/day on post-payment admin
4

Special Cases & Edge Flows

Scenario A — Advance Payments (50% Upfront)

  • PO synced to Weclapp with payment schedule metadata (50% advance specified)
  • Advance invoice matched to PO — validates amount = 50% of PO total, books as partial payment. GRN not yet required
  • Goods arrive → GRN created → final invoice for remaining 50% matched against PO and GRN. Full 4-way match completes. PO closed

Scenario B — Partial Shipments / Multiple Invoices per PO

  • Orcha tracks cumulative quantities and amounts against the original PO
  • Each commercial invoice matched to the corresponding GRN for that shipment
  • Flags if cumulative total exceeds PO by more than 3%
  • PO closed when all shipments received and all invoices matched — updated in both Weclapp and Jira

Scenario C — Spendesk Reconciliation

  • Monthly Spendesk export (~15 expenses) imported into Orcha
  • Current: Manual attachment of invoices to each Spendesk payment entry
  • Proposed: Orcha matches invoices to payments by amount, date, and supplier — flags unmatched items

Scenario D — Direct Debit (No PO)

  • Recurring charges (utilities, subscriptions) appear on bank export with no PO — currently difficult to reconcile
  • Orcha learns recurring direct debit patterns (supplier, amount range, frequency)
  • Matches to invoices from GetMyInvoices (Amazon, Vodafone, etc.) or email — flags new or changed amounts
5

Integration Architecture

System Capability Comparison

Capability Jira Weclapp Orcha (Proposed)
All employees have access Yes Finance only Via notifications
Comments & discussion Full threads Not supported Routes to Jira / Google Chat
Approval workflows Multi-level Possible but limited Orchestrates across both
PO creation & storage As tickets Native ERP module Syncs Jira → Weclapp
Invoice processing Not designed for it Purchase invoices Ingestion + matching + booking
Goods receipt (GRN) No Manual entry Validates against PO
Payment tracking Manual status Payment status Auto-updates both
Financial reporting No ERP reporting Feeds Weclapp & DATEV

Integration Points

Jira

Direction: Jira → Orcha (webhooks on PO approval)
Data: PO details, approval status, requester, authorizer
Action: Listen for approvals, sync to Weclapp, update ticket status

Jira

Weclapp

Direction: Bidirectional (Orcha ↔ Weclapp API)
Data: PO creation, purchase invoices, goods receipts, payment status
Action: Create POs, book invoices, check GRNs, mark paid, close POs

Weclapp

Email / Google Workspace

Direction: Email → Orcha (auto-forwarding via OAuth)
Data: Invoice PDFs, billing emails
Action: Receive forwarded invoices, OCR/AI extraction, queue for matching

Deutsche Bank & Sparkasse

Direction: Bank → Orcha (statement import)
Data: Payment confirmations, bank movements, reference numbers
Action: Import statements, match payments to invoices

Banking

DATEV

Direction: Orcha → DATEV
Data: Payment-to-document links, journal entries (REWE JE)
Action: Connect payments to documents, generate closing entries

DATEV

Spendesk

Direction: Spendesk → Orcha (export import)
Data: Expense transactions, payment details
Action: Import expenses, match invoices to payments

Spendesk

GetMyInvoices

Direction: GMI → Orcha (API pull)
Data: Platform invoices (Amazon, Vodafone, etc. — ~30/month)
Action: Pull invoices automatically, no manual portal login

GetMyInvoices

Demo Configuration Notes

Comments

No comments yet. Select text to add one.