Picking (Outbound)

Pick sales orders from your warehouse using your Android smartphone or tablet. Scan products, manage lots and packages, sign electronically and confirm — all from the app, in sync with Odoo.

Overview

The Picking module of SiltaFlow allows you to perform warehouse picks directly from your Android device, without having to return to the computer. Open the list of picks assigned, select the one to fulfill and start scanning products: the app guides the operator row by row, updating quantities in real time on Odoo.

The module is accessible from the main menu of SiltaFlow in the Warehouse — Outbound section. It supports outbound picks, inbound picks and internal transfers. For picks on multiple orders simultaneously the Smart Batch Picking module is available.

Using the Picking module requires an active connection to the Odoo server. No offline mode available: every scan, quantity modification and validation happens directly on Odoo in real time.

Picking List

When you open the module, you see a list of all open or assigned picks. Each item shows the pick number, reference to the sales order, source and destination locations, status and a progress bar indicating how many rows are already completed.

Filter and search

If you have a hardware scanner (for example a Zebra with DataWedge), you can scan the barcode printed on the pick slip: the app opens the detail of that pick directly, without having to search in the list.

The list updates automatically every 90 seconds. If new picks or changes are detected, a banner appears at the top with the Update button to load the news.

Detail Screen

Opening a pick takes you to the detail screen, where you see all rows to pick grouped by product. For each product you'll see the required quantity, the already-picked quantity and — if the product is tracked — the lot or serial number to use.

The screen updates automatically every 10 seconds: if a colleague is working on the same pick from a computer or another device, changes appear with a notification banner. You can choose to update immediately or ignore the alert and continue.

The product card

Each product is represented by an expandable card. In the header you see the product name, overall progress bar and, if tracked by lot, the LOT or SN badge. Expanding the card shows individual rows per lot, each with:

Barcode Scanning

Barcode scanning is the fastest way to record picks. Point the device camera (or use the hardware scanner) at the product or lot barcode: the app automatically finds the matching row and updates the quantity.

What you can scan

If the pick contains similar products or the same product on different rows, the app automatically selects the most relevant row: favors the currently displayed row, then the matching lot row, then the row associated with the active package. In case of ambiguity, always starts from the oldest row.

Audio signals

Each scan produces a different audio signal: a short high tone for successful scan, a double warning signal if you try to pick more than you should, a low tone for an unrecognized barcode. These sounds allow you to work without looking at the screen after each scan.

Voice commands for quantity

If you work with gloves or have the scanner in hand, you can enable voice commands for quantity. After each successful scan, the app automatically activates the microphone: pronounce the number and the quantity is entered without touching the screen. Voice input is configured from Settings.

Lots, Serials and Expiration Dates (FEFO)

If the products to pick are tracked by lot or serial number, SiltaFlow shows all necessary information and helps you respect the correct picking order based on expiration date.

Selecting the lot

Each row shows the lot number assigned by Odoo. If you want to change it, tap the lot number to open the selector: a list of available lots for that product appears, sorted from nearest to furthest expiration date (FEFO order). Each lot shows available quantity and a colored badge indicating if it's valid, expiring soon or already expired.

FEFO warning

If you're picking a lot with an expiration date further away while there's still one with a closer expiration available in the warehouse, the app shows a warning with the dates of both lots. You can still confirm the pick — the warning doesn't block the operation, but requires conscious confirmation. This is useful, for example, when the lot with closer expiration is not physically reachable.

Tracking type How it works FEFO check
Lot (LOT) Multiple units per lot, free quantity Active
Serial Number (SN) One piece per serial, quantity always 1 Active (by production date)
None Product without tracking, simplified pick Not applicable

Package Management

If the order needs to be prepared in multiple packages (boxes, bags, pallets), you can create and manage packages directly from the app without leaving the pick screen.

Creating a package

Tap on the packages panel at the top of the screen → tap the + button → choose the package type (e.g., Small Box, Large Box, Pallet) from the list configured in Odoo and, if desired, assign a custom name. The package is created and set as active: all products scanned from that moment will be associated with that shipment.

