hmrc.plugins package

Submodules

hmrc.plugins.csv module

CSV data formats

class hmrc.plugins.csv.CsvTypeParser(pytype: type, parse: Callable = None)[source]

Bases: hmrc.plugins.tabular.TabularTypeParser

CSV type parser

calendar = <parsedatetime.Calendar object>

Calendar object used for date parsing

classmethod parse_date(value)[source]

Parse date from CSV value

classmethod parse_datetime(value)[source]

Parse datetime from CSV value

class hmrc.plugins.csv.CsvDataClass[source]

Bases: hmrc.plugins.tabular.TabularDataClass

CSV data class

TypeParser

alias of CsvTypeParser

class hmrc.plugins.csv.CsvVatReturn(end: datetime.date, vat_sales: decimal.Decimal = Decimal('0.00'), vat_acquisitions: decimal.Decimal = Decimal('0.00'), vat_reclaimed: decimal.Decimal = Decimal('0.00'), total_sales: decimal.Decimal = Decimal('0.00'), total_purchases: decimal.Decimal = Decimal('0.00'), total_supplies: decimal.Decimal = Decimal('0.00'), total_acquisitions: decimal.Decimal = Decimal('0.00'))[source]

Bases: hmrc.plugins.csv.CsvDataClass, hmrc.plugins.tabular.TabularVatReturn

VAT return from CSV data

class hmrc.plugins.csv.CsvCommand(args: argparse.Namespace)[source]

Bases: hmrc.plugins.tabular.TabularCommand

CSV file command

data()[source]

Read input data

classmethod init_parser(parser)[source]

Initialise argument parser

class hmrc.plugins.csv.CsvVatSubmitCommand(args: argparse.Namespace)[source]

Bases: hmrc.plugins.csv.CsvCommand, hmrc.plugins.tabular.TabularVatSubmitCommand

Submit VAT return(s) from CSV file

Row

alias of CsvVatReturn

hmrc.plugins.excel module

Excel data formats

class hmrc.plugins.excel.ExcelCommand(args: argparse.Namespace)[source]

Bases: hmrc.plugins.tabular.TabularCommand

Excel file command

data()[source]

Read input data

classmethod init_parser(parser)[source]

Initialise argument parser

class hmrc.plugins.excel.ExcelDataClass[source]

Bases: hmrc.plugins.tabular.TabularDataClass

Excel data class

TypeParser

alias of ExcelTypeParser

class hmrc.plugins.excel.ExcelTypeParser(pytype: type, parse: Callable = None)[source]

Bases: hmrc.plugins.tabular.TabularTypeParser

Excel type parser

class hmrc.plugins.excel.ExcelVatReturn(end: datetime.date, vat_sales: decimal.Decimal = Decimal('0.00'), vat_acquisitions: decimal.Decimal = Decimal('0.00'), vat_reclaimed: decimal.Decimal = Decimal('0.00'), total_sales: decimal.Decimal = Decimal('0.00'), total_purchases: decimal.Decimal = Decimal('0.00'), total_supplies: decimal.Decimal = Decimal('0.00'), total_acquisitions: decimal.Decimal = Decimal('0.00'))[source]

Bases: hmrc.plugins.excel.ExcelDataClass, hmrc.plugins.tabular.TabularVatReturn

VAT return from Excel data

class hmrc.plugins.excel.ExcelVatSubmitCommand(args: argparse.Namespace)[source]

Bases: hmrc.plugins.excel.ExcelCommand, hmrc.plugins.tabular.TabularVatSubmitCommand

Submit VAT return(s) from Excel file

Row

alias of ExcelVatReturn

hmrc.plugins.tabular module

Tabular data formats

class hmrc.plugins.tabular.TabularTypeParser(pytype: type, parse: Callable = None)[source]

Bases: object

Tabular data type parser

parse = None

Value parser for this target Python type

pytype = None

Target Python type

class hmrc.plugins.tabular.TabularDataClass[source]

Bases: object

Tabular data class

TypeParser

Type parser class

alias of TabularTypeParser

