Categorygithub.com/moov-io/wire
modulepackage
0.15.5
Repository: https://github.com/moov-io/wire.git
Documentation: pkg.go.dev

# README

Moov Banner Logo

Project Documentation · API Endpoints · API Guide · Community · Blog

GoDoc Build Status Coverage Status Go Report Card Repo Size Apache 2 License Slack Channel Docker Pulls GitHub Stars Twitter

moov-io/wire

Moov's mission is to give developers an easy way to create and integrate bank processing into their own software products. Our open source projects are each focused on solving a single responsibility in financial services and designed around performance, scalability, and ease of use.

Wire implements a reader, writer, and validator for FED Wire Messages (FEDWire) in an HTTP server and Go library. The HTTP server is available in a Docker image and the Go package github.com/moov-io/wire is available.

Table of contents

Project status

Moov Wire is actively used in multiple production environments. Please star the project if you are interested in its progress. If you have layers above Wire to simplify tasks, perform business operations, or found bugs we would appreciate an issue or pull request. Thanks!

Usage

The Wire project implements an HTTP server and Go library for creating and modifying Wire files. We also have some examples of the reader and writer.

Docker

We publish a public Docker image moov/wire on Docker Hub with every tagged release of Wire. No configuration is required to serve on :8088 and metrics at :9098/metrics in Prometheus format. We also have Docker images for OpenShift published as quay.io/moov/wire.

Pull & start the Docker image:

docker pull moov/wire:latest
docker run -p 8088:8088 -p 9098:9098 moov/wire:latest

List files stored in-memory:

curl localhost:8088/files
null

Create a file on the HTTP server:

curl -X POST --data-binary "@./test/testdata/fedWireMessage-CustomerTransfer.txt" http://localhost:8088/files/create
{"id":"<YOUR-UNIQUE-FILE-ID>","fedWireMessage":{"id":"","senderSupplied":{"formatVersion":"30", .....

Get the file in its original format:

curl http://localhost:8088/files/<YOUR-UNIQUE-FILE-ID>/contents
{1500}30User ReqT
{1510}1000
{1520}20190410Source08000001
...

Google Cloud Run

To get started in a hosted environment you can deploy this project to the Google Cloud Platform.

From your Google Cloud dashboard create a new project and call it:

moov-wire-demo

Enable the Container Registry API for your project and associate a billing account if needed. Then, open the Cloud Shell terminal and run the following Docker commands, substituting your unique project ID:

docker pull moov/wire
docker tag moov/wire gcr.io/<PROJECT-ID>/wire
docker push gcr.io/<PROJECT-ID>/wire

Deploy the container to Cloud Run:

gcloud run deploy --image gcr.io/<PROJECT-ID>/wire --port 8088

Select your target platform to 1, service name to wire, and region to the one closest to you (enable Google API service if a prompt appears). Upon a successful build you will be given a URL where the API has been deployed:

https://YOUR-WIRE-APP-URL.a.run.app

Now you can list files stored in-memory:

curl https://YOUR-WIRE-APP-URL.a.run.app/files

You should get this response:

null

Configuration settings

The following environmental variables can be set to configure behavior in Wire.

Environmental VariableDescriptionDefault
HTTPS_CERT_FILEFilepath containing a certificate (or intermediate chain) to be served by the HTTP server. Requires all traffic be over secure HTTP.Empty
HTTPS_KEY_FILEFilepath of a private key matching the leaf certificate from HTTPS_CERT_FILE.Empty
WIRE_FILE_TTLTime to live (TTL) for *wire.File objects stored in the in-memory repository.0 = No TTL / Never delete files (Example: 240m)

Data persistence

By design, Wire does not persist (save) any data about the files or entry details created. The only storage occurs in memory of the process and upon restart Wire will have no files or data saved. Also, no in-memory encryption of the data is performed.

Go library

This project uses Go Modules and Go v1.18 or newer. See Golang's install instructions for help setting up Go. You can download the source code and we offer tagged and released versions as well. We highly recommend you use a tagged release for production.

$ [email protected]:moov-io/wire.git

$ go get -u github.com/moov-io/wire

$ go doc github.com/moov-io/wire fedWireMessage

The package github.com/moov-io/wire offers a Go-based Wire file reader and writer. To get started, check out a specific example:

Supported Business Function Codes
Business Function CodeNameExampleReadWrite
DRBBankDrawDownRequestLinkLinkLink
BTRBankTransferLinkLinkLink
CKSCheckSameDaySettlementLinkLinkLink
DRCCustomerCorporateDrawDownRequestLinkLinkLink
CTRCustomerTransferLinkLinkLink
CTPCustomerTransferPlusLinkLinkLink
CTPCustomerTransferPlusCOVSLinkLinkLink
DEPDepositSendersAccountLinkLinkLink
FFRFEDFundsReturnedLinkLinkLink
FFSFEDFundsSoldLinkLinkLink
SVCServiceMessageLinkLinkLink

In-browser Wire file parser

Using our in-browser utility, you can instantly convert Wire files into JSON. Either paste in Wire file content directly or choose a file from your local machine. This tool is particulary useful if you're handling sensitive PII or want perform some quick tests, as operations are fully client-side with nothing stored in memory. We plan to support bidirectional conversion in the future.

Learn about Fedwire

FAQ

Is there an in-browser tool for converting Wire files into JSON? Yes! You can find our browser utility at http://oss.moov.io/wire/.
Is my data being saved somewhere? No, we do not save any data related to files or message details. All processing is done in-memory.
What Fedwire message types are supported? We support generating and parsing all Business Function codes.

Getting help

channelinfo
Project DocumentationOur project documentation available online.
Twitter @moovYou can follow Moov.io's Twitter feed to get updates on our project(s). You can also tweet us questions or just share blogs or stories.
GitHub IssueIf you are able to reproduce a problem please open a GitHub Issue under the specific project that caused the error.
moov-io slackJoin our slack channel to have an interactive discussion about the development of the project.

Supported and tested platforms

  • 64-bit Linux (Ubuntu, Debian), macOS, and Windows

Note: 32-bit platforms have known issues and are not supported.

Contributing

Yes please! Please review our Contributing guide and Code of Conduct to get started!

This project uses Go Modules and Go v1.18 or newer. See Golang's install instructions for help setting up Go. You can download the source code and we offer tagged and released versions as well. We highly recommend you use a tagged release for production.

Releasing

To make a release of wire simply open a pull request with CHANGELOG.md and version.go updated with the next version number and details. You'll also need to push the tag (i.e. git push origin v1.0.0) to origin in order for CI to make the release.

Testing

We maintain a comprehensive suite of unit tests and recommend table-driven testing when a particular function warrants several very similar test cases. To run all test files in the current directory, use go test. Current overall coverage can be found on Codecov.

Fuzzing

We currently run fuzzing over Wire in the form of a Github Action. Please report crashes examples to [email protected]. Thanks!

Related projects

As part of Moov's initiative to offer open source fintech infrastructure, we have a large collection of active projects you may find useful:

  • Moov Watchman offers search functions over numerous trade sanction lists from the United States and European Union.

  • Moov Fed implements utility services for searching the United States Federal Reserve System such as ABA routing numbers, financial institution name lookup, and FedACH and Fedwire routing information.

  • Moov Image Cash Letter implements Image Cash Letter (ICL) files used for Check21, X.9 or check truncation files for exchange and remote deposit in the U.S.

  • Moov ACH provides ACH file generation and parsing, supporting all Standard Entry Codes for the primary method of money movement throughout the United States.

  • Moov Metro 2 provides a way to easily read, create, and validate Metro 2 format, which is used for consumer credit history reporting by the United States credit bureaus.

License

Apache License 2.0 - See LICENSE for details.

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

FileFromJSON attempts to return a *File object assuming the input is valid JSON.
IncomingFile configures the FedWireMessage ValidationOpts for an incoming file.
NewAccountCreditedDrawdown returns a new AccountCreditedDrawdown.
NewAccountDebitedDrawdown returns a new AccountDebitedDrawdown.
NewActualAmountPaid returns a new ActualAmountPaid.
NewAdjustment returns a new Adjustment.
NewAmount returns a new Amount.
NewAmountNegotiatedDiscount returns a new AmountNegotiatedDiscount.
NewBeneficiary returns a new Beneficiary.
NewBeneficiaryCustomer returns a new BeneficiaryCustomer.
NewBeneficiaryFI returns a new BeneficiaryFI.
NewBeneficiaryIntermediaryFI returns a new BeneficiaryIntermediaryFI.
NewBeneficiaryReference returns a new BeneficiaryReference.
NewBusinessFunctionCode returns a new BusinessFunctionCode.
NewCharges returns a new Charges.
NewCurrencyInstructedAmount returns a new CurrencyInstructedAmount.
NewDateRemittanceDocument returns a new DateRemittanceDocument.
NewErrBusinessFunctionCodeProperty creates a new error of the ErrBusinessFunctionCodeProperty type.
NewErrInvalidPropertyForProperty creates a new error of the ErrInvalidPropertyForProperty type.
NewErrInvalidTag creates a new error of the ErrInvalidTag type.
NewErrorWire returns a new ErrorWire.
NewExchangeRate returns a new ExchangeRate.
NewFIAdditionalFIToFI returns a new FIAdditionalFIToFI.
NewFIBeneficiary returns a new FIBeneficiary.
NewFIBeneficiaryAdvice returns a new FIBeneficiaryAdvice.
NewFIBeneficiaryFI returns a new FIBeneficiaryFI.
NewFIBeneficiaryFIAdvice returns a new FIBeneficiaryFIAdvice.
NewFIDrawdownDebitAccountAdvice returns a new FIDrawdownDebitAccountAdvice.
NewFieldWrongLengthErr creates a new error of the FieldWrongLengthErr type.
NewFIIntermediaryFI returns a new FIIntermediaryFI.
NewFIIntermediaryFIAdvice returns a new FIIntermediaryFIAdvice.
NewFile constructs a file template.
NewFIPaymentMethodToBeneficiary returns a new FIPaymentMethodToBeneficiary.
NewFIReceiverFI returns a new FIReceiverFI.
NewGrossAmountRemittanceDocument returns a new GrossAmountRemittanceDocument.
NewInputMessageAccountabilityData returns a new InputMessageAccountabilityData.
NewInstitutionAccount returns a new InstitutionAccount.
NewInstructedAmount returns a new InstructedAmount.
NewInstructingFI returns a new InstructingFI.
NewIntermediaryInstitution returns a new IntermediaryInstitution.
NewlineCharacter specify new line character.
NewLocalInstrument returns a new LocalInstrument.
NewMessageDisposition returns a new MessageDisposition.
NewOrderingCustomer returns a new OrderingCustomer.
NewOrderingInstitution returns a new OrderingInstitution.
NewOriginator returns a new Originator.
NewOriginatorFI returns a new OriginatorFI.
NewOriginatorOptionF returns a new OriginatorOptionF.
NewOriginatorToBeneficiary returns a new OriginatorToBeneficiary.
NewOutputMessageAccountabilityData returns a new OutputMessageAccountabilityData.
NewPaymentNotification returns a new PaymentNotification.
NewPreviousMessageIdentifier returns a new PreviousMessageIdentifier.
NewPrimaryRemittanceDocument returns a new PrimaryRemittanceDocument.
NewReader returns a new ACH Reader that reads from r.
NewReceiptTimeStamp returns a new ReceiptTimeStamp.
NewReceiverDepositoryInstitution returns a new ReceiverDepositoryInstitution.
NewRelatedRemittance returns a new RelatedRemittance.
NewRemittance returns a new Remittance.
NewRemittanceBeneficiary returns a new RemittanceBeneficiary.
NewRemittanceFreeText returns a new RemittanceFreeText.
NewRemittanceOriginator returns a new RemittanceOriginator.
NewSecondaryRemittanceDocument returns a new SecondaryRemittanceDocument.
NewSenderDepositoryInstitution returns a new SenderDepositoryInstitution.
NewSenderReference returns a new SenderReference.
NewSenderSupplied returns a new SenderSupplied.
NewSenderToReceiver returns a new SenderToReceiver.
NewServiceMessage returns a new ServiceMessage.
NewTagMaxLengthErr creates a new error of the TagWrongLengthErr type.
NewTagMinLengthErr creates a new error of the TagWrongLengthErr type.
NewTagWrongLengthErr creates a new error of the TagWrongLengthErr type.
NewTypeSubType returns a new TypeSubType.
NewUnstructuredAddenda returns a new UnstructuredAddenda.
NewWriter returns a new Writer that writes to w.
OutgoingFile configures the FedWireMessage ValidationOpts for an outgoing file.
VariableLengthFields specify to support variable length.

# Constants

AccountsReceivableOpenItem is accounts receivable open item.
AdviceCodeHold is an advice code for Hold.
AdviceCodeLetter is an advice code for LTR.
AdviceCodePhone is an advice code for Phone.
AdviceCodeTelex is an advice code for Telex.
AdviceCodeWire is an advice code for Wire.
AlienRegistrationNumber is Alien Registration Number.
ANSIX12format is ANSI X12 format.
BankDrawDownRequest is a bank to bank drawdown request.
BankTransfer is a bank transfer (beneficiary is a bank).
BasicFundsTransfer is SenderSuppliedInformation {1510} SubTypeCode which designates a basic value funds transfer.
BFCServiceMessage is Service Message.
BillLadingShippingNotice is bill lading shipping notice.
BusinessAddress is Business Address.
CDBeneficiary is charge details beneficiary.
CDShared is charge details shared.
CheckSameDaySettlement is a check with same day settlement.
CHIPSIdentifier is CHIPS Identifier.
CHIPSParticipant is CHIPS Participant.
CommercialContract is commercial contract.
CommercialInvoice is commercial invoice.
CompletePostalAddress is Complete Postal Address.
CorporateIdentification is corporate identification.
CoveredCreditMemo is covered credit memo.
CreditAgreed is credit agreed.
CreditIndicator is a credit.
CreditNote is credit note.
CreditNoteRelatedFinancialAdjustment is credit note related financial adjustment.
CustomerCorporateDrawdownRequest is a customer or corporate drawdown request.
CustomerTransfer beneficiary is a not a bank.
CustomerTransferPlus is a customer transfer plus.
DebitIndicator is a debit.
DebitNote is debit note.
DebitNoteRelatedFinancialAdjustment is debit note related financial adjustment.
No description provided by the author
DeliveryAddress is Delivery Address.
DemandDepositAccountNumber is Demand Deposit Account Number.
DepositSendersAccount is a deposit to a senders account.
DispatchAdvice is dispatch advice.
DrawdownResponse is a drawdown payment.
DriversLicenseNumber is Drivers License Number.
EnvironmentProduction designates a production environment.
EnvironmentTest designates a test environment.
ExtensionError is extension error.
FEDFundsReturned is FED funds returned.
FEDFundsSold is FED funds sold.
FEDRoutingNumber is FED Routing Number.
ForeignTransfer is SenderSuppliedInformation {1510} TypeCode which designates a funds transfer to or from a foreign central bank or government or international organization with an account at the Federal Reserve Bank of New York.
FormatVersion designates the FEDWIRE message format version.
FundsTransfer is SenderSuppliedInformation {1510} TypeCode which designates a funds transfer in which the sender and/or receiver may be a bank or a third party (i.e., customer of a bank).
FundsTransferRequestCredit is SenderSuppliedInformation {1510} SubTypeCode which designates a value funds transfer honoring a subtype 31 request for credit.
GeneralXMLformat is General XML format.
HireInvoice is hire invoice.
HomeAddress is Home Address.
IncorrectProduct is incorrect product.
ISO20022XMLformat is ISO 20022 XML format.
ItemNotAcceptedDamaged is item not accepted damaged.
ItemNotAcceptedQuality is item not accepted quality.
ItemNotReceived is item not received.
MailAddress is Mail Address.
MessageDuplicationOriginal designates an original message.
MessageDuplicationResend designates a resend of a message.
MeteredServiceInvoice is metered service invoice.
NarrativeText is Narrative Text.
OICBankPartyIdentification is Bank Party Identification.
OICCustomerNumber is Customer Number.
OICDataUniversalNumberSystem (Dun & Bradstreet) is Data Universal Number System.
OICEmployerIdentificationNumber is Employee Identification Number.
OICGlobalLocationNumber is Global Location Number.
OICProprietaryIdentificationNumber is Proprietary Identification Number.
OICSWIFTBICORBEI is SWIFT BIC or BEI.
OICTaxIdentificationNumber is Tax Identification Number.
OptionFAdditionalInformation is Additional Information.
OptionFAddress is Address.
OptionFBirthPlace is Place of Birth.
OptionFCountryTown is Country and Town.
OptionFCustomerIdentificationNumber is Customer Identification Number.
OptionFDOB is Date of Birth.
OptionFName is Name.
OptionFNationalIdentityNumber is National Identity Number.
OrganizationID is Organization ID.
OtherIdentification is other identification.
PartyIdentifierAlienRegistrationNumber is PartyIdentifier Alien Registration Number.
PartyIdentifierCustomerIdentificationNumber is PartyIdentifier Customer Identification Number.
PartyIdentifierDriversLicenseNumber is PartyIdentifier Driver’s License Number.
PartyIdentifierEmployerNumber is PartyIdentifier Employer Number.
PartyIdentifierNationalIdentifyNumber is PartyIdentifier National Identify Number.
PartyIdentifierPassportNumber is PartyIdentifier Passport Number.
PartyIdentifierSocialSecurityNumber is PartyIdentifier Social Security Number.
PartyIdentifierTaxIdentificationNumber is PartyIdentifier Tax Identification Number.
PassportNumber is Passport Number.
PaymentMethod is the payment method to beneficiary.
PICAlienRegistrationNumber is Alien Registration Number.
PICCustomerNumber is Customer Number.
PICDateBirthPlace is Date Birth Place.
PICEmployeeIdentificationNumber is Employer Identification Number.
PICNationalIdentityNumber is National Identity Number.
PICPassportNumber is Passport Number.
PICProprietaryIdentificationNumber is Proprietary Identification Number.
PICSocialSecurityNumber is Social Security Number.
PICTaxIdentificationNumber is Tax Identification Number.
PostOfficeBox is Post Office Box.
PricingError is pricing error.
PrivateID is Private ID.
ProprietaryDocumentType is proprietary document type.
ProprietaryLocalInstrumentCode is Proprietary Local Instrument Code.
PurchaseOrder is Purchase Order.
QuantityContested is quantity contested.
RefusalRequestCredit is SenderSuppliedInformation {1510} SubTypeCode which designates a non-value message indicating refusal to honor a subtype 31 request for credit.
RelatedRemittanceInformation is Related Remittance Information.
RemittanceInformationStructured is Remittance Information Structured.
RequestCredit is SenderSuppliedInformation {1510} SubTypeCode which designates a non-value request for the receiver to send a funds transfer to a designated party.
RequestReversal is SenderSuppliedInformation {1510} SubTypeCode which designates a non-value request for reversal of a funds transfer originated on the current business day.
RequestReversalPriorDayTransfer is SenderSuppliedInformation {1510} SubTypeCode which designates a non-value request for a reversal of a funds transfer originated on a prior business day.
ReturnsDamaged is returns damaged.
ReturnsQuality is returns quality.
ReversalPriorDayTransfer is SenderSuppliedInformation {1510} SubTypeCode which designates a value reversal of a funds transfer received on a prior business day.
ReversalTransfer is SenderSuppliedInformation {1510} SubTypeCode which designates a value reversal of a funds transfer received on the current business day.
RLMElectronicDataExchange is Remittance Location Method Electronic Data Exchange.
RLMEmail is Remittance Location Method Email.
RLMFax is Remittance Location Method Fax.
RLMPostalService is Remittance Location Method Postal Service.
RLMSMSM is Remittance Location Method Short Message Service (text).
RLMURI is Remittance Location Method Uniform Resource Identifier.
SelfBilledInvoice is self billed invoice.
SequenceBCoverPaymentStructured is Sequence B Cover Payment Structured.
SettlementTransfer is SenderSuppliedInformation {1510} TypeCode which designates a funds transfer between Fedwire Funds Service participants.
SSIServiceMessage is SenderSuppliedInformation {1510} SubTypeCode which designates a non-value message used to communicate questions and information that is not covered by a specific subtype.
StatementAccount is Statement of account.
STP820format is STP 820 format.
SWIFTBankIdentifierCode is SWIFT Bank Identifier Code.
SWIFTBICORBEIANDAccountNumber is SWIFT Bank Identifier Code(BIC) OR Bank Entity Identifier (BEI) AND AccountNumber.
SWIFTfield70 = SWIFT field 70.
TagAccountCreditedDrawdown is AccountCreditedDrawdown.
TagAccountDebitedDrawdown is AccountDebitedDrawdown.
TagActualAmountPaid is ActualAmountPaid.
TagAdjustment is Adjustment.
TagAmount is Amount.
TagAmountNegotiatedDiscount is AmountNegotiatedDiscount.
TagBeneficiary is Beneficiary.
TagBeneficiaryCustomer is BeneficiaryCustomer.
TagBeneficiaryFI is BeneficiaryFI.
TagBeneficiaryIntermediaryFI is BeneficiaryIntermediaryFI.
TagBeneficiaryReference is BeneficiaryReference.
TagBusinessFunctionCode is BusinessFunctionCode.
TagCharges is Charges.
TagCurrencyInstructedAmount is CurrencyInstructedAmount.
TagDateRemittanceDocument is DateRemittanceDocument.
TagErrorWire is ErrorWire.
TagExchangeRate is ExchangeRate.
TagFIAdditionalFIToFI is FIAdditionalFIToFI.
TagFIBeneficiary is FIBeneficiary.
TagFIBeneficiaryAdvice is FIBeneficiaryAdvice.
TagFIBeneficiaryFI is FIBeneficiaryFI.
TagFIBeneficiaryFIAdvice is FIBeneficiaryFIAdvice.
TagFIDrawdownDebitAccountAdvice is FIDrawdownDebitAccountAdvice.
TagFIIntermediaryFI is FIIntermediaryFI.
TagFIIntermediaryFIAdvice is FIIntermediaryFIAdvice.
TagFIPaymentMethodToBeneficiary is FIPaymentMethodToBeneficiary.
TagFIReceiverFI is FIReceiverFI.
TagGrossAmountRemittanceDocument is GrossAmountRemittanceDocument.
TagInputMessageAccountabilityData is InputMessageAccountabilityData (IMAD).
TagInstitutionAccount is InstitutionAccount.
TagInstructedAmount is InstructedAmount.
TagInstructingFI is InstructingFI.
TagIntermediaryInstitution is IntermediaryInstitution.
TagLocalInstrument is LocalInstrument.
TagMessageDisposition is MessageDisposition.
TagOrderingCustomer is OrderingCustomer.
TagOrderingInstitution is OrderingInstitution.
TagOriginator is Originator.
TagOriginatorFI is OriginatorFI.
TagOriginatorOptionF is OriginatorOptionF.
TagOriginatorToBeneficiary is OriginatorToBeneficiary.
TagOutputMessageAccountabilityData is OutputMessageAccountabilityData.
TagPaymentNotification is PaymentNotification.
TagPreviousMessageIdentifier is PreviousMessageIdentifier.
TagPrimaryRemittanceDocument is PrimaryRemittanceDocument.
TagReceiptTimeStamp is ReceiptTimeStamp.
TagReceiverDepositoryInstitution is ReceiverDepositoryInstitution.
TagRelatedRemittance is RelatedRemittance.
TagRemittance is Remittance.
TagRemittanceBeneficiary is RemittanceBeneficiary.
TagRemittanceFreeText is RemittanceFreeText.
TagRemittanceOriginator is RemittanceOriginator.
TagSecondaryRemittanceDocument is SecondaryRemittanceDocument.
TagSenderDepositoryInstitution is SenderDepositoryInstitution.
TagSenderReference is SenderReference.
TagSenderSupplied is SenderSuppliedInformation.
TagSenderToReceiver is SenderToReceiver.
TagServiceMessage is ServiceMessage.
TagTypeSubType is TypeSubType.
TagUnstructuredAddenda is UnstructuredAddenda.
TaxIdentificationNumber is Tax Identification Number.
TotalOrderNotReceived is total order not received.
TradeServicesUtilityTransaction is trade services utility transaction.
UNEDIFACTformat is UN-EDIFACT format.
Version is version.
Voucher is Voucher.

# Variables

ErrAddressType is returned for an invalid address type.
ErrAdjustmentReasonCode is returned for an invalid adjustment reason code.
ErrAdviceCode is returned for an invalid advice code.
ErrBusinessFunctionCode is returned for an invalid business function code.
ErrChargeDetails is returned for an invalid charge details for charges.
ErrConstructor is returned when there's a mandatory field is not initialized correctly, and prompts to use the constructor.
ErrCreditDebitIndicator is returned for an invalid credit or debit indicator.
ErrDocumentTypeCode is returned for an invalid document type code.
ErrFieldInclusion is returned when a field is mandatory and has a default value.
ErrFieldRequired is returned when a field is required.
ErrFileTooLong is the error given when a file exceeds the maximum possible length.
ErrFormatVersion is returned for an invalid an invalid FormatVersion.
ErrIdentificationCode is returned for an invalid identification code.
ErrIdentificationType is returned for an invalid remittance Identification Typ.
ErrInvalidProperty is returned for an invalid type property.
ErrLocalInstrumentCode is returned for an invalid local instrument code tag {3610}.
ErrLocalInstrumentNotPermitted is returned when LocalInstrument is included and BusinessFunctionCode is NOT CustomerTransferPlus.
ErrMessageDuplicationCode is returned for an invalid MessageDuplicationCode.
ErrNonAlphanumeric is returned when a field has non-alphanumeric characters.
ErrNonAmount is returned for an incorrect wire amount format.
ErrNonCurrencyCode is returned for an incorrect currency code.
ErrNonNumeric is returned when a field has non-numeric characters.
ErrNotPermitted is returned when a field is included, but not permitted in combination with the other tags present in the message.
ErrOptionFLine is returned for an invalid line for OriginatorOptionF.
ErrOptionFName is returned for an invalid name for OriginatorOptionF.
ErrOrganizationIdentificationCode is returned for an invalid organization identification code.
ErrPartyIdentifier is returned for an invalid party identifier.
ErrPaymentNotificationIndicator is returned for an invalid payment notification indicator {3620}.
ErrPrivateIdentificationCode is returned for an invalid private identification code.
ErrRemittanceLocationMethod is returned for an invalid remittance location method.
ErrRequireDelimiter is returned for an field without a delimiter.
ErrSubTypeCode is returned when there's an invalid SubTypeCode tag.
ErrTestProductionCode is returned for an invalid TestProductionCode.
ErrTransactionTypeCode is returned for an invalid transaction type code.
ErrTypeCode is returned for an invalid TypeCode tag.
ErrUpperAlpha is returned when a field is not in uppercase.
ErrValidCentury is returned for an invalid century.
ErrValidDate is returned for an invalid date.
ErrValidDay is returned for an invalid day.
ErrValidLength is returned for an field with invalid length.
ErrValidMonth is returned for an invalid month.
ErrValidTagForType is returned when a type has an invalid tag.
ErrValidYear is returned for an invalid year.

# Structs

AccountCreditedDrawdown is the account which is credited in a drawdown.
AccountDebitedDrawdown is the account which is debited in a drawdown.
ActualAmountPaid is the actual amount paid.
AdditionalFIToFI is additional financial institution to financial institution information.
Address is 3 lines of address information.
Adjustment is adjustment.
Advice is financial institution advice information.
Amount (up to a penny less than $10 billion) {2000}.
AmountNegotiatedDiscount is the amount negotiated discount.
Beneficiary is the beneficiary of the wire.
BeneficiaryCustomer is the beneficiary customer.
BeneficiaryFI is the financial institution of the beneficiary.
BeneficiaryIntermediaryFI {4000}.
BeneficiaryReference is a reference for the beneficiary.
BusinessFunctionCode {3600}.
Charges is the Charges of the wire.
CoverPayment is cover payment data.
CurrencyInstructedAmount is the currency instructed amount.
DateRemittanceDocument is the date of remittance document.
ErrBusinessFunctionCodeProperty is the error given when the observed check digit does not match the calculated one.
ErrInvalidPropertyForProperty is the error given when the observed check digit does not match the calculated one.
ErrInvalidTag is the error given when a tag is invalid.
ErrorWire is a wire error with the fedwire message.
ExchangeRate is the ExchangeRate of the wire.
FEDWireMessage is a FedWire Message.
FIAdditionalFIToFI is the financial institution beneficiary financial institution.
FIBeneficiary is the financial institution beneficiary.
FIBeneficiaryAdvice is the financial institution beneficiary advice.
FIBeneficiaryFI is the financial institution beneficiary financial institution.
FIBeneficiaryFIAdvice is the financial institution beneficiary financial institution.
FIDrawdownDebitAccountAdvice is the financial institution drawdown debit account advice.
FieldError is returned for errors at a field level in a tag.
FieldWrongLengthErr is the error given when a Field is the wrong length.
FIIntermediaryFI is the financial institution intermediary financial institution.
FIIntermediaryFIAdvice is the financial institution intermediary financial institution.
File contains the structures of a parsed WIRE File.
FinancialInstitution is demographic information for a financial institution.
FIPaymentMethodToBeneficiary is the financial institution payment method to beneficiary.
FIReceiverFI is the financial institution receiver financial institution.
FIToFI is financial institution to financial institution.
FormatOptions specify options for writing wire records to strings.
GrossAmountRemittanceDocument is the gross amount remittance document.
InputMessageAccountabilityData (IMAD) {1520}.
InstitutionAccount is the institution account.
InstructedAmount is the InstructedAmount of the wire.
InstructingFI is the instructing financial institution.
IntermediaryInstitution is the intermediary institution.
LocalInstrument is the LocalInstrument of the wire.
MessageDisposition is the message disposition of the wire.
OrderingCustomer is the ordering customer.
OrderingInstitution is the ordering institution.
Originator is the originator of the wire.
OriginatorFI is the originator Financial Institution.
OriginatorOptionF is originator option F information.
OriginatorToBeneficiary is the OriginatorToBeneficiary of the wire.
OutputMessageAccountabilityData is the Output Message Accountability Data (OMAD) of the wire.
PaymentNotification is the PaymentNotification of the wire.
Personal is personal demographic information.
PreviousMessageIdentifier is the PreviousMessageIdentifier of the wire.
PrimaryRemittanceDocument is primary remittance document.
Reader reads records from a ACH-encoded file.
ReceiptTimeStamp is the receipt time stamp of the wire.
ReceiverDepositoryInstitution {3400}.
RelatedRemittance is related remittance.
Remittance is the remittance information.
RemittanceAmount is remittance amount.
RemittanceBeneficiary is remittance beneficiary.
RemittanceData is remittance data.
RemittanceFreeText is the remittance free text.
RemittanceOriginator is remittance originator.
SecondaryRemittanceDocument is the date of remittance document.
SenderDepositoryInstitution {3100}.
SenderReference is the SenderReference of the wire.
SenderSupplied {1500}.
SenderToReceiver is the remittance information.
ServiceMessage is the ServiceMessage of the wire.
TagWrongLengthErr is the error given when a Tag is the wrong length.
TypeSubType {1510}.
UnstructuredAddenda is the unstructured addenda information.
ValidateOpts contains specific overrides from the default set of validations.
Writer struct.

# Type aliases

No description provided by the author
No description provided by the author