Monitoring results in. Reporting you can rely on out.

CostCraft™ builds the systems that take your lab results, logger data and field records and produce the reports your permits and licences require — checked, structured and consistent every reporting period.

Map of British Columbia and Yukon with monitoring stations (illustrative)8 synthetic monitoring stations across British Columbia and Yukon. One, STN-C3, is flagged.YukonBritish ColumbiaSTN-C3

Copper, total — STN-C3

Illustrative

mg/L, monthly · synthetic data

Copper, total — STN-C3, last 12 months (illustrative, synthetic)Monthly results stay under the 0.020 mg/L limit until Sep, when the result is 0.031 mg/L and is flagged as an exceedance.0.000.010.020.03Licence limit 0.020OctJanAprJulSep0.031
  • STN-A1Within
  • STN-B2Within
  • STN-C3Exceeds
  • STN-D4Within

Compliance reporting services

Illustrative

Monitoring reporting

Problem
Monthly, quarterly and annual reports rebuilt from raw lab files and logger downloads, by hand, every cycle.
Outcome
Water, air, soil and noise results checked against your permit and licence limits, structured the same way every reporting period.
More on monitoring reporting
Illustrative

Exceedance tracking

Problem
Exceedances found late, or discovered inconsistently across reviewers.
Outcome
Every result compared against the applicable limit or guideline, flagged with a reason, every time.

What an engagement looks like.

  1. Data review

    We look at what you have: lab exports, logger downloads, field sheets, environmental database outputs, whatever form your monitoring data arrives in.

  2. Mapping

    Your parameters mapped to your permit or licence requirements. No assumptions; every mapping documented.

  3. System build

    A reporting system that runs your data against your limits and produces a structured output.

  4. Handoff

    You run it. We're available when something changes.

We work with environmental database exports, logger and monitor downloads, and most standard lab delivery formats.

Before, after, and what couldn't be fixed

Worked example, synthetic data: eight lab-export rows in, five clean rows out, three exceptions with a reason each.

Before 8 rows

Raw lab export as received (synthetic)
#StationDateParameterValueUnit
1stn a103/09/2026Cu (tot)0.0042mg/L
2STN-A12026-09-03Zinc, Total38ug/L
3STN_B2 Sep 4 2026TSS<2mg/l
4STN-B22026-09-04pH (lab)7.9pH units
5STN-C32026-09-05Cu (tot)0.031 *mg/L
6STN-C32026-09-05Copper, Total0.031mg/L
7STN-D?2026-09-06Zinc, Total0.051mg/L
8STN-E506/09/26Cd (diss)n/a—

After 5 rows

One station code, ISO dates, one unit per parameter (synthetic)
StationDateParameterValueUnit
STN-A12026-09-03Copper, total0.0042mg/L
STN-A12026-09-03Zinc, total0.038mg/L
STN-B22026-09-04TSS<2.0mg/L
STN-B22026-09-04pH, lab7.90pH
STN-C32026-09-05Copper, total0.031mg/L

Exceptions 3 rows

Rows that could not be resolved, each with a reason (synthetic)
RowStationStatusReason
6STN-C3FlaggedDuplicate of row 5 after the parameter names were matched. Kept once; the lab qualifier "*" needs a source.
7STN-D?FlaggedStation code not in the station list. Not guessed.
8STN-E5FlaggedNo value ("n/a") and no unit. Left out of the totals.
Table 1 of 3 · swipe for the next

BC and Yukon.

Our compliance reporting work is concentrated in British Columbia and the Yukon, where mining water licence requirements and environmental monitoring obligations create the most complex reporting demands.

Our work is concentrated where regulated data and operational reporting create the most friction — resource operations, environmental monitoring, and capital-intensive organizations across British Columbia and the Yukon.

We build and run monthly compliance reporting for mining operations in northern Canada.

Questions

Who is responsible for what the report says?

You are. CostCraft builds the data handling and the reporting. The interpretation, the professional judgment and the sign-off stay with your qualified professional. We don't write the professional opinion, and we don't submit anything on your behalf.

Can our qualified professional verify what you built?

Yes, without taking our word for it. Any number in the report traces back to the source row it came from, and the checks that run every cycle can be run by your own people. When something doesn't reconcile, it shows rather than being quietly absorbed.

What happens when a permit or requirement changes?

It depends on the size of the change. A new threshold, a new station, a changed limit — those are configuration, and they're quick. A structural change, where the shape of what you report is different, is a piece of work and we'll scope it. Either way, you're not rebuilding from scratch.

What if we change labs, or the export format changes?

It depends how different the new format is. Source formats change, and the system is built knowing it. A format close to the old one is a mapping change and it's quick. A genuinely different one is a piece of work, and we'll scope it before starting.

Do you handle historical data as well as new months?

Yes, and normally as part of the build. Past records usually need the same work the new ones do, and having them in means you can see trends rather than just the current month.

Bring us your reporting problem.

Book a free 30-minute data review. You describe what you're working with; we'll tell you what a system would look like.

Book a free 30-minute data review