@model PowderCoating.Application.DTOs.Accounting.ApAgingReportDto @{ ViewData["Title"] = "AP Aging"; ViewData["PageIcon"] = "bi-hourglass-split"; var today = DateTime.Today; }

As of @Model.AsOf.ToString("MMMM d, yyyy") · @Model.Vendors.Sum(v => v.Bills.Count) open bills

Download PDF Print

@Model.CompanyName

Accounts Payable Aging

As of @Model.AsOf.ToString("MMMM d, yyyy")

@Model.TotalCurrent.ToString("C0")
Current
@Model.Total1to30.ToString("C0")
1–30 Days
@Model.Total31to60.ToString("C0")
31–60 Days
@Model.Total61to90.ToString("C0")
61–90 Days
@Model.TotalOver90.ToString("C0")
Over 90 Days
@Model.TotalOutstanding.ToString("C0")
Total Owed
@if (!Model.Vendors.Any()) {

All bills are paid!

No outstanding balances as of @Model.AsOf.ToString("MMMM d, yyyy").

} else {
Aging Summary by Vendor
@foreach (var vend in Model.Vendors) { }
Vendor Current 1–30 Days 31–60 Days 61–90 Days Over 90 Total
@vend.VendorName @vend.Bills.Count bill@(vend.Bills.Count == 1 ? "" : "s") @(vend.TotalCurrent > 0 ? vend.TotalCurrent.ToString("C") : "—") @(vend.Total1to30 > 0 ? vend.Total1to30.ToString("C") : "—") @(vend.Total31to60 > 0 ? vend.Total31to60.ToString("C") : "—") @(vend.Total61to90 > 0 ? vend.Total61to90.ToString("C") : "—") @(vend.TotalOver90 > 0 ? vend.TotalOver90.ToString("C") : "—") @vend.TotalBalance.ToString("C")
Total @Model.TotalCurrent.ToString("C") @Model.Total1to30.ToString("C") @Model.Total31to60.ToString("C") @Model.Total61to90.ToString("C") @Model.TotalOver90.ToString("C") @Model.TotalOutstanding.ToString("C")
Bill Detail
@foreach (var vend in Model.Vendors) { @foreach (var bill in vend.Bills.OrderBy(b => b.DaysOverdue)) { string ageBadge = bill.DaysOverdue <= 0 ? "bg-success-subtle text-success" : bill.DaysOverdue <= 30 ? "bg-warning-subtle text-warning" : bill.DaysOverdue <= 60 ? "bg-orange-subtle text-warning" : bill.DaysOverdue <= 90 ? "bg-danger-subtle text-danger" : "bg-danger text-white"; string ageLabel = bill.DaysOverdue <= 0 ? "Current" : $"{bill.DaysOverdue}d overdue"; } }
Bill # Bill Date Due Date Balance Due Age
@vend.VendorName
@bill.BillNumber @bill.BillDate.ToString("MM/dd/yyyy") @(bill.DueDate?.ToString("MM/dd/yyyy") ?? "—") @bill.BalanceDue.ToString("C") @ageLabel
@vend.VendorName subtotal @vend.TotalBalance.ToString("C")
}
Generated @DateTime.Now.ToString("MMM d, yyyy h:mm tt") · Includes all open bills (excluding Draft and Voided). Age calculated from due date.