# Entities Domain entities for inbound/outbound goods tracking and inventory. All map to `fb`-prefixed database tables. ## Shipping (Inbound) - **`Shipping.cs`** — Physical delivery event (truck arrival). Table: `fbShipping`. - **`ShippingDocument.cs`** — Supplier delivery note/invoice. Table: `fbShippingDocument`. - **`ShippingItem.cs`** — Product line on document with declared vs measured discrepancies. Table: `fbShippingItem`. - **`ShippingItemPallet.cs`** — Measurement record for incoming goods. Table: `fbShippingItemPallet`. - **`ShippingDocumentToFiles.cs`** — Many-to-many link: document ↔ file with DocumentType. Table: `fbShippingDocumentToFiles`. - **`Partner.cs`** — External supplier with address and tax info. Table: `fbPartner`. ## Order (Outbound) - **`OrderItemPallet.cs`** — Measurement record for outgoing goods with RevisorId for audit. Table: `fbOrderItemPallet`. ## Inventory - **`StockTaking.cs`** — Inventory session record. Table: `fbStockTaking`. - **`StockTakingItem.cs`** — Line item reconciling snapshot vs measured quantities. Table: `fbStockTakingItem`. - **`StockTakingItemPallet.cs`** — Measurement record for inventory. Table: `fbStockTakingItemPallet`. - **`StockQuantityHistoryExt.cs`** — Extended weight metadata for stock reconciliation. ## Shared - **`MeasuringItemPalletBase.cs`** — Abstract base for all three measurement hierarchies. Defines NetWeight formula, validation methods, CreatorId/ModifierId tracking. - **`Pallet.cs`** — Physical pallet type definition (name, size, weight). Table: `fbPallet`. - **`Files.cs`** — Uploaded file with OCR-extracted RawText. Table: `fbFiles`. ## Critical: "Pallet" Naming Despite the name, `XxxItemPallet` entities are **measurement records**, NOT physical pallets. They are ALWAYS created for every item. For non-measurable products, weights = 0.0 and only TrayQuantity is tracked.