subrecords

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Sub1097BTC

type Sub1097BTC struct {
	// Required. Enter the appropriate indicator from the table
	// below:
	// 1: Issuer of bond or its agent filing
	//    initial 2019 Form 1097-BTC for
	//    credit being reported
	// 2: An entity that received a 2018 Form
	//    1097-BTC for credit being reported
	IssuerIndicator string `json:"issuer_indicator" validate:"required"`

	// Required. Enter the appropriate alpha indicator from the
	// table below:
	// A: Account number
	// B: CUSIP number
	// O: Unique identification number, not an
	//    account/CUSIP number, such as a
	//    self-provided identification number
	Code string `json:"code" validate:"required"`

	// Enter the unique identifier assigned to the bond. This can be
	// an alphanumeric identifier such as the CUSIP number.
	// Right justify the information and fill unused positions with
	// blanks.
	UniqueIdentifier string `json:"unique_identifier"`

	// Required. Enter the appropriate indicator from the table.
	// 101: Clean Renewable Energy Bond
	// 199: Other
	BondType string `json:"bond_type" validate:"required"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. You may enter
	// comments here. If this field is not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1097BTC) Ascii

func (r *Sub1097BTC) Ascii() []byte

Ascii returns fire ascii of “1097-BTC” record

func (*Sub1097BTC) FederalState added in v0.1.4

func (r *Sub1097BTC) FederalState() int

Type returns FS code of “1097-BTC” record

func (*Sub1097BTC) Parse

func (r *Sub1097BTC) Parse(buf []byte) error

Parse parses the “1097-BTC” record from fire ascii

func (*Sub1097BTC) Type

func (r *Sub1097BTC) Type() string

Type returns type of “1097-BTC” record

func (*Sub1097BTC) Validate

func (r *Sub1097BTC) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1097BTC) ValidateBondType

func (r *Sub1097BTC) ValidateBondType() error

func (*Sub1097BTC) ValidateCode

func (r *Sub1097BTC) ValidateCode() error

func (*Sub1097BTC) ValidateIssuerIndicator

func (r *Sub1097BTC) ValidateIssuerIndicator() error

type Sub1098 added in v0.1.4

type Sub1098 struct {
	// Enter the date of the Mortgage Origination in YYYYMMDD
	// format.
	MortgageOriginationDate time.Time `json:"mortgage_origination_date"`

	// Enter “1” (one) if Property Securing Mortgage is the same as
	// payer/borrowers’ address. Otherwise enter a blank.
	PropertySecuringMortgageIndicator string `json:"property_securing_mortgage_indicator"`

	// Enter the address or description of the property securing the
	// mortgage if different than the payer/borrowers address.
	// Left justify and fill with blanks.
	PropertyADSecuringMortgage string `json:"property_address_description_securing_mortgage"`

	// Enter any other item you wish to report to the payer.
	// Examples include:
	// • Continuation of Property Address Securing Mortgage
	// • Continuation of Legal Description of Property
	// • Real estate taxes
	// • Insurance paid from escrow
	// • If you are a collection agent, the name of the person for
	// whom you collected the interest
	// This is a free format field. If this field is not used, enter
	// blanks.
	// You do not have to report to the IRS any information
	// provided in this box.
	// Left justify and fill with blanks.
	Other string `json:"other"`

	// If more than one property securing the mortgage, enter the
	// total number of properties secured by this mortgage. If less
	// than two (2), enter blanks. Valid values are 0000 - 9999.
	NumberMortgagedProperties int `json:"number_mortgaged_properties"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or
	// local revenue departments for the filing requirements. If
	// this field is not use, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// Enter the date in format YYYYMMDD if the recipient/lender
	// acquired the mortgage in 2019, show the date of
	// acquisition. (for example, January 5, 2019, would be
	// 20190105)
	MortgageAcquisitionDate time.Time `json:"mortgage_acquisition_date"`
}

func (*Sub1098) Ascii added in v0.1.4

func (r *Sub1098) Ascii() []byte

Ascii returns fire ascii of “1098” record

func (*Sub1098) FederalState added in v0.1.4

func (r *Sub1098) FederalState() int

Type returns FS code of “1098” record

func (*Sub1098) Parse added in v0.1.4

func (r *Sub1098) Parse(buf []byte) error

Parse parses the “1098” record from fire ascii

func (*Sub1098) Type added in v0.1.4

func (r *Sub1098) Type() string

Type returns type of “1098” record

func (*Sub1098) Validate added in v0.1.4

func (r *Sub1098) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1098) ValidatePropertySecuringMortgageIndicator added in v0.1.4

func (r *Sub1098) ValidatePropertySecuringMortgageIndicator() error

type Sub1098C added in v0.1.4

type Sub1098C struct {
	// Enter “1” (one) if the amount reported in Payment Amount
	// Field 4 is an arm’s length transaction to an unrelated party.
	// Otherwise, enter a blank.
	TransactionIndicator string `json:"transaction_indicator"`

	// Enter “1” (one) if the vehicle will not be transferred for
	// money, other property, or services before completion of
	// material improvements or significant intervening use.
	// Otherwise, enter a blank.
	TransferAfterImprovementsIndicator string `json:"transfer_after_improvements_indicator"`

	// Enter “1” (one) if the vehicle is transferred to a needy
	// individual for significantly below fair market value. Otherwise,
	// enter a blank.
	TransferMarketValueIndicator string `json:"transfer_market_value_indicator"`

	// Enter the year of the vehicle in YYYY format.
	Year int `json:"year"`

	// Enter the Make of the vehicle. Left justify the information and
	// fill unused positions with blanks.
	Make string `json:"make"`

	// Enter the Model of the vehicle. Left justify the information and
	// fill unused positions with blanks.
	Model string `json:"model"`

	// Enter the vehicle or other identification number of the
	// donated vehicle. Left justify the information and fill unused
	// positions with blanks.
	VehicleIdentificationNumber string `json:"vehicle_identification_number"`

	// Enter a description of material improvements or significant
	// intervening use and duration of use. Left justify the
	// information and fill unused positions with blanks.
	VehicleDescription string `json:"vehicle_description"`

	// Enter the date the contribution was made to an organization,
	// in YYYYMMDD format (for example, January 5, 2019, would
	// be 20190105).
	DateContribution time.Time `json:"date_contribution"`

	// Enter the appropriate indicator from the following table to
	// report if the donee of the vehicle provides goods or services
	// in exchange for the vehicle.
	// 1: Donee provided goods or services
	// 2: Donee did not provide goods or services
	DoneeIndicator string `json:"donee_indicator"`

	// Enter “1” (one) if only intangible religious benefits were
	// provided in exchange for the vehicle. Otherwise, enter a
	// blank.
	IntangibleReligiousBenefitsIndicator string `json:"intangible_religious_benefits_indicator"`

	// Enter “1” (one) if under the law the donor cannot claim a
	// deduction of more than $500 for the vehicle. Otherwise,
	// enter a blank.
	DeductionLessIndicator string `json:"deduction_less_indicator"`

	// You may enter odometer mileage here. Enter as 7 numeric
	// characters. The remaining positions of this field may be used
	// to record information for state and local government
	// reporting or for the filer's own purposes. Payers should
	// contact the state or local revenue departments for the filing
	// requirements. If this field is not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// Enter the date of sale, in YYYYMMDD format (for example,
	// January 5, 2019, would be 20190105). Do not enter hyphens
	// or slashes.
	DateSale time.Time `json:"date_sale"`

	// Enter a description of any goods and services received for
	// the vehicle. Otherwise, enter blanks.
	// Left justify information and fill unused positions with blanks.
	GoodsServices string `json:"goods_services"`
}

func (*Sub1098C) Ascii added in v0.1.4

func (r *Sub1098C) Ascii() []byte

Ascii returns fire ascii of “1098-C” record

func (*Sub1098C) FederalState added in v0.1.4

func (r *Sub1098C) FederalState() int

Type returns FS code of “1098-C” record

func (*Sub1098C) Parse added in v0.1.4

func (r *Sub1098C) Parse(buf []byte) error

Parse parses the “1098-C” record from fire ascii

func (*Sub1098C) Type added in v0.1.4

func (r *Sub1098C) Type() string

Type returns type of “1098-C” record

func (*Sub1098C) Validate added in v0.1.4

func (r *Sub1098C) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1098C) ValidateDeductionLessIndicator added in v0.1.4

func (r *Sub1098C) ValidateDeductionLessIndicator() error

func (*Sub1098C) ValidateDoneeIndicator added in v0.1.4

func (r *Sub1098C) ValidateDoneeIndicator() error

func (*Sub1098C) ValidateIntangibleReligiousBenefitsIndicator added in v0.1.4

func (r *Sub1098C) ValidateIntangibleReligiousBenefitsIndicator() error

func (*Sub1098C) ValidateTransactionIndicator added in v0.1.4

func (r *Sub1098C) ValidateTransactionIndicator() error

func (*Sub1098C) ValidateTransferAfterImprovementsIndicator added in v0.1.4

func (r *Sub1098C) ValidateTransferAfterImprovementsIndicator() error

func (*Sub1098C) ValidateTransferMarketValueIndicator added in v0.1.4

func (r *Sub1098C) ValidateTransferMarketValueIndicator() error

type Sub1098E added in v0.1.4

type Sub1098E struct {
	// Enter “1” (one) if the amount reported in Payment Amount
	// Field 1 does not include loan origination fees and/or
	// capitalized interest made before September 1, 2004.
	// Otherwise, enter a blank.
	OriginationInterestIndicator string `json:"origination_interest_indicator"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or
	// local revenue departments for the filing requirements. If
	// this field is not use, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1098E) Ascii added in v0.1.4

func (r *Sub1098E) Ascii() []byte

Ascii returns fire ascii of “1098-E” record

func (*Sub1098E) FederalState added in v0.1.4

func (r *Sub1098E) FederalState() int

Type returns FS code of “1098-E” record

func (*Sub1098E) Parse added in v0.1.4

func (r *Sub1098E) Parse(buf []byte) error

Parse parses the “1098-E” record from fire ascii

func (*Sub1098E) Type added in v0.1.4

func (r *Sub1098E) Type() string

Type returns type of “1098-E” record

func (*Sub1098E) Validate added in v0.1.4

func (r *Sub1098E) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1098E) ValidateOriginationInterestIndicator added in v0.1.4

func (r *Sub1098E) ValidateOriginationInterestIndicator() error

type Sub1098F added in v0.1.4

type Sub1098F struct {
	// Enter the effective date of the order in YYYYMMDD format
	// (for example, January 5, 2019, would be 20190105).
	DateOrderAgreement time.Time `json:"date_order_agreement"`

	// Enter the jurisdiction for the fines, penalties, or other
	// amounts being assessed, if applicable.
	Jurisdiction string `json:"jurisdiction"`

	// Enter the case number assigned to the order or agreement, if
	// applicable.
	CaseNumber string `json:"case_number"`

	// Enter a name or description to identify order or agreement.
	MatterSuitAgreement string `json:"matter_suit_agreement"`

	// Enter one or more of the following payment codes.
	// B: Multiple payers/defendants
	// C: Multiple payees
	// D: Property included in settlement
	// E: Settlement payments to nongovernmental entities, i.e., charities
	// F: Settlement paid in full as of time of filing
	// G: No payment received as of time of filing
	// H: Deferred prosecution agreement
	PaymentCode string `json:"payment_code"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or
	// local revenue departments for the filing requirements. If this
	// field is not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1098F) Ascii added in v0.1.4

func (r *Sub1098F) Ascii() []byte

Ascii returns fire ascii of “1098-F” record

func (*Sub1098F) FederalState added in v0.1.4

func (r *Sub1098F) FederalState() int

Type returns FS code of “1098-F” record

func (*Sub1098F) Parse added in v0.1.4

func (r *Sub1098F) Parse(buf []byte) error

Parse parses the “1098-F” record from fire ascii

func (*Sub1098F) Type added in v0.1.4

func (r *Sub1098F) Type() string

Type returns type of “1098-F” record

func (*Sub1098F) Validate added in v0.1.4

func (r *Sub1098F) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1098F) ValidatePaymentCode added in v0.1.4

