rattail.db.model.batch.inventory

Model for inventory batches

class rattail.db.model.batch.inventory.InventoryBatch(**kwargs)[source]

Batch for product inventory counts; note that this requires a data file.

cognized

Date and time when the batch data was last cognized.

cognized_by

Reference to the User who last cognized the batch data.

cognized_by_uuid
complete

Flag to indicate whether the batch is complete. This may be used to assist with workflow when entering/executing new batches.

created

Date and time when the batch was first created.

created_by

Reference to the User who first created the batch.

created_by_uuid
data_rows

Collection of data rows for the batch.

Note

I would prefer for this attribute to simply be named “rows” instead of “data_rows”, but unfortunately (as of this writing) “rows” is essentially a reserved word in FormAlchemy.

description

Basic (loosely identifying) description for the batch.

executed

Date and time when the batch was (last) executed.

executed_by

Reference to the User who (last) executed the batch.

executed_by_uuid
extra_data

Extra field for arbitrary data, useful to the batch handler etc. Note that there is no structure assumed here, it can be JSON or whatever is needed.

handheld_batch

Reference to the handheld batch from which this inventory batch originated.

id

Numeric ID for the batch, unique across all “new-style” batches within the Rattail database.

mode

Specifies the “mode” for the inventory count batch, i.e. how the count data should ultimately be interpreted/applied.

notes

Any arbitrary notes for the batch.

params

Extra parameters for the batch, encoded as JSON. This hopefully can be useful for “many” batches, to avoid needing to add extra flags to the schema etc.

purge

Date after which the batch may be purged.

reason_code

Specifies the “reason code” for an inventory adjustment batch, i.e. what happened / why the adjustment is required. Interpretation of this value is the responsibility of custom logic.

row_class

alias of InventoryBatchRow

rowcount

Cached row count for the batch. No guarantees perhaps, but should be accurate.

status_code

Status code for the batch as a whole. This indicates whether the batch is “okay” and ready to execute, or (why) not etc.

status_text

Text which may briefly explain the batch status code, if needed.

total_cost

Total inventory cost for the batch, if known.

uuid
class rattail.db.model.batch.inventory.InventoryBatchFromHandheld(**kwargs)[source]

Primary data model for inventory batches.

batch

Reference to the inventory batch, with which handheld batch(es) are associated.

handheld

Reference to the handheld batch from which this inventory batch originated.

class rattail.db.model.batch.inventory.InventoryBatchRow(**kwargs)[source]

Rows for inventory batches.

batch

Reference to the parent batch to which the row belongs.

batch_uuid
brand_name

Brand name of the product.

case_quantity

Number of units in a case of product.

cases

Case quantity for the record.

department_name

Name of the department to which the product belongs.

department_number

Number of the department to which the product belongs.

description

Description of the product.

item_entry

Raw entry value, as obtained from the initial data source, and which is used to locate the product within the system. This raw value is preserved in case the initial lookup fails and a refresh must attempt further lookup(s) later. Only used by certain batch handlers in practice.

item_id

Generic ID string for the product associated with the row.

modified

Last modification time of the row. This should be automatically set when the row is first created, as well as anytime it’s updated thereafter.

previous_units_on_hand

Previous on-hand unit quantity for the item, i.e. before the count.

product

Reference to the product with which the row is associated, if any.

product_uuid
removed

Flag to indicate a row has been removed from the batch.

sequence

Sequence number of the row within the batch. This number should be from 1 to the actual number of rows in the batch.

size

Size of the product, as string.

status_code

Status code for the data row. This indicates whether the row’s product could be found in the system, etc. Ultimately the meaning of this is defined by each particular batch type.

status_text

Short description of row status. Ultimately the meaning and use of this is defined by each particular batch type.

subdepartment_name

Name of the subdepartment to which the product belongs.

subdepartment_number

Number of the subdepartment to which the product belongs.

total_cost

Total inventory cost for the item (i.e. taking quantity into account), if known.

unit_cost

Inventory unit cost for the item, if known.

units

Unit quantity for the record.

upc

UPC for the product associated with the row.

uuid
variance

This is essentially the difference between the “supposed” number of units on-hand at the time of count, and the actual number of units counted. May be useful for reporting, or for a “delayed” adjustment to actual inventory levels.