import Link from "next/link"; import { Band, CtaBand, SPLIT_PAD, SiteNav, body, h2, h3, kicker, small, wrap } from "@/components/site"; export const metadata = { title: "Reporting", description: "Cost centre spend, a journal laid out for upload, valuation, shrinkage, exceptions and supplier spend — each prints or exports as CSV.", alternates: { canonical: "/reporting" }, }; // One entry per tab on the Reports screen, in the order they appear there. The month-end pack is // not one of them — it is a button that gathers six of these into one printed document — so it is // named under the list rather than counted as a tab. const REPORTS = [ ["01", "Cost centre spend", "What each department wore, at unit cost, for any month."], ["02", "Journal export", "One debit per cost centre, formatted for upload."], ["03", "Top stock", "The fifteen most-issued garments of the month, each with its share and its year-to-date count."], ["04", "Stock valuation", "On-hand value by garment, at unit cost, dated."], ["05", "Shrinkage", "Every stocktake this financial year, and what each one cost or found."], ["06", "Exceptions", "Anyone over their operational limit, or over the monthly threshold you set."], ["07", "Supplier spend", "Orders placed, what they came to, and the invoice numbers against them."], ["08", "Approvals", "Manager approvals still outstanding: sets approved, collected and remaining."], ["09", "Pre-loved", "Free reissues and what they saved, hand-ins, and what is in the pool."], ]; const TABLE: [string, string, string, string][] = [ ["Willow Ward · RGH-3010", "14", "$412.60", "+$96"], ["ICU · RGH-4010", "9", "$268.20", "−$31"], ["Operational Support", "11", "$343.75", "+$12"], ]; export default function Reporting() { return ( <> {/* Split header: type on the ground, a fixed accent column at the right. */}
Reporting

When finance asks, it’s already done.

Every issue lands on the wearer’s cost centre at the price you actually paid, so the month-end numbers are already written by the time anyone asks for them.

9
Report tabs
Each one prints or exports as CSV, and six of them gather into the one-click month-end pack.
Cost centre report — August PrintCSV
Cost centreItemsSpendΔ
{TABLE.map(([cc, n, sp, d]) => (
{cc}{n}{sp} {d}
))}
TOTAL34$1,024.55
Journal: one debit per cost centre, GL 631020, ready for upload

The journal comes out formatted.

One debit line per cost centre against your GL account, in the layout your finance system expects. No workbook, no pivot table, no retyping.

What you can pull
{REPORTS.map(([n, t, b]) => (
{n}
{t}
{b}
))}

One click at month end.

The month-end pack prints one dated document: cost centre spend, the journal, top stock, shrinkage, and anything still outstanding — over a summary carrying the month’s supplier spend and the value of the stock on the shelf.

See the reports in the demo
Nothing is re-priced after the fact, so a report you ran in August still says in December what it said in August.
); }