func (r *Sub1098F) ValidatePaymentCode() error

type Sub1098Q added in v0.1.4

type Sub1098Q struct {
	// Enter the annuity start date in YYYYMMDD format. If the
	// payments have not started, show the annuity amount payable on
	// start date in YYYYMMDD format.
	AnnuityStartDate time.Time `json:"annuity_start_date"`

	// Enter “1” (one) if payments have not yet started and the start
	// date may be accelerated. Otherwise, enter a blank.
	AcceleratedIndicator string `json:"accelerated_indicator"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	January int `json:"january"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	February int `json:"february"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	March int `json:"march"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	April int `json:"april"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	May int `json:"may"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	June int `json:"june"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	July int `json:"july"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	August int `json:"august"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	September int `json:"september"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	October int `json:"october"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	November int `json:"november"`

	// Enter a two-digit number 01-31. Otherwise, enter blanks.
	December int `json:"december"`

	// If the contract was purchased under a plan, enter the name of
	// the plan. Otherwise, enter blanks.
	NamePlan string `json:"name_plan"`

	// If the contract was purchased under a plan, enter the plan
	// number. Otherwise, enter blanks.
	PlanNumber string `json:"plan_number"`

	// If the contract was purchased under a plan, enter the nine-digit
	// employer identification number of the plan sponsor. Otherwise,
	// enter blanks.
	EmployerIdentificationNumber string `json:"employer_identification_number"`
}

func (*Sub1098Q) Ascii added in v0.1.4

func (r *Sub1098Q) Ascii() []byte

Ascii returns fire ascii of “1098-Q” record

func (*Sub1098Q) FederalState added in v0.1.4

func (r *Sub1098Q) FederalState() int

Type returns FS code of “1098-Q” record

func (*Sub1098Q) Parse added in v0.1.4

func (r *Sub1098Q) Parse(buf []byte) error

Parse parses the “1098-Q” record from fire ascii

func (*Sub1098Q) Type added in v0.1.4

func (r *Sub1098Q) Type() string

Type returns type of “1098-Q” record

func (*Sub1098Q) Validate added in v0.1.4

func (r *Sub1098Q) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1098Q) ValidateAcceleratedIndicator added in v0.1.4

func (r *Sub1098Q) ValidateAcceleratedIndicator() error

func (*Sub1098Q) ValidateApril added in v0.1.4

func (r *Sub1098Q) ValidateApril() error

func (*Sub1098Q) ValidateAugust added in v0.1.4

func (r *Sub1098Q) ValidateAugust() error

func (*Sub1098Q) ValidateDecember added in v0.1.4

func (r *Sub1098Q) ValidateDecember() error

func (*Sub1098Q) ValidateEmployerIdentificationNumber added in v0.1.4

func (r *Sub1098Q) ValidateEmployerIdentificationNumber() error

func (*Sub1098Q) ValidateFebruary added in v0.1.4

func (r *Sub1098Q) ValidateFebruary() error

func (*Sub1098Q) ValidateJanuary added in v0.1.4

func (r *Sub1098Q) ValidateJanuary() error

func (*Sub1098Q) ValidateJuly added in v0.1.4

func (r *Sub1098Q) ValidateJuly() error

func (*Sub1098Q) ValidateJune added in v0.1.4

func (r *Sub1098Q) ValidateJune() error

func (*Sub1098Q) ValidateMarch added in v0.1.4

func (r *Sub1098Q) ValidateMarch() error

func (*Sub1098Q) ValidateMay added in v0.1.4

func (r *Sub1098Q) ValidateMay() error

func (*Sub1098Q) ValidateNovember added in v0.1.4

func (r *Sub1098Q) ValidateNovember() error

func (*Sub1098Q) ValidateOctober added in v0.1.4

func (r *Sub1098Q) ValidateOctober() error

func (*Sub1098Q) ValidateSeptember added in v0.1.4

func (r *Sub1098Q) ValidateSeptember() error

type Sub1098T added in v0.1.4

type Sub1098T struct {
	// Required.
	// Enter 1 to certify compliance with applicable TIN solicitation
	// requirements regarding individual student when:
	// • Educational institution received a TIN from the
	//   individual in response to specific solicitation in the
	//   current year, a previous year, or the institution
	//   obtained the TIN from the student’s application for
	//   financial aid or other form (whether in the year for
	//   which the form is filed or a prior year) and, in either
	//   instance, has no reason to believe the TIN on file in
	//   the institution’s records is incorrect.
	// • Educational institution files Form 1098-T with this
	// field blank because it has no record of the student’s
	// TIN, but only if the institution made the required
	// written TIN solicitation by December 31 of the
	// calendar year for which the Form 1098-T is being
	// filed.
	// Otherwise, leave blank.
	IdentificationNumber string `json:"identification_number"`

	// Required. Enter “1” (one) if the student was at least a halftime student during any academic period that began in 2019.
	// Otherwise, enter a blank.
	HalfTimeStudentIndicator string `json:"halftime_student_indicator"`

	// Required. Enter “1” (one) if the student is enrolled
	// exclusively in a graduate level program. Otherwise, enter a
	// blank.
	GraduateStudentIndicator string `json:"graduate_student_indicator"`

	// Enter “1” (one) if the amount in Payment Amount Field 1 or
	// Payment Amount Field 2 includes amounts for an academic
	// period beginning January through March 2020. Otherwise,
	// enter a blank.
	AcademicPeriodIndicator string `json:"academic_period_indicator"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or
	// local revenue departments for the filing requirements. If
	// this field is not use, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1098T) Ascii added in v0.1.4

func (r *Sub1098T) Ascii() []byte

Ascii returns fire ascii of “1098-T” record

func (*Sub1098T) FederalState added in v0.1.4

func (r *Sub1098T) FederalState() int

Type returns FS code of “1098-T” record

func (*Sub1098T) Parse added in v0.1.4

func (r *Sub1098T) Parse(buf []byte) error

Parse parses the “1098-T” record from fire ascii

func (*Sub1098T) Type added in v0.1.4

func (r *Sub1098T) Type() string

Type returns type of “1098-T” record

func (*Sub1098T) Validate added in v0.1.4

func (r *Sub1098T) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1098T) ValidateAcademicPeriodIndicator added in v0.1.4

func (r *Sub1098T) ValidateAcademicPeriodIndicator() error

func (*Sub1098T) ValidateGraduateStudentIndicator added in v0.1.4

func (r *Sub1098T) ValidateGraduateStudentIndicator() error

func (*Sub1098T) ValidateHalfTimeStudentIndicator added in v0.1.4

func (r *Sub1098T) ValidateHalfTimeStudentIndicator() error

func (*Sub1098T) ValidateIdentificationNumber added in v0.1.4

func (r *Sub1098T) ValidateIdentificationNumber() error

type Sub1099A added in v0.1.4

