Overview
Inventory Documents provide a controlled transaction system for recording all inventory movements. Documents follow a Draft → Posted workflow with validation and audit trails.Document Lifecycle
Document Status
- DRAFT
- POSTED
- CANCELLED
Borrador (Draft)
- Initial state after creation
- Fully editable (header and lines)
- Does NOT affect stock
- Can be deleted
- Must have at least 1 line to post
Document Types
The system supports five document types:RECEIPT (Entrada)
Purpose: Record incoming inventory Fields:warehouse_id: Destination warehouse (required)vendor_id: Supplier (optional, recommended)reference: Purchase order, invoice numbernotes: Additional information
part_id: Part being receivedqty: Quantity received (positive)to_bin_id: Destination bin (required)unit_cost: Cost per unit (optional)
on_hand_qty at destination
Example:
ISSUE (Salida)
Purpose: Consume parts for work orders or operations Fields:warehouse_id: Source warehouse (required)ticket_id: Work order ID (optional, validated)reference: Work order or reasonnotes: Usage details
part_id: Part being consumedqty: Quantity issued (positive)from_bin_id: Source bin (required)
on_hand_qty at source, releases reservation if ticket linked
Validation: Checks sufficient stock before posting
Example:
TRANSFER (Transferencia)
Purpose: Move parts between warehouses or bins Fields:from_warehouse_id: Source warehouse (required)to_warehouse_id: Destination warehouse (required)reference: Transfer reason or authorizationnotes: Movement details
part_id: Part being transferredqty: Quantity transferred (positive)from_bin_id: Source bin (required)to_bin_id: Destination bin (required)
ADJUSTMENT (Ajuste)
Purpose: Correct stock levels for cycle counts or errors Fields:warehouse_id: Warehouse being adjusted (required)reference: Cycle count reference or reasonnotes: Explanation of adjustment (required)
part_id: Part being adjustedqty: Adjustment amount (positive or negative, cannot be 0)to_bin_id: Bin location (required)
on_hand_qty
Validation:
- Quantity cannot be zero
- Result cannot be negative
RETURN (Devolución)
Purpose: Return parts from work orders to inventory Fields:warehouse_id: Return destination (required)ticket_id: Source work order (optional)reference: Return reasonnotes: Condition notes
part_id: Part being returnedqty: Quantity returned (positive)to_bin_id: Destination bin (required)
on_hand_qty at destination
Example:
Creating Documents
Create New Document
Click Nuevo documento and select document type:
- RECEIPT
- ISSUE
- TRANSFER
- ADJUSTMENT
- RETURN
Fill Document Header
Provide required fields based on document type:
- Warehouse(s)
- Vendor (if RECEIPT)
- Ticket ID (if ISSUE/RETURN)
- Reference
- Notes
Add Lines
Click Agregar línea to add parts:
- Select part
- Enter quantity
- Choose bin location(s)
- Add unit cost (if RECEIPT)
- Add line notes if needed
Save Draft
Click Guardar to save changes while in DRAFT status.
Draft documents can be edited multiple times before posting.
Review
Verify:
- All lines are correct
- Quantities are accurate
- Bins are appropriate
- No unsaved changes
Document Editor Interface
The editor (/inventory/docs/:docId) has two panels:
Left Panel: Document Header
- Document Type: Read-only badge
- Status: Current status with timeline
- Warehouse Fields: Based on document type
- Vendor: If RECEIPT
- Ticket ID: If ISSUE/RETURN (validates accepted)
- Reference: Free text
- Notes: Multi-line text
Right Panel: Document Lines
Table or card view with columns:- Line #: Auto-incrementing
- Part: Dropdown selector
- Quantity: Number input
- UOM: Auto-filled from part
- From Bin: If ISSUE/TRANSFER
- To Bin: If RECEIPT/TRANSFER/ADJUSTMENT/RETURN
- Unit Cost: If RECEIPT
- Notes: Per-line comments
- Actions: Edit, Delete
Changes to draft lines are tracked. Click Guardar to save modifications.
Posting Validation
Before posting, the system validates:- All Documents
- ISSUE
- TRANSFER
- ADJUSTMENT
Common Validations
- Document must be in DRAFT status
- At least one line required
- All required fields populated
- No unsaved changes
- User has
inventory:createpermission
Cancelling Documents
To reverse a POSTED document:Reversal Document Created
System:
- Changes original to CANCELLED status
- Creates new document with reversed lines
- Links documents via
reversal_doc_id - Automatically posts reversal
Service Functions
Document operations use these services:Document Numbering
Documents receive unique sequential numbers:Best Practices
Descriptive References
Always add meaningful references:
- PO numbers for receipts
- Work order numbers for issues
- Transfer authorizations
- Cycle count IDs for adjustments
Detailed Notes
Document the reason:
- Receipt: Vendor, delivery date
- Issue: Work performed
- Adjustment: Count results, reason
- Return: Part condition
Same-Day Posting
Don’t leave drafts open:
- Create and post within shift
- Reduces draft clutter
- Maintains stock accuracy
- Enables real-time reporting
Cost Tracking
Record unit costs on receipts:
- Enables valuation reports
- Tracks cost trends
- Supports budgeting
- Required for financial integration
Common Scenarios
Receiving from Vendor
- Create RECEIPT document
- Enter vendor and PO reference
- Add all parts from delivery
- Enter unit costs from invoice
- Assign to appropriate bins
- Post document
Issuing for Work Order
- Create ISSUE document
- Enter ticket ID (accepted WO)
- Add reserved parts
- Specify source bins
- Post document (releases reservations)
Moving to Remote Site
- Create TRANSFER document
- Set from_warehouse = Main
- Set to_warehouse = Site A
- Add parts and quantities
- Specify source and destination bins
- Post document
Cycle Count Adjustment
- Perform physical count
- Create ADJUSTMENT document
- For each discrepancy:
- Add line with +/- quantity
- Specify bin counted
- Note count date and counter
- Post document
Related Topics
Stock Management
View stock levels affected by documents
Reservations
Reserve before issuing for work orders
Warehouses
Manage document locations
Parts
Maintain parts used in documents