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 — from Claude through the Plur-e MCP server: 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 are enabled per role and posting methods can require
approval.
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 → Scopes → 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 role scopes.
| 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-approvals | Before any write; explains scope_denied, approvals 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.
Plugin for Claude Code
Install plure-bc from the Plur-e marketplace and run /plure-skills to load the right section.
Security model
Tenant resolution, scopes per role, approvals 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 Claude 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 (Claude Desktop, Claude Code) 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.
Scopes, approvals and audit
- Section tools are declared
writebut default toreadfor every role: a role with the default scope can call read methods only and receivesscope_deniedon writes. - Granting
writeto a role enables the write methods of that section; the tenant's Approvals setting decides whether writes are executed immediately, after an elicitation in the client, or after approval in the Admin Center. Methods marked posting in the skills (post receipt, register pick, post count, post journal, ship order) cannot be undone in Business Central. - 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 (scope
None until granted). 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.
To be validated
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 · Connect Claude · Security model
Business Central tools
Tool catalogue of the Plur-e MCP server for Dynamics 365 Business Central — customers, items and availability, sales, purchasing, warehouse and posted documents — with scope and example arguments.
Dynamics 365 CRM tools
Tool catalogue of the Plur-e MCP server for Dynamics 365 Sales and Customer Service — leads, opportunities, quotes from Business Central prices, cases and activities.