Bid Leveling Skill
Level subcontractor bids in one command: plug exclusions and gaps, flag thin allowances and outlier prices, check totals, rank. $29 once, offline.
View Bid Leveling Skill
Year-end CAM reconciliation means shares, exclusions, gross-up, caps, admin fees and stops for every tenant, and one mistake invites an audit. Run it in one command and get a statement per tenant that foots.

| Situation | Code | Level |
|---|---|---|
| Tenant shares add up to more than 100% | shares_over_100 | error |
| Tenant square feet exceed the building | tenant_sqft_over_building | error |
| Cap in the lease but no prior-year controllable amount | cap_without_prior | error |
| Lease share differs from sf / building sf | share_override_differs | warning |
| Exclusion that matches no expense (typo) | unknown_exclusion | warning |
| Roof replacement, resurfacing, capital items | capital_item | warning |
| Negative expense line | negative_expense | warning |
| No estimates on file | missing_estimates | warning |
| True-up over 20% of estimates | large_true_up | warning |
| Lease has no days in the year | lease_not_in_year | warning |
| Controllable cap reduced the charge | cap_applied | info |
| Variable expenses grossed up | gross_up_applied | info |
| Base-year stop deducted | base_year_stop | info |
| Landlord share for vacant space | vacancy_absorbed | info |
examples/oak-ridge-plaza-2025/ is a fictional 20,000 sf strip center's 2025 reconciliation: 12 expense lines (including a 60,000 roof replacement and an insurance refund) and 6 tenants with a 5% cap, a half-year lease, a gross lease with a 45,000 stop, a 9% share that should be 7.5%, a cap with no prior year and a typo in an exclusion. expected.json labels every flag and Brew Lab's statement to the cent (1,534.30 due); the tests assert that, that every statement foots, and that proration is by days.
Outputs in out/: reconciliation.csv (bill or credit per tenant), statements/<tenant>.md (a statement per tenant), lines.csv, findings.csv, report.md, summary.json. Exit 0 = ready to send; 1 = errors to fix first; 2 = an input problem.

./run_tests.sh
python3 -m camrec --expenses examples/oak-ridge-plaza-2025/expenses_2025.csv --tenants examples/oak-ridge-plaza-2025/tenants.csv \
--year 2025 --building-sqft 20000 --occupancy 85 --name "Oak Ridge Plaza" --out out/Python 3.9+ (tested on 3.10 and 3.13), no dependencies.
Zip, 17 KB, v1.0, 14 files. Use and modify it for yourself and for clients you serve; no resale or redistribution of the kit itself. Full terms in LICENSE.txt.
CAM reconciliation for every tenant: pro-rata shares, gross-up, caps, admin fee, base-year stops, statements that foot. $29 once, offline.
Level subcontractor bids in one command: plug exclusions and gaps, flag thin allowances and outlier prices, check totals, rank. $29 once, offline.
View Bid Leveling SkillReorder points, safety stock and order quantities for every SKU from a Shopify orders export, plus ABC classes, dead stock and overstock. $29 once.
View Inventory Reorder Point SkillCalculate sales commissions from a CRM deals export: tiered rates, accelerators, split deals, caps and clawbacks, with a statement per rep. $29 once.
View Sales Commission Calculator Skill