type Sub1099A struct {
	// Enter the appropriate indicator from the table below:
	// 1: Borrower was personally liable for repayment of the debt.
	// Blank: Borrower was not personally liable for repayment of the debt.
	PersonalLiabilityIndicator string `json:"personal_liability_indicator"`

	// Enter the acquisition date of the secured property or the date
	// the lender first knew or had reason to know the property was
	// abandoned, in YYYYMMDD format (for example, January 5,
	// 2019, would be 20190105). Do not enter hyphens or slashes.
	DateAcquisitionKnowledgeAbandonment time.Time `json:"date_acquisition_knowledge_abandonment"`

	// Enter a brief description of the property. For real property,
	// enter the address, or if the address does not sufficiently
	// identify the property, enter the section, lot and block. For
	// personal property, enter the type, make and model (for
	// example, Car-1999 Buick Regal or Office Equipment). Enter
	// “CCC” for crops forfeited on Commodity Credit Corporation
	// loans.
	// If fewer than 39 positions are required, left justify the
	// information and fill unused positions with blanks.
	DescriptionProperty string `json:"description_property"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for the filing requirements. If this field is
	// not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1099A) Ascii added in v0.1.4

func (r *Sub1099A) Ascii() []byte

Ascii returns fire ascii of “1099-A” record

func (*Sub1099A) FederalState added in v0.1.4

func (r *Sub1099A) FederalState() int

Type returns FS code of “1099-A” record

func (*Sub1099A) Parse added in v0.1.4

func (r *Sub1099A) Parse(buf []byte) error

Parse parses the “1099-A” record from fire ascii

func (*Sub1099A) Type added in v0.1.4

func (r *Sub1099A) Type() string

Type returns type of “1099-A” record

func (*Sub1099A) Validate added in v0.1.4

func (r *Sub1099A) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099A) ValidatePersonalLiabilityIndicator added in v0.1.4

func (r *Sub1099A) ValidatePersonalLiabilityIndicator() error

type Sub1099B added in v0.1.4

type Sub1099B struct {
	// Enter “2” (two) to indicate notification by the IRS twice within
	// three calendar years that the payee provided an incorrect
	// name and/or TIN combination. Otherwise, enter a blank.
	SecondTinNotice string `json:"second_tin_notice"`

	// Enter the appropriate indicator from the following table, to
	// identify a Noncovered Security. If not a Noncovered Security,
	// enter a blank.
	// 1: Noncovered Security Basis not reported to the IRS
	// 2: Noncovered Security Basis reported to the IRS
	// Blank: Not a Noncovered Security
	NoncoveredSecurityIndicator string `json:"noncovered_security_indicator"`

	// Enter the appropriate indicator from the following table to
	// identify the amount reported in Amount Code 2. Otherwise,
	// enter a blank.
	// 1: Short Term
	// 2: Long Term 2
	// 3: Ordinary & Short Term
	// 4: Ordinary & Long Term
	TypeGainLossIndicator string `json:"type_gain_loss_indicator"`

	// Enter the appropriate indicator from the following table to
	// identify the amount reported in Amount Code 2. Otherwise,
	// enter a blank.
	// 1: Gross proceeds
	// 2: Gross proceeds less commissions and option premiums
	GrossProceedsIndicator string `json:"gross_proceeds_indicator"`

	// Enter blanks if this is an aggregate transaction. For broker
	// transactions, enter the trade date of the transaction. For
	// barter exchanges, enter the date when cash, property, a
	// credit, or scrip is actually or constructively received in
	// YYYYMMDD format (for example, January 5, 2019, would be
	// 20190105). Do not enter hyphens or slashes.
	DateSoldDisposed time.Time `json:"date_sold_disposed"`

	// Enter blanks if this is an aggregate transaction. Enter “0s”
	// (zeros) if the number is not available. For broker transactions
	// only, enter the CUSIP (Committee on Uniform Security
	// Identification Procedures) number of the item reported for
	// Amount Code 2 (Proceeds). Right justify the information and
	// fill unused positions with blanks.
	CUSIP string `json:"cusip_number"`

	// • For broker transactions, enter a brief description of
	//   the disposition item (e.g., 100 shares of XYZ Corp).
	// • For regulated futures and forward contracts, enter
	//   “RFC” or other appropriate description.
	// • For bartering transactions, show the services or
	//   property provided.
	// If fewer than 39 characters are required, left justify
	// information and fill unused positions with blanks.
	DescriptionProperty string `json:"description_property"`

	// Enter the date of acquisition in the format YYYYMMDD (for
	// example, January 5, 2019, would be 20190105). Do not enter
	// hyphens or slashes.
	// Enter blanks if this is an aggregate transaction.
	DateAcquired string `json:"date_acquired"`

	// Enter “1” (one) if the recipient is unable to claim a loss on
	// their tax return based on dollar amount in Amount Code 2
	// (Proceeds). Otherwise, enter a blank.
	LossNotAllowedIndicator string `json:"loss_not_allowed_indicator"`

	// Enter one of the following indicators. Otherwise, enter a blank.
	// A: Short-term transaction for which the cost or other basis is being reported to the IRS
	// B: Short-term transaction for which the cost or other basis is not being reported to the IRS
	// D: Long-term transaction for which the cost or other basis is being reported to the IRS
	// E: Long-term transaction for which the cost or other basis is not being reported to the IRS
	// X: Transaction - if you cannot determine whether the recipient should check box B or Box E on Form 8949 because the holding period is unknown
	ApplicableCheckboxForm8949 string `json:"applicable_checkbox_form8949"`

	// Enter “1” (one) if reporting proceeds from Collectibles.
	// Otherwise enter blank.
	ApplicableCheckboxCollectables string `json:"applicable_checkbox_collectables"`

	// Enter "1" (one) if there is a FATCA Filing Requirement.
	// Otherwise, enter a blank.
	FATCA string `json:"fatca_requirement_indicator"`

	// Enter a “1” (one) if reporting proceeds from QOF. Otherwise,
	// enter a blank.
	ApplicableCheckboxQOF string `json:"applicable_checkbox_qof"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for the filing requirements. If this field is
	// not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1099B) Ascii added in v0.1.4

func (r *Sub1099B) Ascii() []byte

Ascii returns fire ascii of “1099-B” record

func (*Sub1099B) FederalState added in v0.1.4

func (r *Sub1099B) FederalState() int

Type returns FS code of “1099-B” record

func (*Sub1099B) Parse added in v0.1.4

func (r *Sub1099B) Parse(buf []byte) error

Parse parses the “1099-B” record from fire ascii

func (*Sub1099B) Type added in v0.1.4

func (r *Sub1099B) Type() string

Type returns type of “1099-B” record

func (*Sub1099B) Validate added in v0.1.4

func (r *Sub1099B) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099B) ValidateApplicableCheckboxCollectables added in v0.1.4

func (r *Sub1099B) ValidateApplicableCheckboxCollectables() error

func (*Sub1099B) ValidateApplicableCheckboxForm8949 added in v0.1.4

func (r *Sub1099B) ValidateApplicableCheckboxForm8949() error

func (*Sub1099B) ValidateApplicableCheckboxQOF added in v0.1.4

func (r *Sub1099B) ValidateApplicableCheckboxQOF() error

func (*Sub1099B) ValidateFATCA added in v0.1.4

func (r *Sub1099B) ValidateFATCA() error

func (*Sub1099B) ValidateGrossProceedsIndicator added in v0.1.4

func (r *Sub1099B) ValidateGrossProceedsIndicator() error

func (*Sub1099B) ValidateLossNotAllowedIndicator added in v0.1.4

func (r *Sub1099B) ValidateLossNotAllowedIndicator() error

func (*Sub1099B) ValidateNoncoveredSecurityIndicator added in v0.1.4

func (r *Sub1099B) ValidateNoncoveredSecurityIndicator() error

func (*Sub1099B) ValidateSecondTinNotice added in v0.1.4

func (r *Sub1099B) ValidateSecondTinNotice() error

func (*Sub1099B) ValidateTypeGainLossIndicator added in v0.1.4

func (r *Sub1099B) ValidateTypeGainLossIndicator() error

type Sub1099C added in v0.1.4