Alternatively, scan directly the barcode printed on the box type (if configured in Odoo): the package is created and activated automatically without any additional taps.

Managing packages during pick

If you need to prepare multiple shipments, create or scan all packages before starting to pick products. Changing active package in the middle of picking is possible, but setting it correctly from the start reduces the risk of wrong associations.

Validation and Closure

When you've picked all products (or want to close the pick even if incomplete), tap the Validate button. The app performs some checks before sending confirmation to Odoo.

Partial pick and backorder

If one or more rows are not fully picked, the app asks you how to handle them:

Electronic signature

If electronic signature is enabled in app settings (Settings → Warehouse → Signature required), before validating you must provide a signature. Tap the signature area and draw on the touch screen: once signed, tap Validate to proceed. The signature is saved as an attachment in the pick on Odoo and visible from the backend. Below the signature box the legal clause text appears, customizable from settings.

Unit of measure conversion

If some products are sold in a different unit of measure than the one they're picked in (for example sold in kg but counted in packages), the app shows a summary of conversions before validating. Check the values and confirm: SiltaFlow automatically updates quantities on Odoo in the correct measure.

Other Functions

Documentation photos

From the pick toolbar you can take photos of goods or packages during picking. Images are automatically uploaded as attachments in the pick on Odoo. They're useful in case of customer complaints, transport damage or courier disputes.

Declaring damaged goods (Scrap)

If you find damaged or unusable goods during picking, you can declare them as scrap without interrupting work. Tap the scrap icon in the toolbar and follow the steps:

  1. Select the product and, if tracked, the lot to scrap
  2. Enter the quantity to scrap
  3. Choose the reason for scrap from the list (populated by Odoo)
  4. If you want Odoo to automatically generate a replenishment order, enable the Replenishment flag
  5. Confirm: the scrap is registered immediately on Odoo and available quantities are updated

Scrap is registered immediately and cannot be undone from the app. Always verify product, lot and quantity before confirming. To undo a scrap registered by mistake you need to access the Odoo backend.

Usage Examples

Standard pick with scanner

An operator opens the pick from the list, or scans the document code directly from the list to open the detail immediately. Proceeds row by row scanning barcodes on boxes: the app recognizes product and lot and updates quantities. An audio signal confirms each scan. When done validates the pick, optionally with electronic signature.

Multi-package preparation

An order requires 3 boxes of different sizes. The operator creates the three packages from the panel, activates the first box and scans small products. Changes active package to the second box and scans medium items. Repeats for the third. At the end the summary panel shows the contents of each package. Validates with backorder for the 2 rows where stock was lacking.

Products with expiration (FEFO)

Warehouse with food products subject to FEFO. The operator scans a product: the app detects that the lot with nearest expiration is still available but one with further expiration was selected. The warning with both dates appears. The operator uses the lot selector to choose the correct one, respecting expiration order.

Goods damaged during picking

The operator finds 2 pieces damaged while picking. Without interrupting the flow, opens the scrap dialog, selects product and lot, enters quantity 2, chooses "Damaged" reason and enables replenishment. Scrap is registered on Odoo; the pick shows updated availability. The 2 missing units are handled with a backorder at validation.

Tips

If you use a Zebra device with DataWedge, verify the SiltaFlow profile is active and keyboard output is disabled. SiltaFlow receives barcodes via direct Intent, not keyboard simulation. The profile is created automatically at first app launch.

Pair the Bluetooth scanner on the glove with voice commands for quantity: scan with the glove, pronounce the number. This way the operator never needs to touch the screen during picking.

For food or pharmaceutical products, always open the lot selector before starting the pick to verify expiration order. Lots are already sorted from nearest to furthest expiration.

For picks with many rows (hundreds of products), consider splitting them into smaller picks from the Odoo backend before starting. The app loads all rows at opening and, on very large picks, the first load may take a few extra seconds.

Requirements and Limitations

To use the SiltaFlow Picking module you need:

Some limitations to be aware of: