Add facility overhead (rent + utilities) to operating costs and pricing engine
Adds MonthlyRent, MonthlyUtilities, and MonthlyBillableHours to CompanyOperatingCosts so fixed shop occupancy costs are recovered on every quote. The pricing engine converts these into a per-hour rate and applies it as a transparent "Facility Overhead" line between oven batch cost and shop supplies. UI added in Company Settings Operating Costs tab and Setup Wizard Step 3; migration AddFacilityOverheadFields applied. Help docs and AI knowledge base updated to cover the new fields and the revised quote pricing calculation order. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -127,5 +127,24 @@ namespace PowderCoating.Core.Entities
|
||||
/// </summary>
|
||||
[Range(0, 5000)]
|
||||
public decimal? CoatingRateSqFtPerHourOverride { get; set; }
|
||||
|
||||
// ── Facility Overhead ─────────────────────────────────────────────────────
|
||||
// Monthly fixed costs divided by billable hours to derive a per-hour overhead
|
||||
// rate, which is then applied to each quote based on estimated labor time.
|
||||
|
||||
/// <summary>Monthly shop lease / rent payment.</summary>
|
||||
[Range(0, 1000000)]
|
||||
public decimal MonthlyRent { get; set; } = 0m;
|
||||
|
||||
/// <summary>Monthly utilities combined (electricity, gas, water, internet).</summary>
|
||||
[Range(0, 1000000)]
|
||||
public decimal MonthlyUtilities { get; set; } = 0m;
|
||||
|
||||
/// <summary>
|
||||
/// Estimated billable shop hours per month used to amortise facility overhead.
|
||||
/// Defaults to 160 (4 weeks × 40 hrs). Must be at least 1 to avoid division by zero.
|
||||
/// </summary>
|
||||
[Range(1, 10000)]
|
||||
public int MonthlyBillableHours { get; set; } = 160;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user