type Sub1099C struct {
	// Required. Enter the appropriate indicator from the following table:
	// A: Bankruptcy
	// B: Other Judicial Debt Relief
	// C: Statute of limitations or expiration of deficiency period
	// D: Foreclosure election
	// E: Debt relief from probate or similar proceeding
	// F: By agreement
	// G: Creditor’s debt collection policy
	// H: Other actual discharge before identifiable event
	IdentifiableEventCode string `json:"identifiable_event_code"`

	// Enter the date the debt was canceled in YYYYMMDD format
	// (for example, January 5, 2019, would be 20190105). Do not
	// enter hyphens or slashes.
	DateIdentifiableEvent time.Time `json:"date_identifiable_event"`

	// Enter a description of the origin of the debt, such as student
	// loan, mortgage, or credit card expenditure. If a combined
	// Form 1099-C and 1099-A is being filed, also enter a
	// description of the property.
	DebtDescription string `json:"debt_description"`

	// Enter “1” (one) if the borrower is personally liable for
	// repayment, or enter a blank if not personally liable for
	// repayment.
	PersonalLiabilityIndicator string `json:"personal_liability_indicator"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for the filing requirements. If this field is
	// not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1099C) Ascii added in v0.1.4

func (r *Sub1099C) Ascii() []byte

Ascii returns fire ascii of “1099-C” record

func (*Sub1099C) FederalState added in v0.1.4

func (r *Sub1099C) FederalState() int

Type returns FS code of “1099-C” record

func (*Sub1099C) Parse added in v0.1.4

func (r *Sub1099C) Parse(buf []byte) error

Parse parses the “1099-C” record from fire ascii

func (*Sub1099C) Type added in v0.1.4

func (r *Sub1099C) Type() string

Type returns type of “1099-C” record

func (*Sub1099C) Validate added in v0.1.4

func (r *Sub1099C) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099C) ValidateIdentifiableEventCode added in v0.1.4

func (r *Sub1099C) ValidateIdentifiableEventCode() error

func (*Sub1099C) ValidatePersonalLiabilityIndicator added in v0.1.4

func (r *Sub1099C) ValidatePersonalLiabilityIndicator() error

type Sub1099CAP added in v0.1.4

type Sub1099CAP struct {
	// Enter the date the stock was exchanged for cash, stock in
	// the successor corporation, or other property received in
	// YYYYMMDD format (for example, January 5, 2019, would be
	// 20190105).
	// Do not enter hyphens or slashes.
	DateSaleExchange time.Time `json:"date_sale_exchange"`

	// Enter the number of shares of the corporation’s stock which
	// were exchanged in the transaction.
	// Report whole numbers only. Right justify the information and
	// fill unused positions with zeros.
	NumberSharesExchanged int `json:"number_shares_exchanged"`

	// Enter the class of stock that was exchanged. Left justify the
	// information and fill unused positions with blanks.
	ClassesStockExchanged string `json:"classes_stock_exchanged"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for the filing requirements. If this field is
	// not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1099CAP) Ascii added in v0.1.4

func (r *Sub1099CAP) Ascii() []byte

Ascii returns fire ascii of “1099-CAP” record

func (*Sub1099CAP) FederalState added in v0.1.4

func (r *Sub1099CAP) FederalState() int

Type returns FS code of “1099-CAP” record

func (*Sub1099CAP) Parse added in v0.1.4

func (r *Sub1099CAP) Parse(buf []byte) error

Parse parses the “1099-CAP” record from fire ascii

func (*Sub1099CAP) Type added in v0.1.4

func (r *Sub1099CAP) Type() string

Type returns type of “1099-CAP” record

func (*Sub1099CAP) Validate added in v0.1.4

func (r *Sub1099CAP) Validate() error

Validate performs some checks on the record and returns an error if not Validated

type Sub1099DIV added in v0.1.4

type Sub1099DIV struct {
	// Enter “2” (two) to indicate notification by the IRS twice within
	// three calendar years that the payee provided an incorrect
	// name and/or TIN combination. Otherwise, enter a blank.
	SecondTinNotice string `json:"second_tin_notice"`

	// Enter the name of the foreign country or U.S. possession to
	// which the withheld foreign tax (Amount Code C) applies.
	// Otherwise, enter blanks.
	ForeignCountryPossession string `json:"foreign_country_possession"`

	// Enter "1" (one) if there is FATCA filing requirement.
	// Otherwise, enter a blank.
	FATCA string `json:"fatca_requirement_indicator"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for the filing requirements. If this field is
	// not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting state tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting local tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`

	// Enter the valid CF/SF code if this payee record is to be
	// forwarded to a state agency as part of the CF/SF Program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub1099DIV) Ascii added in v0.1.4

func (r *Sub1099DIV) Ascii() []byte

Ascii returns fire ascii of “1099-DIV” record

func (*Sub1099DIV) FederalState added in v0.1.4

func (r *Sub1099DIV) FederalState() int

Type returns FS code of “1099-DIV” record

func (*Sub1099DIV) Parse added in v0.1.4

func (r *Sub1099DIV) Parse(buf []byte) error

Parse parses the “1099-DIV” record from fire ascii

func (*Sub1099DIV) Type added in v0.1.4

func (r *Sub1099DIV) Type() string

Type returns type of “1099-DIV” record

func (*Sub1099DIV) Validate added in v0.1.4

func (r *Sub1099DIV) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099DIV) ValidateCombinedFSCode added in v0.1.4

func (r *Sub1099DIV) ValidateCombinedFSCode() error

func (*Sub1099DIV) ValidateFATCA added in v0.1.4

func (r *Sub1099DIV) ValidateFATCA() error

func (*Sub1099DIV) ValidateSecondTinNotice added in v0.1.4

func (r *Sub1099DIV) ValidateSecondTinNotice() error

type Sub1099G added in v0.1.4

type Sub1099G struct {
	// Enter “2” (two) to indicate notification by the IRS twice within
	// three calendar years that the payee provided an incorrect
	// name and/or TIN combination. Otherwise, enter a blank.
	SecondTinNotice string `json:"second_tin_notice"`

	// Enter “1” (one) to indicate the state or local income tax
	// refund, credit, or offset (Amount Code 2) is attributable to
	// income tax that applies exclusively to income from a trade or
	// business.
	// 1: Income tax refund applies exclusively to a trade or business
	// Blank: Income tax refund is a general tax refund
	TradeBusinessIndicator string `json:"trade_business_indicator"`

	// Enter the tax year for which the refund, credit, or offset
	// (Amount Code 2) was issued. The tax year must reflect the
	// tax year for which the refund was made, not the tax year of
	// Form 1099-G. The tax year must be in four-position format of
	// YYYY (for example, 2015). The valid range of years for the
	// refund is 2009 through 2018.
	// Note: This data is not considered prior year data since it is
	// required to be reported in the current tax year. Do NOT enter
	// “P” in the field position 6 of Transmitter “T” Record.
	TaxYearRefund int `json:"tax_tear_refund"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for the filing requirements. If this field is
	// not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting state tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting local tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`

	// Enter the valid CF/SF code if this payee record is to be
	// forwarded to a state agency as part of the CF/SF Program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub1099G) Ascii added in v0.1.4

func (r *Sub1099G) Ascii() []byte

Ascii returns fire ascii of “1099-G” record

func (*Sub1099G) FederalState added in v0.1.4

func (r *Sub1099G) FederalState() int

Type returns FS code of “1099-G” record

func (*Sub1099G) Parse added in v0.1.4

func (r *Sub1099G) Parse(buf []byte) error

Parse parses the “1099-G” record from fire ascii

func (*Sub1099G) Type added in v0.1.4

func (r *Sub1099G) Type() string

Type returns type of “1099-G” record

func (*Sub1099G) Validate added in v0.1.4

func (r *Sub1099G) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099G) ValidateCombinedFSCode added in v0.1.4

func (r *Sub1099G) ValidateCombinedFSCode() error

func (*Sub1099G) ValidateSecondTinNotice added in v0.1.4

func (r *Sub1099G) ValidateSecondTinNotice() error

func (*Sub1099G) ValidateTaxYearRefund added in v0.1.4

func (r *Sub1099G) ValidateTaxYearRefund() error

func (*Sub1099G) ValidateTradeBusinessIndicator added in v0.1.4

func (r *Sub1099G) ValidateTradeBusinessIndicator() error

type Sub1099H added in v0.1.4

type Sub1099H struct {
	// Required. Enter the total number of months the recipient is
	// eligible for health insurance advance payments. Right justify
	// the information and fill unused positions with blanks.
	NumberMonthsEligible string `json:"number_months_eligible"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for the filing requirements. If this field is
	// not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1099H) Ascii added in v0.1.4

func (r *Sub1099H) Ascii() []byte

Ascii returns fire ascii of “1099-H” record

func (*Sub1099H) FederalState added in v0.1.4

func (r *Sub1099H) FederalState() int

Type returns FS code of “1099-H” record

func (*Sub1099H) Parse added in v0.1.4

func (r *Sub1099H) Parse(buf []byte) error

Parse parses the “1099-H” record from fire ascii

func (*Sub1099H) Type added in v0.1.4

func (r *Sub1099H) Type() string

Type returns type of “1099-H” record

func (*Sub1099H) Validate added in v0.1.4

func (r *Sub1099H) Validate() error

Validate performs some checks on the record and returns an error if not Validated

type Sub1099INT

type Sub1099INT struct {
	// Enter “2” (two) to indicate notification by the IRS twice within
	// three calendar years that the payee provided an incorrect
	// name and/or TIN combination. Otherwise, enter a blank.
	SecondTinNotice string `json:"second_tin_notice"`

	// Enter the name of the foreign country or U.S. possession to
	// which the withheld foreign tax (Amount Code 6) applies.
	// Otherwise, enter blanks.
	ForeignCountry string `json:"foreign_country"`

	// Enter CUSIP Number. If the tax-exempt interest is reported
	// in the aggregate for multiple bonds or accounts, enter
	// VARIOUS. Right justify the information and fill unused
	// positions with blanks.
	CUSIP string `json:"cusip_number"`

	// Enter "1" (one) if there is FATCA filing requirement.
	// Otherwise, enter a blank.
	FATCA string `json:"fatca_requirement_indicator"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. You may enter
	// your routing and transit number (RTN) here. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting state tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting local tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`

	// Enter the valid CF/SF code if this payee record is to be
	// forwarded to a state agency as part of the CF/SF Program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub1099INT) Ascii

func (r *Sub1099INT) Ascii() []byte

Ascii returns fire ascii of “1099-INT” record

func (*Sub1099INT) FederalState added in v0.1.4

func (r *Sub1099INT) FederalState() int

Type returns FS code of “1099-INT” record

func (*Sub1099INT) Parse

func (r *Sub1099INT) Parse(buf []byte) error

Parse parses the “1099-INT” record from fire ascii

func (*Sub1099INT) Type

func (r *Sub1099INT) Type() string

Type returns type of “1099-INT” record

func (*Sub1099INT) Validate

func (r *Sub1099INT) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099INT) ValidateCombinedFSCode

func (r *Sub1099INT) ValidateCombinedFSCode() error

func (*Sub1099INT) ValidateFATCA

func (r *Sub1099INT) ValidateFATCA() error

func (*Sub1099INT) ValidateSecondTinNotice added in v0.1.4

func (r *Sub1099INT) ValidateSecondTinNotice() error

type Sub1099K added in v0.1.4

type Sub1099K struct {
	// Enter “2” (two) to indicate notification by the IRS twice within
	// three calendar years that the payee provided an incorrect
	// name and/or TIN combination. Otherwise, enter a blank.
	SecondTinNotice string `json:"second_tin_notice"`

	// Required. Enter the appropriate indicator from the following
	// table.
	// 1: Payment Settlement Entity (PSE)
	// 2: Electronic Payment Facilitator (EPF)/Other third party
	TypeFilerIndicator string `json:"type_filer_indicator"`

	// Required. Enter the appropriate indicator from the following
	// table.
	// 1: Payment Card Payment
	// 2: EThird Party Network Payment
	TypePaymentIndicator string `json:"type_payment_indicator"`

	// Required. Enter the number of payment transactions. Do not
	// include refund transactions.
	// Right justify the information and fill unused positions with
	// zeros.
	NumberPaymentTransactions int `json:"number_payment_transactions"`

	// Enter the payment settlement entity’s name and phone
	// number if different from the filer's name. Otherwise, enter
	// blanks. Left justify the information, and fill unused positions
	// with blanks.
	PaymentSettlementNamePhoneNumber string `json:"payment_settlement_name_phone_number"`

	// Required. Enter the Merchant Category Code (MCC). All
	// MCCs must contain four numeric characters. If no code is
	// provided, fill unused positions with zeros.
	MerchantCategoryCode int `json:"merchant_category_code"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. You may enter
	// your routing and transit number (RTN) here. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting state tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting local tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`

	// Enter the valid CF/SF code if this payee record is to be
	// forwarded to a state agency as part of the CF/SF Program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub1099K) Ascii added in v0.1.4

func (r *Sub1099K) Ascii() []byte

Ascii returns fire ascii of “1099-K” record

func (*Sub1099K) FederalState added in v0.1.4

func (r *Sub1099K) FederalState() int

Type returns FS code of “1099-K” record

func (*Sub1099K) Parse added in v0.1.4

func (r *Sub1099K) Parse(buf []byte) error

Parse parses the “1099-K” record from fire ascii

func (*Sub1099K) Type added in v0.1.4

func (r *Sub1099K) Type() string

Type returns type of “1099-K” record

func (*Sub1099K) Validate added in v0.1.4

func (r *Sub1099K) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099K) ValidateCombinedFSCode added in v0.1.4

func (r *Sub1099K) ValidateCombinedFSCode() error

func (*Sub1099K) ValidateSecondTinNotice added in v0.1.4

func (r *Sub1099K) ValidateSecondTinNotice() error

func (*Sub1099K) ValidateTypeFilerIndicator added in v0.1.4

func (r *Sub1099K) ValidateTypeFilerIndicator() error

func (*Sub1099K) ValidateTypePaymentIndicator added in v0.1.4

func (r *Sub1099K) ValidateTypePaymentIndicator() error

type Sub1099LS added in v0.1.4

type Sub1099LS struct {
	// Enter the Date of Sale in format YYYYMMDD (for example
	// January 5, 2019, would be 20190105). Do not enter hyphens
	// or slashes.
	DateSale time.Time `json:"date_sale"`

	// Enter Issuer’s Contact Name.
	IssuersInformation string `json:"issuers_information"`
}

func (*Sub1099LS) Ascii added in v0.1.4

func (r *Sub1099LS) Ascii() []byte

Ascii returns fire ascii of “1099-LS” record

func (*Sub1099LS) FederalState added in v0.1.4

func (r *Sub1099LS) FederalState() int

Type returns FS code of “1099-LS” record

func (*Sub1099LS) Parse added in v0.1.4

func (r *Sub1099LS) Parse(buf []byte) error

Parse parses the “1099-LS” record from fire ascii

func (*Sub1099LS) Type added in v0.1.4

func (r *Sub1099LS) Type() string

Type returns type of “1099-LS” record

func (*Sub1099LS) Validate added in v0.1.4

func (r *Sub1099LS) Validate() error

Validate performs some checks on the record and returns an error if not Validated

type Sub1099LTC added in v0.1.4

type Sub1099LTC struct {
	// Enter the appropriate indicator from the following table.
	// Otherwise, enter blanks.
	// 1: Per diem
	// 2: Reimbursed amount
	TypePaymentIndicator string `json:"type_payment_indicator"`

	// Required. Enter the social security number of the insured.
	SocialSecurityNumberInsured string `json:"social_security_number_insured"`

	// Required. Enter the name of the insured.
	NameInsured string `json:"name_insured"`

	// Required. Enter the address of the insured. The street
	// address should include number, street, apartment or suite
	// number (or P.O. Box if mail is not delivered to street
	// address). Do not input any data other than the payee’s
	// address. Left justify the information and fill unused positions
	// with blanks.
	// For U.S. addresses, the payee city, state, and ZIP Code
	// must be reported as a 40-, 2-, and 9-position field,
	// respectively. Filers must adhere to the correct format for the
	// insured’s city, state, and ZIP Code.
	// For foreign addresses, filers may use the insured’s city,
	// state, and ZIP Code as a continuous 51-position field. Enter
	// information in the following order: city, province or state,
	// postal code, and the name of the country. When reporting a
	// foreign address, the Foreign Country Indicator in position 247
	// must contain a “1” (one).
	AddressInsured string `json:"address_insured"`

	// Required. Enter the city, town, or post office. Left justify the
	// information and fill unused positions with blanks. Enter APO
	// or FPO, if applicable. Do not enter state and ZIP Code
	// information in this field. Left justify the information and fill
	// unused positions with blanks.
	CityInsured string `json:"city_insured"`

	// Required. Enter the valid U.S. Postal Service state
	// abbreviations for states or the appropriate postal identifier
	// (AA, AE, or AP). Refer to Part A. Sec. 13, Table 2, State &
	// U.S. Territory Abbreviations
	StateInsured string `json:"state_insured"`

	// Required. Enter the valid nine-digit ZIP Code assigned by
	// the U.S. Postal Service. If only the first five-digits are known,
	// left justify the information and fill the unused positions with
	// blanks. For foreign countries, alpha characters are
	// acceptable as long as the filer has entered a “1” (one) in the
	// Foreign Country Indicator, located in position 247 of the “B”
	// Record.
	ZipCodeInsured string `json:"zip_code_insured"`

	// Enter the appropriate code from the table below to indicate
	// the status of the illness of the insured. Otherwise, enter
	// blank.
	// 1: Chronically ill
	// 2: Terminally ill
	StatusIllnessIndicator string `json:"status_illness_indicator"`

	// Enter the latest date of a doctor’s certification of the status of
	// the insured’s illness in YYYYMMDD format (for example,
	// January 5, 2019, would be 20190105). Do not enter hyphens
	// or slashes.
	DateCertified string `json:"date_certified"`

	// Enter “1” (one) if benefits were from a qualified long-term
	// care insurance contract. Otherwise, enter a blank.
	QualifiedContractIndicator string `json:"qualified_contract_indicator"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting state tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting local tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`
}

func (*Sub1099LTC) Ascii added in v0.1.4

func (r *Sub1099LTC) Ascii() []byte

Ascii returns fire ascii of “1099-LTC” record

func (*Sub1099LTC) FederalState added in v0.1.4

func (r *Sub1099LTC) FederalState() int

Type returns FS code of “1099-LTC” record

func (*Sub1099LTC) Parse added in v0.1.4

func (r *Sub1099LTC) Parse(buf []byte) error

Parse parses the “1099-LTC” record from fire ascii

func (*Sub1099LTC) Type added in v0.1.4

func (r *Sub1099LTC) Type() string

Type returns type of “1099-LTC” record

func (*Sub1099LTC) Validate added in v0.1.4

func (r *Sub1099LTC) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099LTC) ValidateQualifiedContractIndicator added in v0.1.4

