Skip to contents

Downloads and tidies the monthly HMRC Tax Receipts and National Insurance Contributions bulletin published on GOV.UK. The bulletin covers all major UK taxes and duties at monthly frequency and is updated on approximately the 15th working day of each month. HMRC's monthly table is a rolling window: it currently starts in April 2017.

Usage

hmrc_tax_receipts(tax = NULL, start = NULL, end = NULL, cache = TRUE)

Arguments

tax

Character vector of tax head identifiers, or NULL (default) to return all available series. Use hmrc_list_tax_heads() to see valid values and descriptions.

start

Character "YYYY-MM" or a Date object. If provided, rows before this month are dropped.

end

Character "YYYY-MM" or a Date object. If provided, rows after this month are dropped.

cache

Logical. If TRUE (default), the downloaded file is cached locally and reused on subsequent calls. Use hmrc_clear_cache() to reset.

Value

An hmrc_tbl (subclass of data.frame) with columns:

date

Date. The first day of the reference month.

tax_head

Character. Tax or duty identifier (see hmrc_list_tax_heads()).

description

Character. Plain-English series label.

receipts_gbp_m

Numeric. Cash receipts in millions of pounds (GBP).

Provenance metadata (source URL, fetch time, vintage) is attached as the "hmrc_meta" attribute and can be inspected with hmrc_meta().

Details

Months with no receipts for a head (for example Bank Levy outside its instalment months) are marked [X] by HMRC and returned as NA. If HMRC adds a new series to the bulletin (Vaping Products Duty is due from October 2026), it is returned under a snake_case tax_head built from its column label, with a one-off message, until the package adds it to hmrc_list_tax_heads().

Examples

# \donttest{
op <- options(hmrc.cache_dir = file.path(tempdir(), "hmrc"))
try({
  tr <- hmrc_tax_receipts(tax = c("income_tax", "vat"), start = "2025-04")
  head(tr)
})
#>  Resolving download URL from GOV.UK Content API
#>  Resolving download URL from GOV.UK Content API [24ms]
#> 
#>  Using cached file
#>  Using cached file [5ms]
#> 
#>  Parsing data
#>  Parsing data [55ms]
#> 
#> # HMRC tax receipts and NICs (monthly bulletin)
#> # Source: https://www.gov.uk/government/statistics/hmrc-tax-and-nics-receipts-for-the-uk
#> # Fetched 2026-09-13 19:24:26 UTC | Vintage: latest | Cells: cash | Freq: monthly | 6 rows x 4 cols
#> 
#>         date   tax_head                           description receipts_gbp_m
#> 1 2025-04-01 income_tax Income Tax (PAYE and Self Assessment)          29822
#> 2 2025-05-01 income_tax Income Tax (PAYE and Self Assessment)          21208
#> 3 2025-06-01 income_tax Income Tax (PAYE and Self Assessment)          21052
#> 4 2025-07-01 income_tax Income Tax (PAYE and Self Assessment)          37751
#> 5 2025-08-01 income_tax Income Tax (PAYE and Self Assessment)          21775
#> 6 2025-09-01 income_tax Income Tax (PAYE and Self Assessment)          22053
options(op)
# }