subrecords

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2020 License: Apache-2.0 Imports: 5 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) 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 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) 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) ValidateVendorForeignEntityIndicator

func (r *Sub1099INT) ValidateVendorForeignEntityIndicator() 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) 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 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) 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) 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) ValidateVendorForeignEntityIndicator

func (r *Sub1099PATR) ValidateVendorForeignEntityIndicator() error

type SubRecord

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

General subrecord interface

func NewSubRecord

func NewSubRecord(recordType string) SubRecord

NewSubRecord returns a new sub record with type of return

Jump to

Keyboard shortcuts

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