AI agents can draft contracts, analyze spreadsheets, write code, and plan trips. But ask one to file a ZATCA-compliant invoice in Saudi Arabia and it hits a wall.
Not because the model isn't smart enough. Because there's no structured API between the agent and the system. ZATCA expects UBL 2.1 XML with ECDSA signatures. Qoyod expects authenticated REST calls with specific schemas. Foodics returns paginated JSON with bilingual fields.
No LLM can navigate that without infrastructure in between. That's what Jibrid is.
The Gap Between Intelligence and Action
The current generation of AI agents — Claude, GPT, Gemini, open-source models — are remarkably capable at reasoning, planning, and generating. But capability without connectivity is just potential.
Consider what a business owner in Riyadh actually needs:
- File this invoice with ZATCA
- Sync today's sales from Foodics to my accounting
- Check if my VAT return matches my submitted invoices
- Create a credit note for a returned order
Each of these requires interacting with a specific Saudi system that has its own authentication, data format, and compliance rules. An AI agent without API access to these systems is like a brilliant employee who doesn't have login credentials to any of the tools.
Why LLMs Can't Call ZATCA Directly
Even if you gave an AI agent ZATCA's API documentation, it still couldn't submit an invoice. Here's why:
The XML problem
ZATCA requires UBL 2.1 XML — a deeply nested format with 60+ mandatory elements, specific namespaces, and coded value lists. LLMs generate approximate XML, not schema-valid XML. One wrong namespace, one missing element, one incorrect decimal format — rejected.
The cryptography problem
Every invoice must be signed with ECDSA-SHA256 using a certificate obtained through a multi-step onboarding process. This isn't something you can prompt an LLM to do. It requires actual cryptographic key management.
The state problem
ZATCA invoices form a hash chain — each invoice references the SHA-256 hash of the previous one. This requires persistent state management across requests, not stateless text generation.
The compliance problem
ZATCA has 47 validation rules, each with specific error codes. The rules change with wave updates. An LLM trained on last year's data might generate invoices that fail current validation.
What AI Agents Actually Need
AI agents don't need to understand UBL 2.1 XML or ECDSA signing. They need a clean REST API that accepts structured JSON and returns structured JSON.
This is exactly how successful AI integrations work everywhere:
- Agents don't craft raw SMTP packets — they call an email API
- Agents don't write SQL directly — they call a database API
- Agents don't construct HTTP multipart forms — they call a file upload API
The pattern is always the same: give the agent a well-documented, structured API endpoint, and let infrastructure handle the complexity.
For Saudi business systems, that infrastructure is Jibrid.
How It Works with Jibrid
An AI agent using Jibrid can:
File a ZATCA invoice
POST /v1/zatca/invoices
{
"invoice_type": "simplified",
"customer": { "name": "Ahmed", "vat_number": "300000000000003" },
"items": [
{ "name": "Consulting", "quantity": 1, "unit_price": 1000, "tax_rate": 15 }
]
}
// Returns: { "status": "REPORTED", "invoice_id": "..." }Jibrid handles the XML, signing, QR code, hash chain, and ZATCA submission.
Read Foodics orders
GET /v1/foodics/orders?date_from=2026-02-01&date_to=2026-02-28 // Returns normalized JSON with order details, line items, and payment info. // No bilingual field parsing, no pagination logic needed.
Sync to Qoyod accounting
POST /v1/qoyod/invoices
{
"customer_id": "...",
"line_items": [...],
"tax_code": "S"
}
// Creates an invoice in Qoyod with the right accounts and tax codes.Check connection health
GET /v1/zatca/status
// Returns: { "connected": true, "last_success": "2026-02-24T10:30:00Z" }Every endpoint follows the same pattern: structured JSON in, structured JSON out. Standard REST. Standard HTTP status codes. Standard error messages.
The MCP Connection
Model Context Protocol (MCP) is emerging as the standard for connecting AI agents to external tools. Jibrid's REST API is naturally MCP-compatible — any MCP-enabled agent can call Jibrid endpoints as tools.
This means frameworks like Claude's computer use, OpenAI's function calling, LangChain agents, and AutoGPT can all use Jibrid to interact with Saudi business systems without any custom integration code.
The agent describes what it wants to do ("file an invoice for this sale"), the MCP layer maps that to a Jibrid API call, and the result comes back as structured data the agent can reason about.
Use Cases That Become Possible
With Jibrid as the bridge between AI agents and Saudi systems:
Automated compliance
An agent monitors Foodics sales, generates ZATCA-compliant invoices for each transaction, and syncs everything to Qoyod. The business owner wakes up to a fully reconciled day.
Conversational accounting
"What were my total sales last week?" The agent calls Foodics, aggregates orders, cross-references with Qoyod entries, and answers in natural language.
Proactive alerts
"You have 3 invoices that ZATCA flagged with warnings. Here's what needs to be corrected." The agent monitors submission responses and surfaces issues before they become fines.
Multi-system workflows
A single user request like "Process the return for order #4521" triggers the agent to void the Foodics order, create a credit note in ZATCA, and post an adjustment entry in Qoyod — all through Jibrid's unified API.
Getting Started
Jibrid is in free beta. Every connector — ZATCA, Qoyod, Foodics — is available at no cost.
If you're building an AI agent, automation workflow, or any application that needs to interact with Saudi business systems:
- Get your API key at jibrid.com — free, no credit card
- Read the docs at jibrid.com/docs — every endpoint documented with examples
- Start with ZATCA sandbox — real validation rules, test data
- Add Qoyod and Foodics when ready — same API key, same patterns
The agent economy is growing fast. The businesses that give their agents access to real systems — not just chat interfaces — will move faster than everyone else.
Give your AI agent access to Saudi business systems.
All connectors are free during beta. Get your API key in 30 seconds.
Get your API key →