# Buckinghamshire Spending Review

An independent Excel portfolio project using 48 council expenditure publications labelled January 2024 through December 2025. Supplier and procurement-card streams remain separate.

## Open the workbook

Download the workbook from the project page. Use 64-bit Microsoft 365 Excel for Windows with Power Query and the Data Model. The workbook is macro-free and opens with its saved data. Native Excel is required for its slicers, relationships and refresh; Python is optional for the additional calculation check below.

1. Extract this entire package.
2. Open the workbook and use Start to navigate Department Spending, Supplier Review, Card Review and Data Quality.
3. On Settings & Mappings, set the yellow RawFolder value to the full path of this package's `data/raw` folder. The original saved path is an inert construction-machine setting; replace it before refreshing.
4. Choose Data > Refresh All. Leave Excel open until all queries finish. Expect several minutes, depending on the machine.
5. Confirm Data Quality differences are zero. Known source flags remain visible. Failed refresh can leave cached data, so check Queries & Connections for errors.

## Reproduce the underlying checks

Requires Python 3.11 or newer, standard library only. From the extracted folder:

```text
python reproduce.py
```

The check verifies all 48 source hashes, reads the original CSV bytes, applies the retained structural classifications, reproduces counts and integer-pence totals by file, and compares annual, monthly and department aggregates with the retained baseline. It writes `outputs/buckinghamshire.json` and `outputs/verification.json`. These checks do not automate Excel, certify accessibility, or claim a new native review.

To use another exact copy of the raw snapshot:

```text
python reproduce.py --raw-folder /path/to/raw --out /path/to/results
```

Changed source bytes fail explicitly. URLs and hashes are in `data/inventory.json`; future downloads may be revised. The package includes the unchanged 48-file snapshot, so reproduction does not depend on current URL responses.

## Definitions and limits

Amounts are signed GBP. Calculations use integer pence. Publication month is the time basis. Row counts are published expenditure rows, not invoice or purchase counts. Empty records, verified zero sentinels and one reconciled total row are structurally excluded; negative/repeated expenditure rows are retained. Never add the supplier and card streams. These records do not establish complete council expenditure, budget variance, savings, fraud, compliance or causal change. Department labels remain distinct and blanks are Unallocated.

The unchanged v0.2 workbook retains its 29 September 2026 technical review. Historical refresh evidence applies to unchanged queries; this package makes no new refresh-timing or human-accessibility claim. AI assisted implementation and checking. It is an independent portfolio project, not a council product or production deployment.

## Source and reuse

Source: Buckinghamshire Council supplier expenditure and government procurement-card publications, retained versions retrieved 27 September 2026.

Contains public sector information licensed under the Open Government Licence v3.0.

- https://www.buckinghamshire.gov.uk/about/copyright/
- https://www.buckinghamshire.gov.uk/your-council/about-the-council/spending-contracts-and-transparency/
- https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/

Council terms checked 3 October 2026. The licence excludes personal data and separately owned rights; redactions are preserved and no council logo is used. No endorsement is implied. Project code is supplied for inspection and reproduction; third-party material retains its terms.
