Skip to content

Barcode Station Documentation

Overview

The Barcode Station module (barcode.station) manages physical barcode scanning stations in the warehouse. It defines workstations where barcode operations (receiving, issuing, transferring, validating) are performed, associating each station with a default location.


Model Information

Model Name: barcode.station
Display Name: Barcode Station
Key Fields: None

Features

  • ❌ Audit logging disabled
  • ❌ Multi-company support (not enforced)
  • ❌ Full-text content search disabled
  • ✅ Simple configuration model

Purpose

  • ✅ Define physical barcode scanning workstations
  • ✅ Associate stations with locations
  • ✅ Organize warehouse operations
  • ✅ Track where barcode activities occur

Key Fields Reference

Header Fields

Field Type Required Description
name Char Station name/identifier
location_id Many2One Default location for this station
description Text Station description/notes

API Methods

1. Create Barcode Station

Method: create(vals, context)

Creates a new barcode scanning station.

Example:

# Create receiving station
station_id = get_model("barcode.station").create({
    "name": "Receiving Dock A",
    "location_id": receiving_location_id,
    "description": "Main receiving area barcode station"
})


Common Use Cases

Use Case 1: Setup Warehouse Stations

# Create stations for different operations

# Receiving station
receiving_station = get_model("barcode.station").create({
    "name": "Receiving Station 1",
    "location_id": receiving_dock_id,
    "description": "Goods receipt and PO receiving"
})

# Shipping station
shipping_station = get_model("barcode.station").create({
    "name": "Shipping Station 1",
    "location_id": shipping_dock_id,
    "description": "Order picking and shipping"
})

# QC station
qc_station = get_model("barcode.station").create({
    "name": "QC Station",
    "location_id": qc_area_id,
    "description": "Quality control and inspection"
})

# Transfer station
transfer_station = get_model("barcode.station").create({
    "name": "Transfer Station",
    "location_id": staging_area_id,
    "description": "Internal transfers and relocations"
})

Use Case 2: Multi-Station Warehouse

# Setup for large warehouse with multiple zones

zones = [
    ("Zone A - Receiving", zone_a_receiving_id),
    ("Zone A - Storage", zone_a_storage_id),
    ("Zone A - Shipping", zone_a_shipping_id),
    ("Zone B - Receiving", zone_b_receiving_id),
    ("Zone B - Storage", zone_b_storage_id),
    ("Zone B - Shipping", zone_b_shipping_id),
]

for station_name, location_id in zones:
    get_model("barcode.station").create({
        "name": station_name,
        "location_id": location_id
    })

Best Practices

1. Clear Naming Convention

# Good: Descriptive names
"Receiving Dock A"
"Shipping Station 2"
"QC Inspection Area"

# Avoid: Vague names
"Station 1"
"Desk"
# Good: Logical association
{
    "name": "Receiving Station",
    "location_id": receiving_location  # Internal location
}

# Avoid: Wrong location type
{
    "name": "Receiving Station",
    "location_id": customer_location  # Wrong!
}

3. Document Station Purpose

# Good: Clear description
{
    "name": "QC Station 1",
    "location_id": qc_area_id,
    "description": "Quality control for incoming goods, includes barcode scanner and inspection tools"
}

Model Relationship Description
stock.location Many2One Station's default location
barcode.receive Indirect Used at receiving stations
barcode.issue Indirect Used at shipping stations
barcode.transfer Indirect Used at transfer stations
barcode.validate Indirect Used at validation stations

Configuration

  1. Receiving Stations
  2. Location: Receiving dock/area
  3. Purpose: Goods receipt, PO receiving
  4. Equipment: Barcode scanner, computer

  5. Shipping Stations

  6. Location: Shipping dock/area
  7. Purpose: Order picking, packing, shipping
  8. Equipment: Barcode scanner, label printer

  9. QC Stations

  10. Location: Quality control area
  11. Purpose: Inspection, validation
  12. Equipment: Barcode scanner, inspection tools

  13. Transfer Stations

  14. Location: Staging/transit area
  15. Purpose: Internal movements, relocations
  16. Equipment: Mobile barcode scanner

  17. Count Stations

  18. Location: Various
  19. Purpose: Cycle counting, stock takes
  20. Equipment: Mobile devices

Integration Points

Barcode Operations

All barcode modules can reference stations to track where operations occur: - barcode.receive - Receiving operations - barcode.issue - Issuing operations - barcode.transfer - Transfer operations - barcode.validate - Validation operations


Troubleshooting

"Station not found"

Cause: Station record not created
Solution: Create station records for all physical workstations

"Wrong location assigned"

Cause: Station linked to incorrect location
Solution: Update station's location_id to correct location


Version History

Last Updated: October 2025
Model Version: barcode_station.py
Framework: Netforce


Additional Resources

  • Barcode Receive Documentation: barcode.receive
  • Barcode Issue Documentation: barcode.issue
  • Barcode Transfer Documentation: barcode.transfer
  • Barcode Validate Documentation: barcode.validate
  • Stock Location Documentation: stock.location

This documentation is generated for developer onboarding and reference purposes.