# calisatgi/inventoryreport architecture

> Architecture diagram of the GitHub repository calisatgi/inventoryreport, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/calisatgi/inventoryreport
- Repository: https://github.com/calisatgi/inventoryreport

## Overview

A single-file command-line script reads one CSV inventory export, validates and normalizes it, classifies each item, and writes a dated Excel understock report. The README is empty, so the workflow and capabilities shown here come from the sampled source only.

Main entry points: [`inventory_report.py`](https://github.com/calisatgi/inventoryreport/blob/main/inventory_report.py) (Report script)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_input["Input processing"]
  node_script["Report script"]
  node_validated["Normalized inventory"]
  node_classified["Classified inventory"]
end

subgraph group_report["Report generation"]
  node_workbook["Excel workbook"]
end

node_operator(("Report operator"))
node_csv["Inventory CSV"]
node_xlsx["Dated XLSX report"]

node_operator -->|"runs"| node_script
node_script -->|"selects and reads"| node_csv
node_script -->|"validates and normalizes"| node_validated
node_validated -->|"classifies inventory"| node_classified
node_script -->|"builds sheets"| node_workbook
node_classified -->|"supplies report data"| node_workbook
node_workbook -->|"saves"| node_xlsx

click node_script "https://github.com/calisatgi/inventoryreport/blob/main/inventory_report.py"
click node_validated "https://github.com/calisatgi/inventoryreport/blob/main/inventory_report.py"
click node_classified "https://github.com/calisatgi/inventoryreport/blob/main/inventory_report.py"
click node_workbook "https://github.com/calisatgi/inventoryreport/blob/main/inventory_report.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_script,node_validated,node_classified toneBlue
class node_workbook toneAmber
class node_operator,node_csv,node_xlsx toneIndigo
```

## Components

### Input processing

- [Report script](https://github.com/calisatgi/inventoryreport/blob/main/inventory_report.py): `inventory_report.py`
- [Normalized inventory](https://github.com/calisatgi/inventoryreport/blob/main/inventory_report.py): `inventory_report.py`
- [Classified inventory](https://github.com/calisatgi/inventoryreport/blob/main/inventory_report.py): `inventory_report.py`

### Report generation

- [Excel workbook](https://github.com/calisatgi/inventoryreport/blob/main/inventory_report.py): `inventory_report.py`

### Other components

- **Report operator**
- **Inventory CSV**
- **Dated XLSX report**

## Connections

- Report operator → Report script: runs
- Report script → Inventory CSV: selects and reads
- Report script → Normalized inventory: validates and normalizes
- Normalized inventory → Classified inventory: classifies inventory
- Report script → Excel workbook: builds sheets
- Classified inventory → Excel workbook: supplies report data
- Excel workbook → Dated XLSX report: saves
