Business Central mobile flows
Do everything Plur-e Mobile does — receipts, put-away, picks, license plates, bins, counts, purchase and transfer orders, sales, time sheets, payments — for your AI assistant via Plur-e MCP: skills per section, barcodes from photos, no-login capture page.
Quick answer
The Business Central server exposes the 262 ProcessMethod calls that Plur-e Mobile makes as
16 section tools (bc_wms_receipts, bc_sales, …), each documented by a skill the
server serves itself (bc_get_skill, MCP resources and prompts). Codes on labels are decoded
from an image with bc_decode_barcodes and typed with bc_resolve_codes; camera scanning,
signatures and photos happen on a one-time Plur-e Web page opened with bc_handoff_start.
Section tools default to read; writes and posting run only if the user's
MCP role grants Write / Post on that section's area.
How it maps to Plur-e Mobile
Plur-e Mobile talks to Business Central through one Plure API endpoint (erp/processrequest)
and one AL bound action, passing a ProcessMethod name and a Parameters array. The MCP server
does exactly the same, with the same identity the app would use: the caller's Admin Center
account is mapped to a Plur-e Mobile user by email, and its WMS / Sales module assignments
provide the WarehouseEmployee and SalesPerson that Business Central expects. Tenants without
mobile users set defaults under AI & MCP → Settings → ERP identity.
| Section | Tool | Methods | Plur-e Mobile module |
|---|---|---|---|
| Setup and lookups | bc_setup | 11 | Login, locations, users |
| Items and tracking | bc_items_tracking | 18 | Item card, lots/serials, bin contents |
| Item journals | bc_item_journals | 11 | Positive/negative adjustments, reclassification |
| Warehouse receipts | bc_wms_receipts | 26 | WMS Receive |
| Put-away | bc_wms_put_away | 9 | WMS Put-away |
| Picks and shipments | bc_wms_picks_shipments | 27 | WMS Pick, Ship |
| License plates | bc_wms_license_plates | 30 | WMS License plates |
| Bins and movements | bc_wms_bins_movements | 13 | WMS Move, bin lookup |
| Inventory counts | bc_wms_inventory_counts | 22 | WMS Physical inventory |
| Purchase orders | bc_purchase_orders | 8 | WMS Basic receive |
| Transfer orders | bc_transfer_orders | 13 | WMS Basic transfers |
| Sales order shipment | bc_sales_order_shipment | 14 | WMS Basic ship |
| Item classification | bc_item_classification | 10 | Classification with evidence |
| Time sheets | bc_time_sheets | 22 | Time sheets |
| Sales | bc_sales | 19 | Sales (customers, orders, attachments) |
| Payments | bc_payments | 9 | Payments (Business Central side) |
Every section tool takes the same arguments:
{
"name": "bc_wms_receipts",
"arguments": {
"method": "GetWarehouseReceipt",
"parameters": { "WsheDocumentNo": "WHSE REC-000123" }
}
}parameters is an object (sent as a one-element array, as the app does) or an array when the
skill says the array is the payload (count lines, pick lines, journal lines). The tool
validates that the method belongs to the section, injects the identity keys when the method needs
them, and returns Business Central's answer as JSON. Base64 PDFs and Excel files come back as an
embedded resource; lists longer than 500 rows are truncated with truncated and totalCount.
Skills
The plugin ships nothing: every skill lives on the server and is gated by the tenant's licence and the web roles allowed on each skill (AI & MCP → Skills).
| Skill | Read it when |
|---|---|
index | First contact — lists everything below |
guides/connect-and-identity | The server answers erp_user_not_mapped or you need to know who Business Central will see |
guides/process-request | You want the request/response contract and the error shapes |
guides/paging-and-limits | Paged lists (Limit/Offset), the 500-row cap, binary results |
guides/writes-and-roles | Before any write; explains scope_denied, MCP roles and posting warnings |
guides/scanning-and-codes | Anything that starts from a label: GS1, bins, license plates, serials, documents |
guides/handoff | Camera, signature, photo or file capture on the user's phone |
guides/printing | LP labels, item barcodes and box labels through the Plur-e print queue |
sections/<slug> (16) | Every method of a section: parameters, response shape, effect, quirks (misspelled keys included) |
flows/receive-purchase-order, pick-and-ship, physical-inventory, count-bins-from-photo, license-plate-lifecycle, sales-order-mobile, item-classification, time-sheet-week | End-to-end procedures across sections |
Three ways to read them: the bc_get_skill tool ({ "name": "sections/wms-receipts" }), the
MCP resource plure-bc://skills/sections/wms-receipts, or the prompt skill_bc_wms_receipts.
bc_list_methods lists the methods of a section or searches the catalogue by text.
Editing skills in the Admin Center
AI & MCP → Skills lists every built-in document of both servers (Business Central and CRM).
A tenant administrator can customize one (the built-in text is kept as revision 0 and every save
adds a revision, so a reset is always possible), restrict it to web roles, disable it, export it
as Markdown, import a .md file, or add custom skills of the tenant (flows/…, sections/… or
a guide at the root). The MCP server serves the effective document — tenant copy, then a Plur-e
global override, then the build — through bc_get_skill, the resources and the prompts, within
about 15 seconds of a change. A tenant's AI agent can further narrow which
of the 16 sections a connection sees, on top of what the user's MCP role already allows.
Plugin for your AI client
Install plure from the Plur-e marketplace and run /plure-skills to load the right section.
MCP roles
Entities, actions, the default role and the exact denial messages.
Security model
Tenant resolution, roles per user, deny-by-absence and audit log.
Scanning: codes from an image
Labels on a shelf, a pallet or a delivery note can be read from a photo instead of one scan at a time.
bc_decode_barcodes({ image: { base64 | url | handoffId }, hints? })finds every barcode in the picture (EAN/UPC, Code 128, GS1-128, QR, Data Matrix, PDF417…), keeps their position and returns them in shelf order (top-to-bottom, left-to-right) with the GS1 application identifiers already split (01GTIN,10lot,21serial,00SSCC,17expiry). URLs are limited to the tenant's allow-list (SharePoint, Azure Blob, plur-e.com by default) and images to 4 MB.bc_resolve_codes({ codes, locationCode? })turns each string into a typed reference —bin,item,serial,licensePlate,document(receipt, pick, put-away, transfer, sales or purchase order by prefix) orunknown— by asking Business Central the same way the app does (GetBinByLocation,IsItemOrSerial,GetItemIdentifier,GetLicencesPlate).
A typical count: photo of the shelf → bc_decode_barcodes → bc_resolve_codes → the bin and
the items are known → bc_wms_inventory_counts writes the lines. The flows/count-bins-from-photo
skill walks through it.
Handoff: camera, signature, photo, file without login
When the user is at the shelf or with the customer, the server opens a one-time page of
Plur-e Web (https://app.plur-e.com/h/<token>): valid 15 minutes, single use, no login, bound to
the caller's tenant and user. Nothing from Business Central is shown on it.
kind | The user does | The result your AI assistant gets |
|---|---|---|
scan | Scans labels continuously with the phone camera (or uploads a photo, or types) | codes[] → bc_resolve_codes |
photo | Takes pictures | assets[] → bc_decode_barcodes({ handoffId }) or attach to a document |
signature | Signs on the screen | signature.png + signedBy → UploadICEvidence, AttachDocuments* |
file | Picks a file (PDF or image, 5 MB) | assets[] |
Clients that support URL elicitation open the page and the tool
waits for Done; other clients receive the link and call bc_handoff_result(handoffId) later.
Assets are stored in the tenant's database for 24 hours and only the MCP server can read them:
in any FileInfo array, { "HandoffId": "…", "AssetId": "…" } replaces the base64 and the server
fills it in.
Payments
Customer payments are registered in Business Central with bc_payments (PaymentOrder,
GetCustomerPayments, …). Card payments through Stripe are not offered: no Plur-e tenant
processes them through Plur-e, so the payment handoff kind is reserved and not served.
Roles and audit
- Section tools are declared
write, but each section's area starts at Read only in a role: a user whose MCP roles grant no Write on that area can call read methods only and getsscope_deniedimmediately on writes. - Granting Write on an area in a role enables that section's non-posting write methods for whoever has the role; granting Post additionally enables the methods marked posting in the skills (post receipt, register pick, post count, post journal, ship order), which cannot be undone in Business Central. There is no approval queue: a write runs the moment a role allows it.
- Every call is audited with the method and a summary of the parameters (base64 payloads are stripped) under AI & MCP → Audit log.
- Errors carry a machine-readable code:
invalid_method(with a suggestion),invalid_arguments,erp_user_not_mapped,bc_error(Business Central's message),handoff_pending,handoff_expired.
Printing labels
bc_list_printers returns the tenant's printers (Plur-e print queue) and the templates with the
fields each one needs; bc_print_document(printer, template, documentNo, fields) queues the label
— LP labels (ZPL LPS), item barcodes (BarCode) and box / address labels — exactly as Plur-e
Mobile does, and the Plur-e Print agent on the workstation prints it. It is a write tool: it
needs Write on the documents area. Packing lists, receipts and vouchers are PDF renderings
that only Plur-e Web and Mobile produce; the tool refuses those templates.
Not covered
Offline vouchers, package shipments through carriers and the Stripe payment screen of Plur-e Mobile do not touch Business Central and are not exposed.
The server's tools/list and the index skill are the authoritative catalogue; counts above
come from the generated _catalog.json of the server build.
Related: Business Central tools · MCP roles · Connect your AI client · Security model
Last updated on
Edit on GitHubBusiness Central tools
The Business Central MCP tool catalogue lives in the mobile flows guide — 16 section tools over the 262 Plur-e Mobile ProcessMethods, plus 9 platform tools for skills, barcodes, capture and printing.
Dynamics 365 CRM tools
The Dynamics 365 CRM MCP tool catalogue lives in the Dynamics 365 CRM (Dataverse) guide — generic table tools plus the Customer Insights - Journeys campaign tools.