func (r *Sub1099LTC) ValidateQualifiedContractIndicator() error

func (*Sub1099LTC) ValidateStateInsured added in v0.1.4

func (r *Sub1099LTC) ValidateStateInsured() error

func (*Sub1099LTC) ValidateStatusIllnessIndicator added in v0.1.4

func (r *Sub1099LTC) ValidateStatusIllnessIndicator() error

func (*Sub1099LTC) ValidateTypePaymentIndicator added in v0.1.4

func (r *Sub1099LTC) ValidateTypePaymentIndicator() error

type Sub1099MISC

type Sub1099MISC struct {
	// Enter “2” (two) to indicate notification by the IRS twice within
	// three calendar years that the payee provided an incorrect
	// name and/or TIN combination. Otherwise, enter a blank.
	SecondTinNotice string `json:"second_tin_notice"`

	// Enter “1” (one) to indicate sales of $5,000 or more of
	// consumer products to a person on a buy-sell, depositcommission, or any other commission basis for resale
	// anywhere other than in a permanent retail establishment.
	// Otherwise, enter a blank.
	// Note: If reporting a direct sales indicator only, use Type of
	// Return “A” in Field Positions 26-27, and Amount Code 1 in
	// Field Position 28 of the Payer “A” Record. All payment
	// amount fields in the Payee “B” Record will contain zeros.
	DirectSalesIndicator string `json:"direct_sales_indicator"`

	// Enter "1" (one) if there is FATCA filing requirement.
	// Otherwise, enter a blank.
	FATCA string `json:"fatca_requirement_indicator"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS.
	// The payment amount must be right justified and unused
	// positions must be zero-filed. If not reporting state income tax
	// withheld, this field may be used as a continuation of the
	// Special Data Entries field.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS.
	// The payment amount must be right justified and unused
	// positions must be zero-filled. If not reporting local tax
	// withheld, this field may be used as a continuation of the
	// Special Data Entries Field.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`

	// Enter the valid CF/SF code if this payee record is to be
	// forwarded to a state agency as part of the CF/SF Program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub1099MISC) Ascii

func (r *Sub1099MISC) Ascii() []byte

Ascii returns fire ascii of “1099-MISC” record

func (*Sub1099MISC) FederalState added in v0.1.4

func (r *Sub1099MISC) FederalState() int

Type returns FS code of “1099-MISC” record

func (*Sub1099MISC) Parse

func (r *Sub1099MISC) Parse(buf []byte) error

Parse parses the “1099-MISC” record from fire ascii

func (*Sub1099MISC) Type

func (r *Sub1099MISC) Type() string

Type returns type of “1099-MISC” record

func (*Sub1099MISC) Validate

func (r *Sub1099MISC) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099MISC) ValidateCombinedFSCode

func (r *Sub1099MISC) ValidateCombinedFSCode() error

func (*Sub1099MISC) ValidateDirectSalesIndicator

func (r *Sub1099MISC) ValidateDirectSalesIndicator() error

func (*Sub1099MISC) ValidateFATCA

func (r *Sub1099MISC) ValidateFATCA() error

type Sub1099NEC added in v0.1.4

type Sub1099NEC struct {
	// Enter “2” (two) to indicate notification by the IRS twice within
	// three calendar years that the payee provided an incorrect
	// name and/or TIN combination. Otherwise, enter a blank.
	SecondTinNotice string `json:"second_tin_notice"`

	// Enter “1” (one) to indicate sales of $5,000 or more of
	// consumer products to a person on a buy-sell, depositcommission, or any other commission basis for resale
	// anywhere other than in a permanent retail establishment.
	// Otherwise, enter a blank.
	// Note: If reporting a direct sales indicator only, use Type of
	// Return “NE” in Field Positions 26-27, and Amount Code 1
	// in Field Position 28 of the Issuer “A” Record. All payment
	// amount fields in the Payee “B” Record will contain zeros.
	DirectSalesIndicator string `json:"direct_sales_indicator"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. The
	// payment amount must be right justified, and unused positions
	// must be zero-filed. If not reporting state income tax withheld,
	// this field may be used as a continuation of the Special Data
	// Entries field.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. The
	// payment amount must be right justified, and unused positions
	// must be zero-filled. If not reporting local tax withheld, this field
	// may be used as a continuation of the Special Data Entries
	// Field.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`

	// Enter the valid CF/SF Code if this payee record is to be
	// forwarded toa state agency as part of the CF/SF Program.
	// Enter the valid state code from Part A. Sec. 12, Table 1,
	// Participating States and Codes. Enter Blanks for issuers or
	// states not participating in this program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub1099NEC) Ascii added in v0.1.4

func (r *Sub1099NEC) Ascii() []byte

Ascii returns fire ascii of “1099-NEC” record

func (*Sub1099NEC) FederalState added in v0.1.4

func (r *Sub1099NEC) FederalState() int

Type returns FS code of “1099-NEC” record

func (*Sub1099NEC) Parse added in v0.1.4

func (r *Sub1099NEC) Parse(buf []byte) error

Parse parses the “1099-NEC” record from fire ascii

func (*Sub1099NEC) Type added in v0.1.4

func (r *Sub1099NEC) Type() string

Type returns type of “1099-NEC” record

func (*Sub1099NEC) Validate added in v0.1.4

func (r *Sub1099NEC) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099NEC) ValidateCombinedFSCode added in v0.1.6

func (r *Sub1099NEC) ValidateCombinedFSCode() error

func (*Sub1099NEC) ValidateDirectSalesIndicator added in v0.1.6

func (r *Sub1099NEC) ValidateDirectSalesIndicator() error

type Sub1099OID

type Sub1099OID struct {
	// Enter “2” (two) to indicate notification by the IRS twice within
	// three calendar years that the payee provided an incorrect
	// name and/or TIN combination. Otherwise, enter a blank.
	SecondTinNotice string `json:"second_tin_notice"`

	// Required. Enter the CUSIP number, if any. If there is no
	// CUSIP number, enter the abbreviation for the stock
	// exchange and issuer, the coupon rate, and year of maturity
	// (must be four-digit year). For example, NYSE XYZ 12/2019.
	// Show the name of the issuer if other than the payer. If fewer
	// than 39 characters are required, left justify the information
	// and fill unused positions with blanks.
	Description string `json:"direct_sales_indicator" validate:"required"`

	// Enter "1" (one) if there is FATCA filing requirement.
	// Otherwise, enter a blank.
	FATCA string `json:"fatca_requirement_indicator"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS.
	// The payment amount must be right justified and unused
	// positions must be zero-filed. If not reporting state income tax
	// withheld, this field may be used as a continuation of the
	// Special Data Entries field.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS.
	// The payment amount must be right justified and unused
	// positions must be zero-filled. If not reporting local tax
	// withheld, this field may be used as a continuation of the
	// Special Data Entries Field.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`

	// Enter the valid CF/SF code if this payee record is to be
	// forwarded to a state agency as part of the CF/SF Program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub1099OID) Ascii

func (r *Sub1099OID) Ascii() []byte

Ascii returns fire ascii of “1099-OID” record

func (*Sub1099OID) FederalState added in v0.1.4

func (r *Sub1099OID) FederalState() int

Type returns FS code of “1099-OID” record

func (*Sub1099OID) Parse

func (r *Sub1099OID) Parse(buf []byte) error

Parse parses the “1099-OID” record from fire ascii

func (*Sub1099OID) Type

func (r *Sub1099OID) Type() string

Type returns type of “1099-OID” record

func (*Sub1099OID) Validate

func (r *Sub1099OID) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099OID) ValidateCombinedFSCode