classmethod build_parsers()[source]

Construct type parsers for each dataclass field

classmethod from_tabular(**kwargs)[source]

Construct Python object from tabular data

hmrc.plugins.tabular.tabulardataclass(cls)[source]

Tabular data class decorator

class hmrc.plugins.tabular.TabularNoData[source]

Bases: hmrc.plugins.tabular.TabularDataClass

Empty tabular data

class hmrc.plugins.tabular.TabularRowReader(Row: type, headings: List[str], mapping: Mapping[str, str] = <factory>, getters: Mapping[str, Callable] = <factory>)[source]

Bases: object

Tabular data row reader

Row = None

Row data class

getters = None

Item getters for each row data class field present in input columns

headings = None

Input column headings

mapping = None

Mapping from row data class field names to input column headings

class hmrc.plugins.tabular.TabularReader(data: Iterable[T_co], Row: type, headings: List[str] = None, mapping: Mapping[str, str] = <factory>)[source]

Bases: object

Tabular data reader

Row = None

Row class

RowReader

Data row reader class

alias of TabularRowReader

data = None

Input data

headings = None

Input column headings

mapping = None

Mapping from output row field names to input column headings

class hmrc.plugins.tabular.TabularColumn(name: str, description: str = None, dest: str = None)[source]

Bases: object

Tabular data column

description = None

Column description

dest = None

Argument parser destination

name = None

Column name

class hmrc.plugins.tabular.TabularCommand(args: argparse.Namespace)[source]

Bases: hmrc.cli.base.Command

Tabular data processing command

Reader

Data reader class

alias of TabularReader

Row

Row data class

alias of TabularNoData

columns = []

List of column definitions

data()[source]

Read input data

classmethod init_parser(parser)[source]

Initialise argument parser

reader()[source]

Construct data reader

class hmrc.plugins.tabular.TabularVatReturn(end: datetime.date, vat_sales: decimal.Decimal = Decimal('0.00'), vat_acquisitions: decimal.Decimal = Decimal('0.00'), vat_reclaimed: decimal.Decimal = Decimal('0.00'), total_sales: decimal.Decimal = Decimal('0.00'), total_purchases: decimal.Decimal = Decimal('0.00'), total_supplies: decimal.Decimal = Decimal('0.00'), total_acquisitions: decimal.Decimal = Decimal('0.00'))[source]

Bases: hmrc.plugins.tabular.TabularDataClass

VAT return from tabular data

submission(period_key, finalise=False)[source]

Construct VAT submission

total_acquisitions = Decimal('0.00')
total_purchases = Decimal('0.00')
total_sales = Decimal('0.00')
total_supplies = Decimal('0.00')
vat_acquisitions = Decimal('0.00')
vat_reclaimed = Decimal('0.00')
vat_sales = Decimal('0.00')
class hmrc.plugins.tabular.TabularVatSubmitCommand(args: argparse.Namespace)[source]

Bases: hmrc.plugins.tabular.TabularCommand, hmrc.cli.vat.VatCommand

Submit VAT return(s) from tabular data

Row

alias of TabularVatReturn

columns = [TabularColumn(name='end', description='end date', dest='end_column'), TabularColumn(name='vat_sales', description='VAT due on sales', dest='vat_sales_column'), TabularColumn(name='vat_acquisitions', description='VAT due on acquisitions', dest='vat_acquisitions_column'), TabularColumn(name='vat_reclaimed', description='VAT reclaimed', dest='vat_reclaimed_column'), TabularColumn(name='total_sales', description='Total sales (ex VAT)', dest='total_sales_column'), TabularColumn(name='total_purchases', description='Total purchases (ex VAT)', dest='total_purchases_column'), TabularColumn(name='total_supplies', description='Total supplies (ex VAT)', dest='total_supplies_column'), TabularColumn(name='total_acquisitions', description='Total acquisitions (ex VAT)', dest='total_acquisitions_column')]
execute(client)[source]

Execute command

classmethod init_parser(parser)[source]

Initialise argument parser

Module contents

HMRC plugin modules