@model PowderCoating.Application.DTOs.Accounting.CashFlowStatementDto @using PowderCoating.Core.Enums @{ ViewData["Title"] = "Cash Flow Statement"; string AmountClass(decimal v) => v < 0 ? "text-danger" : "text-body"; string Fmt(decimal v) => v.ToString("C"); }

Cash Flow Statement

@Model.From.ToString("MMMM d, yyyy") – @Model.To.ToString("MMMM d, yyyy")  ·  Direct Method (Cash Basis)

PDF Preview
@{ var y = DateTime.Today.Year; var presets = new[] { ("YTD", new DateTime(y, 1, 1).ToString("yyyy-MM-dd"), DateTime.Today.ToString("yyyy-MM-dd")), ("This Qtr", new DateTime(y, ((DateTime.Today.Month - 1) / 3) * 3 + 1, 1).ToString("yyyy-MM-dd"), DateTime.Today.ToString("yyyy-MM-dd")), ("Last Year", new DateTime(y-1, 1, 1).ToString("yyyy-MM-dd"), new DateTime(y-1, 12, 31).ToString("yyyy-MM-dd")), }; } @foreach (var (label, f, t) in presets) { }
Operating Activities @Fmt(Model.NetOperating)
Cash received from customers @Fmt(Model.CashFromCustomers)
Cash paid to vendors (bills) (@Fmt(Model.CashToVendors))
Cash paid for direct expenses (@Fmt(Model.CashForExpenses))
Net Cash from Operating Activities @Fmt(Model.NetOperating)
Investing Activities @Fmt(Model.NetInvesting)
@if (!Model.InvestingLines.Any()) { } else { @foreach (var line in Model.InvestingLines) { } }
No investing activities recorded in this period.
@line.Label @Fmt(line.Amount)
Net Cash from Investing Activities @Fmt(Model.NetInvesting)
Financing Activities @Fmt(Model.NetFinancing)
@if (!Model.FinancingLines.Any()) { } else { @foreach (var line in Model.FinancingLines) { } }
No financing activities recorded in this period.
@line.Label @Fmt(line.Amount)
Net Cash from Financing Activities @Fmt(Model.NetFinancing)
Cash Summary
Beginning Cash
@Fmt(Model.BeginningCash)
Operating
@Fmt(Model.NetOperating)
Investing
@Fmt(Model.NetInvesting)
Financing
@Fmt(Model.NetFinancing)
Net Change in Cash
@Fmt(Model.NetChangeInCash)
Ending Cash Balance
@Fmt(Model.EndingCash)
Methodology

This statement uses the direct (cash basis) method for Operating Activities:

  • Inflows = customer invoice payments received
  • Outflows = vendor bill payments + direct expense payments

Beginning Cash is approximated from all cash inflows and outflows recorded prior to the start date plus account opening balances. For the most accurate beginning balance, reconcile your bank accounts first.