func (r *Sub1099OID) ValidateCombinedFSCode() error

func (*Sub1099OID) ValidateFATCA

func (r *Sub1099OID) ValidateFATCA() error

type Sub1099PATR

type Sub1099PATR struct {
	// Enter “2” (two) to indicate notification by the IRS twice within
	// three calendar years that the payee provided an incorrect
	// name and/or TIN combination. Otherwise, enter a blank.
	SecondTinNotice string `json:"second_tin_notice"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS.
	// The payment amount must be right justified and unused
	// positions must be zero-filed. If not reporting state income tax
	// withheld, this field may be used as a continuation of the
	// Special Data Entries field.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS.
	// The payment amount must be right justified and unused
	// positions must be zero-filled. If not reporting local tax
	// withheld, this field may be used as a continuation of the
	// Special Data Entries Field.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`

	// Enter the valid CF/SF code if this payee record is to be
	// forwarded to a state agency as part of the CF/SF Program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub1099PATR) Ascii

func (r *Sub1099PATR) Ascii() []byte

Ascii returns fire ascii of “1099-PATR” record

func (*Sub1099PATR) FederalState added in v0.1.4

func (r *Sub1099PATR) FederalState() int

Type returns FS code of “1099-PATR” record

func (*Sub1099PATR) Parse

func (r *Sub1099PATR) Parse(buf []byte) error

Parse parses the “1099-PATR” record from fire ascii

func (*Sub1099PATR) Type

func (r *Sub1099PATR) Type() string

Type returns type of “1099-PATR” record

func (*Sub1099PATR) Validate

func (r *Sub1099PATR) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099PATR) ValidateCombinedFSCode

func (r *Sub1099PATR) ValidateCombinedFSCode() error

func (*Sub1099PATR) ValidateSecondTinNotice added in v0.1.4

func (r *Sub1099PATR) ValidateSecondTinNotice() error

type Sub1099Q added in v0.1.4

type Sub1099Q struct {
	// Required. Enter “1” (one) if reporting a trustee to trustee
	// transfer. Otherwise, enter a blank.
	TrusteeTransferIndicator string `json:"trustee_transfer_indicator"`

	// Required. Enter the appropriate code from the table below to
	// indicate the type of tuition payment. Otherwise, enter a
	// blank.
	// 1: Private program payment
	// 2: State program payment
	// 3: Coverdell ESA contribution
	TypeTuitionPayment string `json:"type_tuition_payment"`

	// Required. Enter “1” (one) if the recipient is not the
	// designated beneficiary. Otherwise, enter a blank.
	DesignatedBeneficiary string `json:"designated_beneficiary"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. You may enter
	// your routing and transit number (RTN) here. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub1099Q) Ascii added in v0.1.4

func (r *Sub1099Q) Ascii() []byte

Ascii returns fire ascii of “1099-Q” record

func (*Sub1099Q) FederalState added in v0.1.4

func (r *Sub1099Q) FederalState() int

Type returns FS code of “1099-Q” record

func (*Sub1099Q) Parse added in v0.1.4

func (r *Sub1099Q) Parse(buf []byte) error

Parse parses the “1099-Q” record from fire ascii

func (*Sub1099Q) Type added in v0.1.4

func (r *Sub1099Q) Type() string

Type returns type of “1099-Q” record

func (*Sub1099Q) Validate added in v0.1.4

func (r *Sub1099Q) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099Q) ValidateDesignatedBeneficiary added in v0.1.4

func (r *Sub1099Q) ValidateDesignatedBeneficiary() error

func (*Sub1099Q) ValidateTrusteeTransferIndicator added in v0.1.4

func (r *Sub1099Q) ValidateTrusteeTransferIndicator() error

func (*Sub1099Q) ValidateTypeTuitionPayment added in v0.1.4

func (r *Sub1099Q) ValidateTypeTuitionPayment() error

type Sub1099R added in v0.1.4

type Sub1099R struct {
	// Required. Enter at least one distribution code from the table
	// below. More than one code may apply. If only one code is
	// necessary, it must be entered in position 545 and position
	// 546 will be blank. When using Code P for an IRA distribution
	// under Section 408(d)(4) of the Internal Revenue Code, the
	// filer may also enter Code 1, 2, 4, B or J, if applicable. Only
	// three numeric combinations are acceptable; Codes 8 and 1,
	// 8 and 2, and 8 and 4, on one return. These three
	// combinations can be used only if both codes apply to the
	// distribution being reported. If more than one numeric code is
	// applicable to different parts of a distribution, report two
	// separate “B” Records.
	// • Distribution Codes 5, 9, E, F, N, Q, R, S and T cannot be
	//   used with any other codes.
	// • Distribution Code C can be a stand alone or combined
	//   with Distribution Code D only.
	// • Distribution Code G may be used with Distribution Code
	//   4 only if applicable.
	// • Distribution Code K is valid with Distribution Codes 1, 2,
	//   4, 7, 8, or G.
	// • Distribution Code M can be a stand alone or combined
	//   with Distribution Codes 1, 2, 4, 7, or B.
	// 1: *Early distribution, no known exception (in most cases, under age 59½)
	// 2: *Early distribution, exception applies (under age 59½)
	// 3: *Disability
	// 4: *Death
	// 5: *Prohibited transaction
	// 6: Section 1035 exchange (a taxfree exchange of life insurance, annuity, qualified long-term care insurance, or endowment contracts)
	// 7: *Normal distribution
	// 8: *Excess contributions plus earnings/excess deferrals (and/or earnings) taxable in 2019
	// 9: Cost of current life insurance protection (premiums paid by a trustee or custodian for current insurance protection)
	// A: May be eligible for 10-year tax option
	// B: Designated Roth account distribution
	// C: Reportable Death Benefits under Section 6050Y(c)
	// D: Annuity payments from nonqualified annuity payments and distributions from life insurance contracts that may be subject to tax under Section 1411
	// E: Distribution under Employee Plans Compliance Resolution System (EPCRS)
	// F: Charitable gift annuity
	// G: Direct rollover and rollover contribution
	// H: Direct rollover of distribution from a designated Roth account to a Roth IRA
	// J: Early distribution from a Roth IRA (This code may be used with a Code 8 or P)
	// K: Distribution of IRA assets not having a readily available FMV
	// L: Loans treated as deemed distributions under Section 72(p)
	// M: Qualified Plan Loan Offsets
	// N: Recharacterized IRA contribution made for 2019
	// P: *Excess contributions plus earnings/excess deferrals taxable for 2018
	// Q: Qualified distribution from a Roth IRA.
	// R: Recharacterized IRA contribution made for 2018
	// S: *Early distribution from a SIMPLE IRA in first 2 years no known exceptions
	// T: Roth IRA distribution exception applies because participant has reached 59½, died or is disabled, but it is unknown if the 5-year  period has been met
	// U: Distribution from ESOP under Section 404(k)
	// W: Charges or payments for purchasing qualified long-term care insurance contracts under combined arrangements
	DistributionCode string `json:"distribution_code"`

	// Enter “1” (one) only if the taxable amount of the payment
	// entered for Payment Amount Field 1 (Gross distribution) of
	// the “B” Record cannot be computed. Otherwise, enter a
	// blank. (If the Taxable Amount Not Determined Indicator is
	// used, enter “0s” [zeros] in Payment Amount Field 2 of the
	// Payee “B” Record.) Please make every effort to compute the
	// taxable amount.
	TaxableAmountNotDeterminedIndicator string `json:"taxable_amount_not_determined_indicator"`

	// Enter “1” (one) for a traditional IRA, SEP, or SIMPLE
	// distribution or Roth conversion. Otherwise, enter a blank. If
	// the IRA/SEP/SIMPLE Indicator is used, enter the amount of
	// the Roth conversion or distribution in Payment Amount Field
	// A of the Payee “B” Record. Do not use the indicator for a
	// distribution from a Roth or for an IRA recharacterization.
	// Note: For Form 1099-R, generally, report the Roth
	// conversion or total amount distributed from a traditional IRA,
	// SEP, or SIMPLE in Payment Amount Field A (traditional
	// IRA/SEP/SIMPLE distribution or Roth conversion), as well as
	// Payment Amount Field 1 (Gross Distribution) of the “B”
	// Record. Refer to Instructions for Forms 1099-R and 5498 for
	// exceptions (Box 2a instructions).
	ISSIndicator string `json:"ira_sep_simple_indicator"`

	// Enter a “1” (one) only if the payment shown for Distribution
	// Amount Code 1 is a total distribution that closed out the
	// account. Otherwise, enter a blank.
	// Note: A total distribution is one or more distributions within
	// one tax year in which the entire balance of the account is
	// distributed. Any distribution that does not meet this definition
	// is not a total distribution.
	TotalDistributionIndicator string `json:"total_distribution_indicator"`

	// Use this field when reporting a total distribution to more than
	// one person, such as when a participant is deceased and a
	// payer distributes to two or more beneficiaries. Therefore, if
	// the percentage is 100, leave this field blank. If the
	// percentage is a fraction, round off to the nearest whole
	// number (for example, 10.4 percent will be10 percent; 10.5
	// percent will be 11 percent). Enter the percentage received by
	// the person whose TIN is included in positions 12-20 of the
	// “B” Record. This field must be right justified, and unused
	// positions must be zero-filled. If not applicable, enter blanks.
	// Filers are not required to enter this information for any IRA
	// distribution or for direct rollovers.
	PercentageTotalDistribution int `json:"percentage_total_distribution"`

	// Enter the first year a designated Roth contribution was made
	// in YYYY format. If the date is unavailable, enter blanks.
	FirstYearDesignatedRothContribution int `json:"firstYear_designated_roth_contribution"`

	// Enter "1" (one) if there is FATCA filing requirement.
	// Otherwise, enter a blank.
	FATCA string `json:"fatca_requirement_indicator"`

	// Enter date of payment in YYYYMMDD format. (for example,
	// January 5, 2019, would be 20190105). Do not enter hyphens
	// or slashes.
	DatePayment time.Time `json:"date_payment"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. You may enter
	// your routing and transit number (RTN) here. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting state tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting local tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`

	// Enter the valid CF/SF code if this payee record is to be
	// forwarded to a state agency as part of the CF/SF Program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub1099R) Ascii added in v0.1.4

func (r *Sub1099R) Ascii() []byte

Ascii returns fire ascii of “1099-R” record

func (*Sub1099R) FederalState added in v0.1.4

func (r *Sub1099R) FederalState() int

Type returns FS code of “1099-R” record

func (*Sub1099R) Parse added in v0.1.4

func (r *Sub1099R) Parse(buf []byte) error

Parse parses the “1099-R” record from fire ascii

func (*Sub1099R) Type added in v0.1.4

func (r *Sub1099R) Type() string

Type returns type of “1099-R” record

func (*Sub1099R) UnmarshalJSON added in v0.1.4

func (r *Sub1099R) UnmarshalJSON(data []byte) error

Unmarshal parses the JSON-encoded data

func (*Sub1099R) Validate added in v0.1.4

func (r *Sub1099R) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099R) ValidateCombinedFSCode added in v0.1.4

