haqlLabs

haql-rrc · Texas RRC filing QC

A PR filing is a legal document. haql-rrc checks it before the district does.

Texas Railroad Commission Form PR is built on operator numbers and disposition codes. One missing P-5 number, or a code the printed table does not contain, is a rejected filing and a late resubmission. haql-rrc runs the printed RRC rules over the export you already have, names the offending row, and shows the filing deadline and fine exposure.

Run it yourself: download the standalone binary — a CSV in, a filing audit out. Fully offline, deterministic, same rules every filing.

Read the public guide: what it does, what it checks and what it does not do →

one command, one filing
# synthetic Form PR export
haql-rrc demo

# audit before you file
haql-rrc demo_pr.csv --no-open --report rrc-audit.json

# result
  PR due 2026-06-30 · 105 day(s) OVERDUE
rows=10 leases=10 issues=9
  critical=0 high=5 medium=1 low=2 info=1
  by rule:
    RRC001_MISSING_OPERATOR                  1
    RRC002_OPERATOR_MISMATCH                 2
    RRC003_OIL_UNPARSEABLE_OR_UNKNOWN_CODE   1
    RRC004_GAS_UNPARSEABLE_OR_UNKNOWN_CODE   3
    RRC010_DISTRICT_OUT_OF_RANGE             1
  report          → rrc-audit.json
  exception sheet → rrc-audit.html

Fines are never asserted as dollar amounts — quantify with --fine-rate against your own penalty schedule.

What it is

A production export in. A filing audit and a deadline clock out.

No RRC eFiling integration. No template to fill in by hand. Just the export you already produce, checked against the codes the form prints.

Goes in

A monthly production / Form PR export: operator number, RRC district, disposition code, and oil, gas and water volumes. Column names can be whatever your system emits — the tool maps headers to canonical roles by synonym, and --map ROLE=COLUMN overrides the guess.

Comes out

A filing audit (JSON + HTML) with each rule violation traced to its source row, ready to fix before submission, plus a deadline and fine-exposure clock — --fine-rate turns findings into a dollar range, --deadline puts the due date in the output.

Why you need it

An RRC reject is not a bug report. It is a late filing.

The PR form is validated against a printed code table. Every rule the district applies is knowable before you submit — and every one that trips costs a resubmission and a clock.

The missing operator number

A row files with no P-5 operator number, or the file carries two different operator numbers. The form cannot attribute the volume — it is rejected (RRC001, RRC002).

The code that is not on the form

An oil or gas disposition code that is not in the printed Form PR tables. It looks like a code, so it passes a human glance; the district's validation rejects it (RRC003, RRC004).

The volume with no disposition

A volume is reported but no disposition code says what happened to it, so the balance cannot be struck (RRC007).

The district out of range

An RRC district number outside 1–9, or missing entirely — the row cannot be routed (RRC010, RRC009).

Without haql-rrc

The export is filed as produced. Days later the district rejects it on a code or an operator number, and the correction becomes an amended filing against a deadline that has already started.

The error is cheap to fix on Monday and expensive to fix the week after filing.

With haql-rrc

Every tripped rule named to the row before submission, the deadline computed, and the fine exposure quantified against your own rate — so the filing goes out clean the first time.

The resubmission never happens.

What it actually catches

Every way a PR row can be rejected.

The full check list
  • No operator number — a PR row carries no P-5 operator number (RRC001)
  • Mixed operator numbers — more than one distinct P-5 operator number in a single file (RRC002)
  • Unknown oil code — an oil disposition code not in the printed Form PR Table 1 (RRC003)
  • Unknown gas code — a gas disposition code not in the printed Form PR Table 2 (RRC004)
  • Volume without a code — a disposition volume reported with no disposition code (RRC007)
  • Missing flare remark — a flared / vented gas code without the required AR / AE / EP / EX remark (RRC008)
  • Missing district — a PR row carrying no RRC district number (RRC009)
  • District out of range — an RRC district number outside 1–9 (RRC010)
  • Embedded QC — the same structural and numeric QC pass as haql-qc runs first over the export, so a row that cannot be parsed is caught before the filing rules read it
  • Deadline and fine clock — the filing due date computed, and findings quantifiable with --fine-rate against your own penalty schedule

Same design stance as the rest of the suite: read-only, offline, deterministic, traceable to the row.

Pricing

Priced against a rejected filing, not a seat count.

A rejected PR filing is an amended filing, a late clock, and in some cases a fine. haql-rrc is the check that costs less than the resubmission.

Sample check

Free

One month of production data, on the house. No key, no seat limit, no card. You get the full rule report back.

Send me the export

Team

$349/month

Annual commitment, up to 10 users, unlimited leases and fields. Academic research and evaluation use needs no key.

On-premise

$1,750/month

Annual, per site, unlimited users on that site. Under most data-residency policy this is the premise, not a feature.

Evaluation: 30 days, no license key needed.

Next

Run a month through it before the next filing.

Email the export — anonymised if you prefer — and get the full rule report and deadline clock back at no cost.

kunleaz100@gmail.com