Scan-to-verify shipments and automated EDI 812 chargebacks for a wholesale distributor
A wholesale distributor shipping to retail chains needed every outgoing unit checked against its posted shipment, and chargeback files turned into documents without re-keying. We built scan-to-verify pages for a handheld scanner and an overhead camera, plus an EDI 812 import from SFTP, live since October 2026.
- Industry
- Wholesale distribution
- Period
- 2025 – 2026
- Scale
- 45 objects
- 3 control add-ins
- 9 test objects
- Platform
- Business Central online (26+), AL with JavaScript control add-ins; Scandit Web SDK; FTP Agent for SFTP.
The client and the two problems
The client is a wholesale distributor shipping to retail chains from its own warehouse. It runs Business Central online, and in 2025 and 2026 we built two things for it: scan-to-verify picking and an automated import for EDI 812 chargebacks.
The first problem is on the warehouse floor: checking, unit by unit, that what is packed matches the posted shipment. The second is in the office. Retailers send credit and debit adjustments as EDI 812 files in CSV, and each one has to become a document in Business Central without anyone re-keying it.
Scan-to-verify picking
The operator scans the posted shipment number, then every unit. Each code is matched to a shipment line by item reference, so a barcode on a unit finds its line on the shipment. The page keeps count as the scans come in:
- A status of In Progress, Matched, or Overscan shows where the count stands.
- Sounds signal each result, so staff can keep their eyes on the units instead of the screen.
- The page accepts the shipment automatically once it is complete.
- The posted shipment is stamped with the status, the user, and the time, and the shipment list can be filtered on that status.
In June 2026 we added a second page for a fixed overhead camera. Using Scandit MatrixScan batch scanning, it reads a whole tray of labels at once, and automated tests cover how it removes duplicate reads. The handheld scanner still works on that page. Client feedback in 2025 and 2026 shaped the design.
EDI 812 chargebacks without re-keying
The files reach the client's EDI provider, which makes them available in an SFTP folder. We delivered the import in two phases, a month apart:
- Aug 2026Phase 1: a manual import action, so the team could load a chargeback file by hand.
- Sep 2026Phase 2: an audit inbox and a job-queue poller that reads the provider's SFTP folder through FTP Agent and keeps running through outages.
- The inbox separates how a file arrives from how it becomes documents.
- Each invoice becomes one Sales Return Order, all or nothing: if any part fails, nothing is created for that invoice.
- Columns are mapped by caption, so layout changes do not break the import.
- Duplicates are detected before they turn into documents.
- Each file ends as Imported, Partially Imported, or Error, with a summary per invoice.
- No Azure resources and no inbound endpoint: the job queue pulls the files.
How it is built
The work is AL for Business Central online: 45 production objects and three JavaScript control add-ins, with the Scandit Web SDK for camera scanning and FTP Agent for SFTP. The automated tests, in nine test objects, live in the app and compile only when a build flag is set, so production builds leave them out. The app compiles with 0 errors and 0 warnings on Business Central 26.0 and 28.4.
Outcome
Both features are in production. Scan-to-verify runs on the warehouse floor, where the stamp on each posted shipment shows who verified it and when. The chargeback automation went live in October 2026, and chargebacks now reach Business Central as Sales Return Orders, one per invoice, without anyone keying them in.
Takeaways
- Design the inbox before the parser. When arrival and document creation are separate steps, a change in how files arrive does not touch the import logic.
- Sounds and auto-accept matter on a warehouse floor. People with a scanner in hand should not have to watch a screen.
- Keep tests in the app, compiled only when wanted. A build flag keeps them out of production builds while they stay next to the code they test.
More case studies
Purchase-cost guardrails, self-healing job queues and item onboarding for a specialty retailer on LS Central
Feeding a video-analytics platform: daily LS Central POS exports to Azure Blob Storage
Ready to modernize your ERP system?
Talk with JTANG Consulting about your Business Central implementation, upgrade, customization, integration, or support needs. Initial consultations are free, scoped to your business, and never pushy.