func (r *Sub1099R) ValidateCombinedFSCode() error

func (*Sub1099R) ValidateDistributionCode added in v0.1.4

func (r *Sub1099R) ValidateDistributionCode() error

func (*Sub1099R) ValidateFATCA added in v0.1.4

func (r *Sub1099R) ValidateFATCA() error

func (*Sub1099R) ValidateISSIndicator added in v0.1.4

func (r *Sub1099R) ValidateISSIndicator() error

func (*Sub1099R) ValidateTaxableAmountNotDeterminedIndicator added in v0.1.4

func (r *Sub1099R) ValidateTaxableAmountNotDeterminedIndicator() error

func (*Sub1099R) ValidateTotalDistributionIndicator added in v0.1.4

func (r *Sub1099R) ValidateTotalDistributionIndicator() error

type Sub1099S added in v0.1.4

type Sub1099S struct {
	// Enter “1” (one) only if the taxable amount of the payment
	// entered for Payment Amount Field 1 (Gross distribution) of
	// the “B” Record cannot be computed. Otherwise, enter a
	// blank. (If the Taxable Amount Not Determined Indicator is
	// used, enter “0s” [zeros] in Payment Amount Field 2 of the
	// Payee “B” Record.) Please make every effort to compute the
	// taxable amount.
	PropertyServicesIndicator string `json:"property_services_indicator"`

	// Required. Enter the closing date in YYYYMMDD format (for
	// example, January 5, 2019, would be 20190105). Do not
	// enter hyphens or slashes.
	DateClosing string `json:"date_closing"`

	// Required. Enter the address of the property transferred
	// (including city, state, and ZIP Code). If the address does not
	// sufficiently identify the property, also enter a legal
	// description, such as section, lot, and block. For timber
	// royalties, enter “TIMBER.”
	// If fewer than 39 positions are required, left justify the
	// information and fill unused positions with blanks.
	AddressLegalDescription string `json:"address_legal_description"`

	// Required. Enter “1” if the transferor is a foreign person
	//(nonresident alien, foreign partnership, foreign estate, or
	//foreign trust). Otherwise, enter a blank.
	ForeignTransferor string `json:"foreign_transferor"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. You may enter
	// your routing and transit number (RTN) here. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting state tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting local tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`
}

func (*Sub1099S) Ascii added in v0.1.4

func (r *Sub1099S) Ascii() []byte

Ascii returns fire ascii of “1099-S” record

func (*Sub1099S) FederalState added in v0.1.4

func (r *Sub1099S) FederalState() int

Type returns FS code of “1099-S” record

func (*Sub1099S) Parse added in v0.1.4

func (r *Sub1099S) Parse(buf []byte) error

Parse parses the “1099-S” record from fire ascii

func (*Sub1099S) Type added in v0.1.4

func (r *Sub1099S) Type() string

Type returns type of “1099-S” record

func (*Sub1099S) Validate added in v0.1.4

func (r *Sub1099S) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099S) ValidateForeignTransferor added in v0.1.4

func (r *Sub1099S) ValidateForeignTransferor() error

func (*Sub1099S) ValidatePropertyServicesIndicator added in v0.1.4

func (r *Sub1099S) ValidatePropertyServicesIndicator() error

type Sub1099SA added in v0.1.4

type Sub1099SA struct {
	// Required. Enter the applicable code from the table below to
	// indicate the type of payment.
	// 1: Normal distribution
	// 2: Excess contribution
	// 3: Disability
	// 4: Death distribution other than code 6
	// 5: Prohibited transaction
	// 6: Death distribution after the year of death to a nonspouse beneficiary.
	DistributionCode string `json:"distribution_code"`

	// Enter “1” (one) if distributions are from a Medicare Advantage
	// MSA. Otherwise, enter a blank.
	MedicareAdvantageMSAIndicator string `json:"medicare_advantage_msa_indicator"`

	// Enter “1” (one) if distributions are from a HAS. Otherwise,
	// enter a blank.
	HSAIndicator string `json:"hsa_indicator"`

	// Enter “1” (one) if distributions are from an Archer MSA.
	// Otherwise, enter a blank.
	ArcherMSAIndicator string `json:"archer_mas_indicator"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. You may enter
	// your routing and transit number (RTN) here. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting state tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting local tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`
}

func (*Sub1099SA) Ascii added in v0.1.4

func (r *Sub1099SA) Ascii() []byte

Ascii returns fire ascii of “1099-SA” record

func (*Sub1099SA) FederalState added in v0.1.4

func (r *Sub1099SA) FederalState() int

Type returns FS code of “1099-SA” record

func (*Sub1099SA) Parse added in v0.1.4

func (r *Sub1099SA) Parse(buf []byte) error

Parse parses the “1099-SA” record from fire ascii

func (*Sub1099SA) Type added in v0.1.4

func (r *Sub1099SA) Type() string

Type returns type of “1099-SA” record

func (*Sub1099SA) Validate added in v0.1.4

func (r *Sub1099SA) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub1099SA) ValidateArcherMSAIndicator added in v0.1.4

func (r *Sub1099SA) ValidateArcherMSAIndicator() error

func (*Sub1099SA) ValidateDistributionCode added in v0.1.4

func (r *Sub1099SA) ValidateDistributionCode() error

func (*Sub1099SA) ValidateHSAIndicator added in v0.1.4

func (r *Sub1099SA) ValidateHSAIndicator() error

func (*Sub1099SA) ValidateMedicareAdvantageMSAIndicator added in v0.1.4

func (r *Sub1099SA) ValidateMedicareAdvantageMSAIndicator() error

type Sub1099SB added in v0.1.4

type Sub1099SB struct {
	// Enter Issuer’s contact name.
	IssuersInformation string `json:"issuers_information"`
}

func (*Sub1099SB) Ascii added in v0.1.4

func (r *Sub1099SB) Ascii() []byte

Ascii returns fire ascii of “1099-SB” record

func (*Sub1099SB) FederalState added in v0.1.4

func (r *Sub1099SB) FederalState() int

Type returns FS code of “1099-SB” record

func (*Sub1099SB) Parse added in v0.1.4

func (r *Sub1099SB) Parse(buf []byte) error

Parse parses the “1099-SB” record from fire ascii

func (*Sub1099SB) Type added in v0.1.4

func (r *Sub1099SB) Type() string

Type returns type of “1099-SB” record

func (*Sub1099SB) Validate added in v0.1.4

func (r *Sub1099SB) Validate() error

Validate performs some checks on the record and returns an error if not Validated

type Sub3921 added in v0.1.4

