Admin console
Inspect logs, tune the tenant's settings, and configure downstream services.
Platform summary ▾
#2dd4bf.
#7c3aed.
https://my123456.sapbydesign.com. Most tenants only need the shared base URL. Per-module overrides exist for split prod/test routing — leave blank to fall back to the base URL.Mail.Send + Mail.ReadWrite (admin-consented).Invoice automation
End-to-end supplier invoice intake, extraction, validation and SAP posting. Module on/off and the Claude model live on the Modules tab; SAP credentials, Microsoft Graph and Blob storage live in Integrations.
Authorization: ApiKey {tenant}.{secret}. Shown once. copy on generation.
https://bydesign-ai-app.blueflower-88cb311e.uksouth.azurecontainerapps.io/api/invoices/email-submit
POST PDFs here with the API key above.
difflib.SequenceMatcher.
firstname.lastname@<domain> from the PO's Fielding Manager name. Blank disables auto-construction (use the explicit map below for every name).
Chat
Conversational AI assistant with SAP query, file attachments and chart generation. Module on/off and the Claude model live on the Modules tab.
Dashboards
Pre-built KPI dashboards with AI-generated insights, forecasts and risk callouts. Module on/off and the Claude model live on the Modules tab.
Crmcivhb that captures the cancellation reason. For Sermo this is C_x1ANx670e7d8626313ef ("Reason for Cancellation", 30-char string). When set, the AR cancellation card shows the top 5 reasons; when blank, only count + amount + parties.
IC Recon
Intercompany GL reconciliation across two company codes with AI-assisted matching. Module on/off and the Claude model live on the Modules tab.
WI - Spark coms - $77,708.34). Stripped before fuzzy match.
Bank Reconciliation
Three-way close-of-period reconciliation: SAP Liquidity Management vs General Ledger vs the physical bank statement. Module on/off and the Claude model live on the Modules tab.
C_Setofbks. Required. without it FINGLAU09 / FINGLAU01 silently return 0 rows.
AR Copy-Invoice
Auto-replies to copy-invoice email requests. Drafts or sends invoice PDFs via Microsoft Graph. Module on/off and the Claude model live on the Modules tab; Graph credentials live in Integrations.
{invoice_id} {invoice_ids} {reply_to} {reply_to_first_name} {shared_mailbox} {original_subject}.
{invoice_table} {invoice_total}.
https://bydesign-ai-app.blueflower-88cb311e.uksouth.azurecontainerapps.io/api/invoices/email-copy-request
Read-only. Configure your Microsoft Graph webhook to POST here when a copy-invoice request arrives.
Expense Reports
Snap a receipt photo or upload a PDF — AI extracts the data, classifies the expense type and prepares a SAP expense report ready to submit. Module on/off and the Claude model live on the Modules tab.
prepared state with the payload saved on the record. Authentication uses the tenant's main SAP credentials (sap_username / sap_password). no separate auth needed.No implementation for service '...'. Accepts either a path (/sap/byd/odata/cust/v1/<service>/<EntityCollection>) joined onto the tenant's SAP base URL, or a full URL (https://my<id>.businessbydesign.cloud.sap/...) used verbatim — handy when the employee service lives on a different SAP host than the rest of the tenant.
/sap/byd/odata/cust/v1/expensereport/ExpenseReportTypeCodeCollection/sap/byd/odata/cust/v1/expensereport/ExpenseReportReceiptExpenseReportExpenseTypeCodeCollection- Cost Centre + default GL: pulled per employee from
EmployeeCollection
pending_approval and emails the assigned approver instead of posting straight to SAP — the approver clicks Approve to release it. Users with the expenses:bypass_approval permission (typically finance) skip approval entirely.pending_approval on submit. The approver is read off each user's Expense approver field (set in Users & Roles); the default approver below catches anyone who hasn't been mapped yet.
1 useful (same Uber rebooked, same lunch entered twice); set higher when receipts dribble in across pay periods.
| Category | Max amount | Currency | Receipt above |
|---|
* as the category to apply a rule to every expense type. Currency is taken from the receipt when blank. Empty values mean "no rule for this column".
Advanced — raw JSON
Override the table above. Saved asexpense_policy.rules_json. Leave blank to use the table.
distance × rate; the resulting expense item lands in their My Receipts list alongside scanned receipts. UK HMRC default for cars is 0.45 GBP/mile up to the first 10,000 miles in a tax year; tiered rates aren't surfaced in v1 — set the dominant rate.{email:{from,subject,body,...}, attachments:[{name,content_bytes (base64),size}, ...]} with header Authorization: ApiKey <tenant>.<key>. The legacy singular attachment shape still works for one-receipt-per-call flows. Generate the API key in Settings → Invoices → Email ingestion; it's tenant-scoped and works for both invoices and expenses.
Mail.Send on the Graph app registration set in Microsoft Graph → Application. Leave blank to disable replies.
0 = disabled.
security.malware_fail_open=true).AZURE_TABLES_CONNECTION_STRING. audit events live only in the running container's memory and are lost on restart. Set the connection string in your deployment to durably persist the audit trail.