Skip to main content
Version: Current

Deep Dive: The Zudello v3 Architecture

Introduction: Automating Procure-to-Pay

Zudello v3 is designed to automate and streamline the entire Procure-to-Pay (P2P) lifecycle for businesses. The P2P process encompasses all the steps involved in acquiring goods and services, from initial request to final payment and reconciliation. Zudello aims to liberate staff, teams, and companies by automating manual tasks, enforcing compliance, and providing real-time visibility across this critical business function.

The typical P2P cycle involves:

  1. Procurement Planning: Identifying needs, budgeting (handled by Budgets module).
  2. Sourcing & Requisitioning: Finding suppliers, requesting quotes, creating purchase requisitions (handled by Purchasing module, supported by Relationships and Contracts).
  3. Ordering & Approval: Converting requisitions to purchase orders, obtaining approvals, placing orders with suppliers (handled by Purchasing module, Approvals via Automation).
  4. Receiving: Recording the receipt of goods or confirmation of services (handled by Purchasing or Inventory modules).
  5. Invoice Processing: Receiving supplier invoices, matching them against POs and receipts (2-way or 3-way matching), coding, and approving invoices (handled by Purchasing module, Enrichment, Automation).
  6. Payment & Reconciliation: Processing payments, reconciling supplier statements (partially handled by Purchasing module, future Payments module).

Zudello v3 integrates these steps through a modular architecture built upon powerful core engines.

Key Modules

Zudello v3 is composed of several interconnected modules, each addressing specific parts of the P2P and related financial processes:

  • Purchasing: The core P2P engine, managing Quotes, Requisitions, Purchase Orders, Invoices, and Credit Notes. It handles processes like matching, allocations, and supplier interactions.
  • Sales: Manages the Order-to-Cash cycle, including Sales Quotes, Orders, Invoices, Returns, and Credits. (Often used less in pure P2P focus but available).
  • Expenses: Handles employee expense management, including receipt capture, claim creation, mileage tracking, policy enforcement, and reimbursement/reconciliation workflows.
  • Inventory: Manages item catalogues, stock levels (future), item alternatives, and potentially goods receipts.
  • Contracts: Facilitates contract management, including storing agreements, defining pricing rules, enforcing compliance, and managing contract lifecycles.
  • Budgets: Enables budget creation, tracking spending (Actual, Committed, Pending) against budgets across various dimensions, and enforcing budget compliance through approvals.
  • Relationships: Central repository for managing Suppliers, Customers, and Employees, including their details, default coding, and related configurations.
  • Reporting & Insights: Provides standard dashboards and future custom reporting capabilities for visibility across all modules.
  • Automation (Sentences): The engine for configuring custom workflows and business rules without code.
  • Marketplace: Allows installation of pre-built configurations, integrations, and automations (Packages).

Core Engines

Underpinning the modules are several core engines that drive Zudello's automation capabilities:

  1. Ingestion & Extraction:

    • Handles receiving documents via various channels (upload, email).
    • Utilises OCR (Optical Character Recognition) and increasingly, advanced AI/LLM models (Cognitive Engine) to extract data from documents (structured and unstructured).
    • Classifies document types (Invoice, PO, Receipt, etc.).
    • Converts extracted data into a structured format (JSON).
  2. Enrichment Engine:

    • Takes the structured data and applies business logic and context.
    • Linking: Matches extracted information to existing records in Zudello (Suppliers, Customers, Items) using various rules and learned alternatives.
    • Defaults: Applies default coding (e.g., GL accounts, departments) based on linked records (Supplier, Item, User, Inbox settings).
    • Calculations: Performs calculations like line totals, document totals, tax amounts, and exclusive values.
    • Settings Application: Applies specific settings based on linked records (e.g., consolidate_lines from Supplier, tax_included flag).
    • Allocations: Automatically matches related documents (e.g., Invoices to POs/Receipts) based on configured rules (PO number, line matching).
  3. Automation Engine (Sentences):

    • Allows users to build custom business rules and workflows using a "sentence-like" structure.
    • Triggers: Rules are initiated by events (e.g., document status change, user action, scheduled time).
    • Conditions: Rules evaluate conditions based on document data (e.g., total amount > $1000, supplier = 'ABC Corp', allocation status = 'Partial').
    • Actions: If conditions are met, rules perform actions (e.g., set status to 'Approval', assign user, send email, get approval).
    • This engine powers approval workflows, status updates, notifications, data validation triggers, and integration steps.
  4. Approval Service:

    • Manages the execution of approval workflows defined by Sentences.
    • Handles assigning steps to users/groups, tracking responses (Approve/Reject), managing delegations, reminders, and escalations.

Data Flow Overview

A typical document flow (e.g., an AP Invoice) involves these engines:

  1. Ingestion: Invoice PDF arrives via email.
  2. Extraction: OCR/LLM extracts data (supplier name, invoice number, date, lines, totals). Document type is classified as 'Invoice'.
  3. Enrichment:
    • Supplier 'ABC Corp' is linked based on ABN.
    • Default coding (Account, Department) is applied from ABC Corp's record.
    • tax_included flag is determined. Totals and exclusive values are calculated.
    • Allocation rules run, matching the invoice to PO #123 based on the extracted PO number. Allocation status and variances are calculated.
  4. Automation (Sentences):
    • A Sentence triggers on 'Invoice Extracted'.
    • Condition: Allocation Status (Order) = FULL AND Variance Percentage (Order) < 2%.
    • Action: Set Status to COMPLETE.
    • (If conditions weren't met, another Sentence might trigger routing it for 'Approval').
  5. Integration (via Sentences/Workflows): Once 'COMPLETE', another Sentence/Workflow triggers sending the approved invoice data to the ERP system.

This interplay between modules and engines allows Zudello to automate complex P2P processes while remaining flexible and configurable.