type Sub3921 struct {
	// Required. Enter the date the option was granted in
	// YYYYMMDD format (for example, January 5, 2019, would be
	// 20190105).
	DateOptionGranted time.Time `json:"date_option_granted"`

	// Required. Enter the date the option was exercised in
	// YYYYMMDD format (for example, January 5, 2019, would be
	// 20190105).
	DateOptionExercised time.Time `json:"date_option_exercised"`

	// Required. Enter the number of shares transferred. Report
	// whole numbers only, using standard rounding rules as
	// necessary. Right justify the information and fill unused
	// positions with zeros.
	NumberSharesTransferred int `json:"number_shares_transferred"`

	// Enter other than transferor information, left justify the
	// information and fill unused positions with blanks.
	OtherThanTransferorInformation string `json:"other_than_transferor_information"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements.
	// If this field is not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub3921) Ascii added in v0.1.4

func (r *Sub3921) Ascii() []byte

Ascii returns fire ascii of “3921” record

func (*Sub3921) FederalState added in v0.1.4

func (r *Sub3921) FederalState() int

Type returns FS code of “3921” record

func (*Sub3921) Parse added in v0.1.4

func (r *Sub3921) Parse(buf []byte) error

Parse parses the “3921” record from fire ascii

func (*Sub3921) Type added in v0.1.4

func (r *Sub3921) Type() string

Type returns type of “3921” record

func (*Sub3921) Validate added in v0.1.4

func (r *Sub3921) Validate() error

Validate performs some checks on the record and returns an error if not Validated

type Sub3922 added in v0.1.4

type Sub3922 struct {
	// Required. Enter the date the option was granted in
	// YYYYMMDD format (for example, January 5, 2019, would be
	// 20190105).
	DateOptionGranted time.Time `json:"date_option_granted"`

	// Required. Enter the date the option was exercised in
	// YYYYMMDD format (for example, January 5, 2019, would be
	// 20190105).
	DateOptionExercised time.Time `json:"date_option_exercised"`

	// Required. Enter the number of shares transferred. Report
	// whole numbers only, using standard rounding rules as
	// necessary. Right justify the information and fill unused
	// positions with zeros.
	NumberSharesTransferred int `json:"number_shares_transferred"`

	// Required. Enter the date the legal title was transferred by
	// the transferor as YYYYMMDD (for example, January 5,
	// 2019, would be 20190105). Otherwise, enter blanks.
	DateLegalTitleTransferred time.Time `json:"date_legal_title_transferred"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements.
	// If this field is not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub3922) Ascii added in v0.1.4

func (r *Sub3922) Ascii() []byte

Ascii returns fire ascii of “3922” record

func (*Sub3922) FederalState added in v0.1.4

func (r *Sub3922) FederalState() int

Type returns FS code of “3922” record

func (*Sub3922) Parse added in v0.1.4

func (r *Sub3922) Parse(buf []byte) error

Parse parses the “3922” record from fire ascii

func (*Sub3922) Type added in v0.1.4

func (r *Sub3922) Type() string

Type returns type of “3922” record

func (*Sub3922) Validate added in v0.1.4

func (r *Sub3922) Validate() error

Validate performs some checks on the record and returns an error if not Validated

type Sub5498 added in v0.1.4

type Sub5498 struct {
	// Enter “1” (one) if reporting a rollover (Amount Code 2) or Fair
	// Market Value (Amount Code 5) for an IRA. Otherwise, enter
	// a blank.
	IRAIndicator string `json:"ira_indicator"`

	// Enter “1” (one) if reporting a rollover (Amount Code 2) or Fair
	// Market Value (Amount Code 5) for a SEP. Otherwise, enter
	// a blank.
	SEPIndicator string `json:"sep_indicator"`

	// Enter “1” (one) if reporting a rollover (Amount Code 2) or Fair
	// Market Value (Amount Code 5) for a SIMPLE. Otherwise,
	// enter a blank.
	SIMPLEIndicator string `json:"simple_indicator"`

	// Enter “1” (one) if reporting a rollover (Amount Code 2) or Fair
	// Market Value (Amount Code 5) for a Roth IRA. Otherwise,
	// enter a blank.
	RothIRAIndicator string `json:"roth_ira_indicator"`

	// Enter “1” (one) if reporting RMD for 2020. Otherwise, enter a
	// blank.
	RMDIndicator string `json:"rmd_indicator"`

	// Required. Enter the date the option was granted in
	// YYYYMMDD format (for example, January 5, 2019, would be
	// 20190105).
	YearPostponedContribution int `json:"year_postponed_contribution"`

	// Required, if applicable. Enter the code from the table below.
	// Right justify. Otherwise, enter blanks.
	// FD: Federally Designated Disaster Area
	// PL: Public Law
	// EO: Executive Order
	// PO: Rollovers of qualified plan loan offset amounts
	// SC: For participants who have certified that
	//     the rollover contribution is late because
	//     of an error on the part of a financial
	//     institution, death, disability,
	//     hospitalization, incarceration,
	//     restrictions imposed by a foreign
	//     country, postal error, or other
	//     circumstance listed in Section
	//     3.02(2) of Rev. Proc. 2016-47 or other
	//     event beyond the reasonable control of
	//     the participant.
	PostponedContributionCode string `json:"postponed_contribution_code"`

	// Required, if applicable. Enter the federally declared disaster
	// area, public law number or executive order number under
	// which the postponed contribution is being issued.
	// Right justify. Otherwise, enter blanks.
	PostponedContributionReason string `json:"postponed_contribution_reason"`

	// Required. Enter the two-character alpha Repayment Code.
	// Right justify. Otherwise, enter blanks.
	// QR: Qualified Reservist Distribution
	// DD: Federally Designated Disaster Distribution
	RepaymentCode string `json:"repayment_code"`

	// Enter the date by which the RMD amount must be distributed
	// to avoid the 50% excise tax. Format the date as
	// YYYYMMDD (for example, January 5, 2019, would be
	// 20190105). Otherwise, enter blanks.
	RMDDate time.Time `json:"rmd_date"`

	// Equal to one alpha character or two alpha characters or
	// blank. Valid characters are:
	// • Two-character combinations can consist of A, B, C,
	//   D, E, F, and G.
	// • Valid character H cannot be present with any other
	//  characters.
	Codes string `json:"codes"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements.
	// If this field is not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// Enter the valid CF/SF code if this payee record is to be
	// forwarded to a state agency as part of the CF/SF Program.
	CombinedFSCode int `json:"combined_federal_state_code"`
}

func (*Sub5498) Ascii added in v0.1.4

func (r *Sub5498) Ascii() []byte

Ascii returns fire ascii of “5498” record

func (*Sub5498) FederalState added in v0.1.4

func (r *Sub5498) FederalState() int

Type returns FS code of “5498” record

func (*Sub5498) Parse added in v0.1.4

func (r *Sub5498) Parse(buf []byte) error

Parse parses the “5498” record from fire ascii

func (*Sub5498) Type added in v0.1.4

func (r *Sub5498) Type() string

Type returns type of “5498” record

func (*Sub5498) Validate added in v0.1.4

func (r *Sub5498) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub5498) ValidateCodes added in v0.1.4

func (r *Sub5498) ValidateCodes() error

func (*Sub5498) ValidateCombinedFSCode added in v0.1.4

func (r *Sub5498) ValidateCombinedFSCode() error

func (*Sub5498) ValidateIRAIndicator added in v0.1.4

func (r *Sub5498) ValidateIRAIndicator() error

func (*Sub5498) ValidatePostponedContributionCode added in v0.1.4

func (r *Sub5498) ValidatePostponedContributionCode() error

func (*Sub5498) ValidateRMDIndicator added in v0.1.4

func (r *Sub5498) ValidateRMDIndicator() error

func (*Sub5498) ValidateRepaymentCode added in v0.1.4

func (r *Sub5498) ValidateRepaymentCode() error

func (*Sub5498) ValidateRothIRAIndicator added in v0.1.4

func (r *Sub5498) ValidateRothIRAIndicator() error

func (*Sub5498) ValidateSEPIndicator added in v0.1.4

func (r *Sub5498) ValidateSEPIndicator() error

func (*Sub5498) ValidateSIMPLEIndicator added in v0.1.4

func (r *Sub5498) ValidateSIMPLEIndicator() error

type Sub5498ESA added in v0.1.4

type Sub5498ESA struct {
	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements.
	// If this field is not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub5498ESA) Ascii added in v0.1.4

func (r *Sub5498ESA) Ascii() []byte

Ascii returns fire ascii of “5498-ESA” record

func (*Sub5498ESA) FederalState added in v0.1.4

func (r *Sub5498ESA) FederalState() int

Type returns FS code of “5498-ESA” record

func (*Sub5498ESA) Parse added in v0.1.4

func (r *Sub5498ESA) Parse(buf []byte) error

Parse parses the “5498-ESA” record from fire ascii

func (*Sub5498ESA) Type added in v0.1.4

func (r *Sub5498ESA) Type() string

Type returns type of “5498-ESA” record

func (*Sub5498ESA) Validate added in v0.1.4

func (r *Sub5498ESA) Validate() error

Validate performs some checks on the record and returns an error if not Validated

type Sub5498SA added in v0.1.4

type Sub5498SA struct {
	// Enter “1” (one) for a Medicare Advantage MSA. Otherwise,
	// enter a blank.
	MedicareAdvantageMSAIndicator string `json:"medicare_advantage_msa_indicator"`

	// Enter “1” (one) for an HSA. Otherwise, enter a blank.
	HSAIndicator string `json:"hsa_indicator"`

	// Enter “1” (one) for an Archer MSA. Otherwise, enter a blank.
	ArcherMSAIndicator string `json:"archer_mas_indicator"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements.
	// If this field is not used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`
}

func (*Sub5498SA) Ascii added in v0.1.4

func (r *Sub5498SA) Ascii() []byte

Ascii returns fire ascii of “5498-SA” record

func (*Sub5498SA) FederalState added in v0.1.4

func (r *Sub5498SA) FederalState() int

Type returns FS code of “5498-SA” record

func (*Sub5498SA) Parse added in v0.1.4

func (r *Sub5498SA) Parse(buf []byte) error

Parse parses the “5498-SA” record from fire ascii

func (*Sub5498SA) Type added in v0.1.4

func (r *Sub5498SA) Type() string

Type returns type of “5498-SA” record

func (*Sub5498SA) Validate added in v0.1.4

func (r *Sub5498SA) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*Sub5498SA) ValidateArcherMSAIndicator added in v0.1.4

func (r *Sub5498SA) ValidateArcherMSAIndicator() error

func (*Sub5498SA) ValidateHSAIndicator added in v0.1.4

func (r *Sub5498SA) ValidateHSAIndicator() error

func (*Sub5498SA) ValidateMedicareAdvantageMSAIndicator added in v0.1.4

func (r *Sub5498SA) ValidateMedicareAdvantageMSAIndicator() error

type SubRecord

type SubRecord interface {
	FederalState() int
	Type() string
	Parse([]byte) error
	Ascii() []byte
	Validate() error
}

General subrecord interface

func NewSubRecord

func NewSubRecord(recordType string) (SubRecord, error)

NewSubRecord returns a new sub record with type of return

type SubW2G added in v0.1.4

type SubW2G struct {
	// Required. Enter the applicable type of wager code from the
	// table below.
	// 1: Horse race track
	// 2: Dog race track
	// 3: Jai-alai
	// 4: State-conducted lottery
	// 5: Keno
	// 6: Bingo
	// 7: Slot machines
	// 8: Poker winnings
	// 9: Any other type of gambling winnings
	TypeWagerCode string `json:"type_wager_code"`

	// Required. Enter the date of the winning transaction in
	// YYYYMMDD format (for example, January 5, 2019, would be
	// 20190105). This is not the date the money was paid, if paid
	// after the date of the race (or game).
	// Do not enter hyphens or slashes.
	DateWon time.Time `json:"date_won"`

	// Required. For state-conducted lotteries, enter the ticket or
	// other identifying number.
	// For keno, bingo, and slot machines, enter the ticket or card
	// number (and color, if applicable), machine serial number, or
	// any other information that will help identify the winning
	// transaction.
	// For all others, enter blanks.
	Transaction string `json:"transaction"`

	// If applicable, enter the race (or game) relating to the winning
	// ticket. Otherwise, enter blanks.
	Race string `json:"race"`

	// If applicable, enter the initials or number of the cashier
	// making the winning payment. Otherwise, enter blanks.
	Cashier string `json:"cashier"`

	// If applicable, enter the window number or location of the
	// person paying the winning payment. Otherwise, enter
	// blanks.
	Window string `json:"window"`

	// For other than state lotteries, enter the first identification
	// number of the person receiving the winning payment.
	// Otherwise, enter blanks.
	FirstID string `json:"first_id"`

	// For other than state lotteries, enter the second identification
	// number of the person receiving the winnings. Otherwise,
	// enter blanks.
	SecondID string `json:"second_id"`

	// This portion of the “B” Record may be used to record
	// information for state or local government reporting or for the
	// filer’s own purposes. Payers should contact the state or local
	// revenue departments for filing requirements. You may enter
	// your routing and transit number (RTN) here. If this field is not
	// used, enter blanks.
	SpecialDataEntries string `json:"special_data_entries"`

	// State income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting state tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	StateIncomeTaxWithheld int `json:"state_income_tax_withheld"`

	// Local income tax withheld is for the convenience of the filers.
	// This information does not need to be reported to the IRS. If
	// not reporting local tax withheld, this field may be used as a
	// continuation of the Special Data Entries Field. The payment
	// amount must be right justified and unused positions
	// zero-filled.
	LocalIncomeTaxWithheld int `json:"local_income_tax_withheld"`
}

func (*SubW2G) Ascii added in v0.1.4

func (r *SubW2G) Ascii() []byte

Ascii returns fire ascii of “W-2G” record

func (*SubW2G) FederalState added in v0.1.4

func (r *SubW2G) FederalState() int

Type returns FS code of “W-2G” record

func (*SubW2G) Parse added in v0.1.4

func (r *SubW2G) Parse(buf []byte) error

Parse parses the “W-2G” record from fire ascii

func (*SubW2G) Type added in v0.1.4

func (r *SubW2G) Type() string

Type returns type of “W-2G” record

func (*SubW2G) Validate added in v0.1.4

func (r *SubW2G) Validate() error

Validate performs some checks on the record and returns an error if not Validated

func (*SubW2G) ValidateTypeWagerCode added in v0.1.4

func (r *SubW2G) ValidateTypeWagerCode() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL