Apex on SAP
Quote to cash that writes back to SAP, once.
Apex reads your customers, items, price lists and open invoices from SAP Business One or S/4HANA, does the quoting, billing and revenue work on top of them, and posts the results back as SAP documents. SAP stays the system of record for every posted invoice and journal.
- BusinessPartners
- Items
- PriceLists
- Invoices
- IncomingPayments
- Orders
- Invoices
- CreditNotes
- JournalEntries
- BusinessPartners
- Claimed
- Read before write
- Written
- Confirmed
SAP Business One
The Service Layer objects Apex reads and writes.
On Business One, Apex works through the Service Layer against your own company database. Each object below is mapped when your instance is set up.
- BusinessPartners
- Read for customers, contacts, payment terms and price list assignment. Written when a signed deal creates a new customer, after review.
- Items and PriceLists
- Read as the price book. Apex adds ramps, usage rates and options on top without changing the item master.
- Quotations
- Written when you want the quote visible in SAP as well as in Apex.
- Orders
- Written when a quote is signed, with the same lines, prices and dates the customer agreed to.
- Invoices and CreditNotes
- Written as A/R documents, draft or posted per your setting. Read back so payments and edits made in SAP stay current.
- JournalEntries
- Written for revenue recognition once your accountant has signed off the period.
- IncomingPayments
- Read only. Cash is applied in SAP, and Apex shows what is paid.
SAP S/4HANA
On S/4HANA, the same flow through its sales and billing documents.
Larger SAP estates run S/4HANA. Apex follows the same pattern against its sales and billing objects, scoped to the company codes and sales organizations you choose.
Sales orders
Created from a signed quote with the sales organization, distribution channel and division you set per customer segment.
Billing documents
Usage, subscription and milestone charges calculated in Apex and posted as billing documents, so FI sees them as it sees any other.
Credit memos
Raised against the original billing document, with the reason recorded on both sides.
Journal entries
Revenue recognition postings to the accounts your chart of accounts uses, never to a suspense account Apex invents.
Write-back
Every write is claimed, checked and confirmed.
A document posted twice is worse than a document posted late. Every write to SAP goes through one outbox with the same four steps.
- 01
Claim
The write is taken by one worker only, so two processes can never post the same order.
- 02
Read before write
Apex checks SAP for a document it already wrote with that reference. If one exists, it does not post again.
- 03
Write
The document is posted with an Apex reference stored on it, using the service user you created for Apex.
- 04
Confirm
Apex reads the document back and compares it with what it meant to write. A difference stops and goes to a person.
System of record
Apex calculates. SAP holds the posted record.
| Apex | SAP | |
|---|---|---|
| Price book | Ramps, usage rates, options and approval rules | Items, price lists, customer terms |
| Invoices | Calculates every line from contract and usage | Holds the posted A/R invoice |
| Payments | Shows what is paid and what is open | Applies the cash |
| Revenue | Computes schedules from your policy | Holds the journal entries |
| Edits | Reads changes made in SAP back down | Remains where your team corrects documents |
Agents propose, people approve
The agent drafts. A person decides.
Agents read SAP data to propose a credit note, flag an invoice line that does not match the contract, or explain a deferred amount. The postings themselves are deterministic jobs, and every one that matters waits for a person.
Every agent stops at an approval gate until it has earned its way out of one. Nothing releases cash, commits spend or touches a customer without a person saying so.
Your dataModels that read your data run inside your environment, behind your firewall. No client data reaches a frontier lab.
Start here, keep the foundation
Start with one function. Add the rest without starting over.
Connect SAP once. Apex brings customers, items, price lists, open invoices and payments into your Ferrata foundation, in a raw layer that keeps SAP's own records as they are and a canonical model everything else works from. Start with quoting or billing; whatever you add next reads the same SAP data without a second connection.
FAQ
Questions, answered plainly.
Which SAP products does Apex connect with?
Apex is built to connect with SAP Business One, through the Service Layer, and SAP S/4HANA, through its sales and billing interfaces. The connection is configured for your own company database or company codes when your instance is set up. Apex is an independent product and is not certified by or affiliated with SAP.
Does Apex replace SAP's sales and billing?
No. SAP stays the system of record. Apex does the calculating SAP is not built for (usage rating, ramps, approval rules, revenue schedules) and posts the results as ordinary SAP documents your finance team already knows how to read.
Can Apex post the same invoice twice?
It is designed not to. Every write is claimed by one worker, Apex reads SAP before writing to check for a document it already posted with that reference, and it confirms the result by reading it back. A retry finds the first document and stops.
Do invoices post as drafts or as final documents?
Your choice, per company. Many teams start with drafts so a person reviews each one in SAP before posting, then move to posted documents once the numbers have matched for a few cycles.
What happens when someone edits a document in SAP?
Apex reads it back down. SAP is the record, so a change made there is what Apex shows, and Apex never overwrites an edit your team made in SAP.
What access does Apex need in SAP?
A dedicated service user with the authorizations for the objects you choose to connect, and nothing more. We suggest starting read only, then granting write access to sales orders and A/R invoices once the mapping has been checked.
Where does our SAP data go?
Into your own Ferrata tenant, one database per company. Models that work on it run inside your environment, and none of your data is sent to a frontier model provider.
Related in Apex
- CPQConfigure, price and quote from the items and price lists already in your ERP.View
- InvoicingInvoices calculated in Apex, checked against the PO, posted to your ERP first.View
- Revenue recognitionRevenue schedules computed from your policy, journals posted to the ERP after review.View
- NetSuitePrice levels in, sales orders, invoices and journals out, on Oracle NetSuite.View
- ManufacturingConfigured products, BOM-based pricing and index-linked metal surcharges.View
From Ferrata Labs
- The platformThe Brain: retrieval, models and audit inside your own environment.
- Swift, the order agentTurns customer purchase orders into clean sales orders.
- How it worksAssess, Anchor, a first agent live in under 90 days, then your team.
- Book a discovery callThirty minutes on one workflow, and an honest answer on where to start.
Start with Apex, or talk it through first.
Thirty minutes with Ferrata Labs on one workflow. You leave with a view of where Apex fits, and an honest answer if the sequencing is wrong and you should fix something else first.
Your pricing, approval and billing rules are your advantage, and they stay yours. Apex is configured to the way you sell and bill. You are not handing over a playbook or fitting into a template.