The Receipts module is the primary inbound workflow on the Dragon Guard handheld. Operators pull the server-managed list of pending receipt headers, drill into individual lines to confirm quantities and putaway bins, then post the document to commit stock to the warehouse. All visibility decisions are delegated to the backend — the app never reapplies a client-sideDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/CodexaCP/DG_APK/llms.txt
Use this file to discover all available pages before exploring further.
Released filter, so operators see exactly what the server intends them to act on.
Status Reference
Each receipt header carries three status fields. The handheld computes a singleVisibleStatus by preferring ProcessingStatus over DocumentStatus, then maps that value to a short badge label and a high-contrast color for warehouse floor readability.
| Short Label | Raw Status Values | Badge Color |
|---|---|---|
Rel | RELEASED | #2563EB (blue) |
Open | OPEN | #2563EB (blue) |
Recv | RECEIVING | #F59E0B (amber) |
Pend | PENDING | #F59E0B (amber) |
Part | PARTIALLY RECEIVED, PARTIALLY POSTED | #F97316 / #F59E0B |
Done | POSTED, CLOSED | #16A34A (green) |
ReceivingHeaderDto that drive the badge are:
ProcessingStatus takes priority over DocumentStatus so that fine-grained backend workflow states (e.g., RECEIVING) are displayed instead of the coarser document-level value. If ProcessingStatus is blank, the badge falls back to DocumentStatus. The legacy Status field is kept for backend compatibility but is not used to drive badge rendering.PARTIALLY RECEIVED and PARTIALLY POSTED both produce the short label Part but differ in badge color: PARTIALLY RECEIVED renders orange (#F97316) while PARTIALLY POSTED renders amber (#F59E0B).Receipt Header Fields
Internal record identifier used to load lines and post the document.
Company the receipt belongs to.
Human-readable receipt number displayed in the header list and detail views.
Vendor or ERP purchase order reference, searchable in the header list.
ERP vendor code associated with this receipt.
Vendor display name shown on the header card.
Warehouse location. Displayed as
MAIN when blank (DisplayLocationCode).Legacy ERP status field. Retained for compatibility; not used for badge rendering.
Handheld-facing document lifecycle status. Used as badge source when
ProcessingStatus is blank.Fine-grained workflow status (e.g.,
RECEIVING). Takes priority over DocumentStatus for badge rendering.Expected or actual date of receipt.
Timestamp when the receipt record was created.
Username or identifier of the operator who created the record. Searchable in the header list.
Timestamp set by the backend when the document is posted.
null while still open.Username of the operator who posted the document.
Receipt Line Fields
Line identifier used in
PUT /api/receivinglines/{id} update calls.Parent header identifier linking this line to its receipt document.
Internal item GUID. Used for navigation; not shown to the operator.
Item catalog code for the line.
Originally ordered quantity — displayed in the line grid as the target to receive.
Quantity the operator has entered for this receiving event (editable on the detail screen).
Cumulative quantity already posted to stock. Used to determine whether any further receiving is needed.
Quantity still to receive (
QuantityExpected − PostedQuantityReceived). Drives the Pend / Part / Done line badge.Internal bin identifier submitted to the server when saving the line.
Bin the operator selects for putaway. Displayed on the detail form.
Backend-suggested putaway bin. Defaults to
MAIN when the backend returns no suggestion.Unit of measure for the line quantities.
API Endpoints
| Method | Endpoint | Purpose |
|---|---|---|
GET | /api/ReceivingHeaders?PageNumber={n}&PageSize={n} | Load the paginated header list |
GET | /api/receivinglines/by-header/{headerId}?PageNumber=1&PageSize=100 | Load all lines for a receipt header |
GET | /api/receivinglines/{id}/detail | Load a single line’s full detail |
PUT | /api/receivinglines/{id} | Persist quantity and bin for a line |
POST | /api/ReceivingHeaders/{id}/post | Post (commit) the receipt to stock |
Endpoint path casing matches the implementation: the header list and post action use PascalCase
ReceivingHeaders; the line endpoints use lowercase receivinglines. Use the exact casing shown above.End-to-End Receiving Flow
Open the Receipts module
From the home screen, tap Receipts.
ReceivingHeadersViewModel.InitializeAsync() fires once; subsequent page appearances call LoadAsync() to refresh from the server so completed documents disappear naturally.Browse and search headers
The header list loads up to 20 records per page from
GET /api/ReceivingHeaders. Use the search bar to filter client-side across ReceiptNo, ExternalDocumentNo, VendorCode, VendorName, all three status fields, DisplayLocationCode, and CreatedBy simultaneously.Select a receipt header
Tap a header card to open the lines screen. The app calls
GET /api/receivinglines/by-header/{headerId}?PageNumber=1&PageSize=100 and renders each line with its RemainingQuantity and short status badge.Open a line and enter the received quantity
Tap a line to open the detail screen. Enter the quantity received into the
QuantityReceived field. The detail view reads the current state from GET /api/receivinglines/{id}/detail before presenting the editable form.Assign a putaway bin
The detail screen pre-populates
BinCode from SuggestedBinCode. Change the bin if needed. Both QuantityReceived and BinId are persisted together via PUT /api/receivinglines/{id}:Post the receipt
From the header detail action menu, tap Post. The app calls
POST /api/ReceivingHeaders/{id}/post with no request body. On success it navigates back and triggers a server refresh so the header list reflects the new posted status.