The Inventory Movements module provides a read-only view of every stock transaction recorded in Dragon Guard. Operators and supervisors can filter movements by type, date range, item number, bin, and reference document to trace the origin of any stock discrepancy. From the movement list, users can navigate to Product Journal entries to inspect the full set of lines that made up a particular posting event.Documentation 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.
Inventory Movements is a read-only module for operators on the handheld. There is no post, edit, or delete action exposed in the
InventoryMovementsViewModel. All data is retrieved from the backend and presented for audit and reconciliation purposes only. The underlying InventoryMovementService includes a SaveProductJournalAsync method that is available for integration purposes, but this action is not surfaced in the handheld UI.Movement List Fields (MovementsPageDto)
Internal movement record identifier.
Sequential movement document number assigned by the system.
Internal item GUID associated with the movement.
ERP item code. Searchable via the
itemNo filter parameter.Item display name (also mapped from the
description JSON property for API compatibility).Internal bin identifier where the movement occurred.
Bin code for the source of the movement. Filterable via
binCode.Source warehouse location. Filterable via
locationCode.Destination warehouse location for transfer movements.
Quantity moved. Positive for inbound (receipt, return), negative for outbound (shipment, consumption).
Classification of the movement. See movement type options below.
Source document reference (e.g., receipt number, shipment number). Filterable via
referenceNo.External ERP document reference linked to the movement.
Identifier of the operator who created the movement.
Timestamp when the movement was recorded. Used for
dateFrom / dateTo filtering.Product Journal Header Fields (ProductJournalHeaderDto)
Internal journal record identifier.
Journal document number, used to fetch the full detail from
GET /api/movements/journals/{journalNo}.Human-readable description of the journal batch.
Type of stock movement represented by the journal.
Date the journal was posted to the inventory ledger.
Linked external ERP document reference.
Intermediate transit location code, if the journal covers an in-transit movement.
Journal status (e.g., open, posted).
Number of lines in the journal, shown on the journal list card.
Product Journal Line Fields (ProductJournalLineDto)
Internal line identifier.
ERP item code for this journal line.
Item description at time of posting.
Quantity recorded on this line.
Unit of measure for the line quantity.
Package-level quantity for items tracked in packaging units.
Purchasing unit of measure when different from the base UOM.
Origin warehouse location for this line.
Destination warehouse location for this line.
Origin bin for this line.
Destination bin for this line.
Lot number when the item is lot-tracked.
Product variant identifier.
Quality classification code applied to this movement line.
Movement type at the individual line level (may differ from the header type in mixed journals).
API Endpoints
| Method | Endpoint | Purpose |
|---|---|---|
GET | /api/movements | Paginated movement list with optional filters |
GET | /api/movements/journals | Paginated product journal header list |
GET | /api/movements/journals/{journalNo} | Full journal detail with all lines |
Movement List Query Parameters
Movement Type Filter Options
The handheld exposes a picker with the following movement type values, mapped to display labels:Code value | Display label |
|---|---|
| (blank — all) | Todos |
RECEPCION | Recepción (entrada) |
ENVIO | Envío (salida) |
DEVRECEPCION | Devolución de recepción |
DEVENVIO | Devolución de envío |
RESERVA PRODUCCION | Reserva producción |
AF | Activo fijo |
PRESUPUESTO | Presupuesto |
movementType parameter, returning all types.
Date Filter Behaviour
The date filter is opt-in. WhenUseDateFilter is false (the default), no dateFrom or dateTo parameters are sent and the backend returns movements regardless of date. Enabling the toggle activates both date pickers and defaults to the last 7 days (DateFromValue = DateTime.Today.AddDays(-7), DateToValue = DateTime.Today). Changing either date value while the filter is active immediately re-executes the search.
Browsing Movements and Journals
Open the Movements module
From the home screen, tap Movements.
InventoryMovementsViewModel.InitializeAsync() fires once and calls GET /api/movements with default parameters (page 1, size 50, no filters).Filter by type or date
Use the movement type picker to narrow by operation class. Toggle the date filter switch to restrict results to a specific date window. Either change triggers
SearchAsync(), which resets to page 1 and reloads from the server.Search by text
Type in the search bar to filter by item number, reference number, or any other text field supported by the
search parameter. The query fires on demand when the operator taps the search button or submits the keyboard.Load more results
The list uses incremental loading. After the initial page loads, scrolling to the bottom triggers
LoadMoreCommand, which increments the page number and appends the next 50 records to the existing list. Loading stops when the backend returns fewer than 50 records or the current page reaches TotalPages.Navigate to a Product Journal
Tap a journal entry in the journals list to navigate to
ProductJournalDetailPage. The app calls GET /api/movements/journals/{journalNo} to load the full ProductJournalDetailDto, which includes the Lines array with per-item movement detail.Pagination State
The view model exposes the following pagination properties for display in the UI:| Property | Description |
|---|---|
CurrentPageNumber | The page number of the most recently loaded batch |
TotalPages | Total number of pages available on the server |
TotalRecords | Total number of movement records matching current filters |
ShowingRangeText | Human-readable range string, e.g., “Mostrando 1 - 50 de 243 registros” |
PageStatusText | Compact page indicator, e.g., “Página 1 de 5” |