WO1999006931A1 - Electronic tax payment system - Google Patents

Electronic tax payment system Download PDF

Info

Publication number
WO1999006931A1
WO1999006931A1 PCT/US1998/014664 US9814664W WO9906931A1 WO 1999006931 A1 WO1999006931 A1 WO 1999006931A1 US 9814664 W US9814664 W US 9814664W WO 9906931 A1 WO9906931 A1 WO 9906931A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
computer
filer
batch
tax
Prior art date
Application number
PCT/US1998/014664
Other languages
French (fr)
Inventor
Lisa H. Donlavage
Douglas Swanson
Original Assignee
First Data Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by First Data Corporation filed Critical First Data Corporation
Priority to AU85714/98A priority Critical patent/AU8571498A/en
Publication of WO1999006931A1 publication Critical patent/WO1999006931A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Definitions

  • the present invention relates to the entry of tax data into a computer system and, more particularly, to the remote batch entry of multiple taxpayer enrollment and tax payment transactions into the Internal Revenue Service's Electronic Federal Tax Payment System.
  • the Electronic Federal Tax Payment System is an automated system for remitting federal tax payments to the Internal Revenue Service (IRS).
  • the EFTPS accepts and processes information for all types of federal tax payments from individuals, businesses, and third party filers (e.g., payroll processors, banks, or other fiduciaries that specialize in tax preparation and payment submittal on behalf of others).
  • the IRS and the Federal Management Service selected two banks to implement the EFTPS.
  • Each bank acting as a Treasury Financial Agent (TFA), has jurisdiction over a specific geographic region. Based on their principle location, electronic filers are assigned to the TFA that handles the region in which the filer is located.
  • Each TFA operates a Transaction Processing Server (TPS) on which its EFTPS application runs.
  • TPS Transaction Processing Server
  • a taxpayer Prior to remitting federal tax payments electronically, a taxpayer must be enrolled in the system. Once enrolled, the taxpayer (or a third party filer acting on the taxpayer's behalf) uses a front end interface to the EFTPS to submit the information necessary to make payments.
  • Several front end interfaces are presently available for communicating with the EFTPS.
  • the "Audio Response Unit” accepts payment data over a touch tone telephone.
  • the ARU collects the data related to a single payment through a series of prompts. Each payment transaction takes about two to three minutes to complete. While the ARU can accept multiple transactions in one session, it is an inefficient system for third party filers who submit more than ten transactions per day. Therefore, another front end interface to the EFTPS is available for electronic filers submitting more than ten transactions per day.
  • This interface implemented by computer software that runs on a personal computer, is referred to herein as the "PC Product.”
  • the PC Product collects the data for multiple tax payments. After all the data is entered, the PC Product's communications module transmits the data to the EFTPS.
  • the PC Product has a limit of 100 payments per transmission. Consequently, third party filers submitting more than 100 transactions must initiate multiple transmissions, once again resulting in inefficiencies.
  • Yet another front end interface to the EFTPS is, therefore, available to third party filers that submit more than 1,000 payment transactions on a peak day ("bulk filers").
  • This interface referred to herein as the “Bulk Filer Product,” supports a transmission capacity of 20,000 payment transactions in one session.
  • the Bulk Filer Product also provides functionality for electronically enrolling taxpayers in the
  • EFTPS eliminating the need to submit enrollment paperwork.
  • Electronic enrollment reduces the turnaround time between submitting an enrollment and receiving notification of the enrollment's status to a maximum of three days, compared with up to ten weeks (usually 10-28 days) for paper processing.
  • large volume third party filers e.g., those submitting more than 1,000 transactions per day
  • medium volume third party filers e.g., those submitting between 100 and 1,000 transactions per day.
  • a third party filer must process at least 1 ,000 payment transactions on a peak day.
  • medium volume filers can submit multiple payment transactions with the PC Product
  • the 100 transactions per transmission limit necessitates multiple transmissions, which reduces processing efficiency.
  • a method and apparatus are provided for facilitating the electronic submission of batch input to a tax system, such as the Electronic Federal Tax Payment System (EFTPS).
  • ETPS Electronic Federal Tax Payment System
  • Embodiments of the invention import and validate the data necessary to initiate enrollments and submit tax payments using a personal computer (PC).
  • PC personal computer
  • Embodiments of the invention include a communications module that transmits enrollment and payment transactions to the EFTPS and receives transaction confirmations or error messages in response.
  • Certain embodiments of the invention offer many advantages including, without limitation, the following: a system for accepting and validating that batch data input comprising taxpayer enrollment and tax payment transactions is properly formatted for subsequent processing; a system for verifying the number and total dollar amount of tax payments in a batch file prior to submitting the file for processing; a system for efficiently transmitting a batch of tax transactions for processing; a system for initiating and terminating taxpayer enrollment in the EFTPS; a system for receiving and reporting timely responses from the EFTPS; and a system incorporating communications software configured to connect with the EFTPS.
  • FIG. 1 illustrates a high level diagram of an embodiment of an Electronic Tax Payment System in which the invention might operate.
  • FIG. 2 shows a flow diagram of the major functions of one embodiment of the invention.
  • FIG. 3 shows a flow diagram of the file send procedure of one embodiment of the invention.
  • FIG. 4 shows a flow diagram of the file receive procedure of one embodiment of the invention.
  • FIG. 5 shows a flow diagram of the options procedure of one embodiment of the invention.
  • FIG. 6 shows a flow diagram of the test procedure of one embodiment of the invention.
  • FIG. 1 illustrates a high level diagram of an embodiment of an Electronic Tax Payment System 105 in which the present invention might operate.
  • Electronic Tax Payment System 105 includes any number of client personal computers (PCs), one of which is illustrated by Client PC 120.
  • Batch Filer Utility 122 is a file import/export utility that can be used by third party filers to exchange files electronically with the Electronic Federal Tax Payment System (EFTPS).
  • EFTPS Transaction Processing Server TPS
  • TPS 130 EFTPS Transaction Processing Server
  • VAN Value Added Network
  • MCI CompuServe or MCI
  • TPS 130 could also be referred to as a "host” and that Batch Filer Utility 122 could exchange files electronically with any electronic tax payment system (e.g., a state or local system).
  • TPS 130 could also be referred to as a "host” and that Batch Filer Utility 122 could exchange files electronically with any electronic tax payment system (e.g., a state or local system).
  • the term "user” refers to a third party filer using Batch Filer Utility 122.
  • the following description includes details about the content and structure* of files that a user exchanges with TPS 130 using Batch Filer Utility 122. The description also includes details about how a user implements and operates Batch Filer Utility 122. Tax Data Files
  • a user Prior to using Batch Filer Utility 122, a user creates tax data files that will be imported and transmitted to TPS 130 for processing by Batch Filer Utility 122.
  • the data within tax data files is organized into records, and basic rules ("basic tax data file rules") govern the number and contents of the records.
  • basic tax data file rules The following table includes examples of basic tax data file rules.
  • Each record must be an ASCII text string (i. e. , no formatting characters).
  • the data fields within a record must be of a fixed length (described in detail below for each file type).
  • Account Numbers must be entered either left justified and space filled to the right, or be right justified and zero filled to the left.
  • Batch Filer Utility 122 processes two types of tax data files: enrollment files and payment files. As the names suggest, enrollment files include the data needed to enroll taxpayers in the EFTPS, and payment files include the data needed to submit tax payments for those enrollees. As those skilled in the art understand, Batch Filer Utility 122 could process any other type of tax data file accepted by TPS 130.
  • Taxpayer Enrollment Files The following table illustrates a typical taxpayer enrollment record. Those skilled in the art will understand that the details of the format and content are dictated by what TPS 130 expects to receive. For example, one embodiment of Batch Filer Utility 122 only accepts two types of enrollment transactions, add and terminate. Other embodiments of Batch Filer Utility 122 could accept and send other enrollment transactions, such as change enrollment information, if such transactions are accepted by TPS 130.
  • the following table includes a column that describes the field edits performed by a Batch Filer Utility 122 payment data validation routine before sending a payment file to TPS 130. Details about data validation are included in the discussion of the File Menu Send item in the section entitled "File Menu.”
  • Tax Type Code Numeric Must be valid tax type code
  • Subcategory code 1 Numeric Not a required field, if present must be valid IRS code
  • Subcategory amount 1 Numeric 15 Not a required field, if present sum of subcategory amount must equal total payment amount
  • Subcategory code 5 Numeric Not a required field, if present must be valid IRS code Field Name Type Length Field Edits
  • Subcategory amount 5 Numeric 15 Not a required field, if present sum of subcategory amount must be equal total payment amount
  • Subcategory codes and amounts are optional. ' . f not using, put in spaces.
  • Batch Filer Utility 122 written in C++ and Visual Basic, is installed on a standard PC configured as follows:
  • Hardware Intel compatible personal computer with a minimum 486 processor.
  • Memory Minimum of 8 MB RAM (16 MB of RAM recommended).
  • Hard Disk Drive Minimum of 1.2 gigabyte of available disk space.
  • Operating System Microsoft Windows 3.1 or higher, or Microsoft NT 3.51 or higher.
  • Batch Filer Utility 122 can be developed with other programming tools (e.g., C or Windows 3.11 Resource Kit), can run under other operating systems (e.g. Unix or Macintosh), and can be installed on any appropriate hardware.
  • Batch Filer Utility 122 supports automated software installation. For example, a user installing the software in a Windows 3.1 environment simply has to insert the correct program disk in the drive, select File and Run from the Program Manager, and follow the directions displayed on the screen. The installation process loads files from the program disks on to the hard drive of client PC 120 and modifies any computer system files as necessary. For example, Batch Filer Utility 122 modifies the autoexec.bat file to include a share command line (e.g., c: ⁇ dos ⁇ share.exe /F:100 /L.100). Operating the Batch Filer Utility The following discussion describes an embodiment of Batch Filer Utility 122 implemented with design and functional features that are typical of Microsoft Windows applications.
  • a share command line e.g., c: ⁇ dos ⁇ share.exe /F:100 /L.100.
  • FIG. 2 shows a flow diagram of the major functions of one embodiment of Batch Filer Utility 122.
  • FIGS. 3-6 show flow diagrams of embodiments of procedures implementing those functions. The flow diagrams do not include endpoints at every branch because, as those skilled in the art understand, Microsoft Windows applications are generally event driven. In other words, a user executes procedures in any reasonable order, and after a procedure terminates it is up to the user to initiate the next action.
  • Main Menu When a user starts Batch Filer Utility 122 by selecting the corresponding application icon, a welcome message appears briefly on the screen and then the Main Menu is displayed in an application window.
  • the items on the Main Menu bar are the major Batch Filer Utility 122 functions: File, Tools, and Help.
  • Each Main Menu item has its own associated drop-down menu of items, and those items may, in turn, have associated drop-down menus.
  • the following notation is used herein to refer to successive levels on a menu: MainMenu
  • step 205 execution starts at step 205 when the user selects one of the Main Menu items.
  • execution continues at either step 210, 225, or 255, respectively.
  • the File Menu comprises a Send item for sending tax data files to TPS 130 for processing, a Receive item for receiving response files from TPS 130, and an Exit item for exiting Batch Filer Utility 122.
  • the File Menu comprises a Send item for sending tax data files to TPS 130 for processing, a Receive item for receiving response files from TPS 130, and an Exit item for exiting Batch Filer Utility 122.
  • Batch Filer Utility 122 works with many files, but it does not require any particular file names or directory structure. Thus, the user is free to store files in multiple directories.
  • Batch Filer Utility 122 For example, if the Batch Filer Utility 122 software is stored directory c: ⁇ batchfil, taxpayer enrollment files might be stored in directory c: ⁇ batchfil ⁇ enroll, tax payment files in directory c: ⁇ batchfil ⁇ taxpay, and response files in directory c: ⁇ batchfil ⁇ response.
  • directory c: ⁇ batchfil For example, if the Batch Filer Utility 122 software is stored directory c: ⁇ batchfil, taxpayer enrollment files might be stored in directory c: ⁇ batchfil ⁇ enroll, tax payment files in directory c: ⁇ batchfil ⁇ taxpay, and response files in directory c: ⁇ batchfil ⁇ response.
  • directories on local drives should be used (i.e., network drives should not be used).
  • this limitation may not apply.
  • Batch Filer Utility 122 needs the name and/or directory of a file (e.g. , in order to read or write a file), a dialog box is used to obtain the information.
  • Batch Filer Utility 122 obtains file names and directories.
  • Send The Send item on the File Menu is used to import and transmit enrollment and payment data files to TPS 130 for processing. If the user selects Send from the File Menu at step 210, execution continues at step 215 where Batch Filer Utility 122 executes a file send procedure, such as Send procedure 300 illustrated in FIG. 3.
  • Batch Filer Utility 122 obtains the type of the file (e.g., enrollment or payment) that the user wants to send to TPS 130 by displaying a drop-down menu with two items: Enrollment and Payment.
  • Batch Filer Utility 122 displays a dialog box that includes a "Send From” field into which the user enters the directory path and file name of the tax data file to send to TPS 130.
  • the "Send From” field initially reflects the default send directory and file name that the user enters from the Tools
  • the data validation routine records its results as text entries in an error file named bfimperr.txt, writing only as many entries as the user specified (with Options procedure 500, described below) for the maximum number of errors to display.
  • Batch Filer Utility 122 can stop validating the data when it reaches this limit, or continue to validate all the data records, regardless of how many errors it writes to the error file.
  • the user can process the error file with any appropriate tool (e.g., a word processor or spreadsheet program). Those skilled in the art will understand that the name of the error file is arbitrary.
  • another name could be used (e.g., errorchktxt), varying file names could be used (e.g., the data validation routine could generate a new name every time it runs), or the file name could be user defined (e.g., the user could enter the name of the error file in a dialog box).
  • the following illustrates an example of the contents of an error file for a tax data file without any errors.
  • the following illustrates an example of the contents of an error file for a tax data file containing errors.
  • Batch Filer Utility 122 stores the text of the error messages in a Microsoft Access database table. Embodiments of Batch Filer Utility 122 can process and/or report errors using error codes. Examples of error codes and messages are provided in "Table M: Error File Messages" of "Appendix A: Error Code Tables.” Those skilled in the art understand that other systems (e.g., other relational database systems or flat files) could be used to store this information. After generating the error file, execution continues at step 320, where Batch
  • Batch Filer Utility 122 determines whether the tax data file contained any errors. If there are errors, at step 325, Batch Filer Utility 122 displays an import error message such as "There were errors during import. Review the file C: ⁇ BATCHIL ⁇ BFIMPERR.TXT.” Then, at step 330, Batch Filer Utility 122 disables the option to transmit the tax data file to TPS 130 by, for example, disabling a Send button so that the only option the user has is to select a Cancel button and return to the Main Menu. The user must exit from Batch Filer Utility 122 and correct the errors before Batch Filer Utility 122 will send the tax data file to TPS 130.
  • Batch Filer Utility 122 determines that the tax data file did not contain any errors, execution continues at step 335 where the user can select Send to transmit the tax data file to TPS 130. While the file is being sent to TPS 130, Batch Filer Utility 122 reports the progress of the transmission by displaying messages in windows. For example, one window tracks the connection to TPS 130 (e.g., dialing host or initializing modem) and another window tracks how much of the tax data file has been sent (e.g. , by displaying a bar showing transmission percent complete). If the transmission completes successfully, the last message Batch Filer Utility 122 displays is one indicating that the transmission is complete.
  • TPS 130 e.g., dialing host or initializing modem
  • Batch Filer Utility 122 can stay connected while TPS 130 posts the payments and receive the response file during the same communications session. After receiving the payment response file, or after transmitting an enrollment file, Batch Filer Utility 122 disconnects from TPS 130 at step 345. Those skilled in the art will appreciate that if TPS 130 makes an enrollment response file available during the communications session in which the enrollment file is transmitted, Batch Filer Utility 122 could also receive that response file during the same session.
  • TPS 130 creates a response file for every tax data file the user sends for processing.
  • the name of a response file could be based on the date and sequence number of the corresponding tax data file. For example, the response file for the fourth tax data file sent on July 21, 1997 could be 19970721.004.
  • Response files include one response record for each corresponding tax data file record. The content of a response file record is, therefore, determined by the type of tax data file.
  • the Receive item on the File Menu is used to receive response files from TPS 130. After receiving a response file, the user can process it outside of Batch Filer Utility 122
  • the response file is exported
  • any appropriate tool e.g., a word processor or a spreadsheet program.
  • response records include an error code field (also referred to as a status code field), which indicates whether or not the transaction (e.g., enrollment or payment) was successful.
  • error code “0000” indicates a successful transaction.
  • Table J Enrollment Error Codes
  • Table K Payment Error Codes
  • Table F Enrollment Response Record Example
  • the user can stay connected when sending a payment file and receive the response file in the same communications session. However, if the communications connection is interrupted while TPS 130 is posting payments (e.g., the line drops or the user cancels the session), the user can use File
  • Batch Filer Utility 122 executes a file receive procedure, such as Receive procedure 400 illustrated in FIG. 4.
  • a file receive procedure such as Receive procedure 400 illustrated in FIG. 4.
  • Batch Filer Utility 122 obtains the type of the response file (e.g., enrollment or payment) that the user wants to receive from TPS 130 by displaying a drop-down menu with two items: Enrollment and Payment.
  • Batch Filer Utility 122 displays a dialog box that includes two fields into which the user enters the Batch Filer ID and the Master Inquiry PIN that were assigned when the user registered as a batch filer with the assigned Treasury Financial Agent (TFA).
  • TFA Treasury Financial Agent
  • Batch Filer Utility 122 gets the path of the directory into which it will store the response file(s) received from TPS 130.
  • Batch Filer Utility 122 displays a Responses dialog box that includes a "Store Response At” field, which initially reflects the default receive directory that the user enters from the Tools
  • Batch Filer Utility 122 also displays, on the left side of the Responses dialog box, a first list of dates and file sequence numbers corresponding to response files. To create this list, Batch Filer Utility 122 uses the information stored in the database described in "Database Utilities" in the section entitled “Tools Menu.” At step 420, if the user chooses to update this first list, Batch Filer Utility 122 connects to TPS 130, gets a current list of the dates and sequence numbers of response files available on TPS 130, disconnects, and updates the first list. At step 425, the user identifies entries on the first list to indicate which response files Batch Filer Utility 122 should retrieve from TPS 130.
  • the Tools Menu comprises an Options item for entering basic system information (e.g., default file names and communications data), a Test item for testing file-related functions (e.g., file import and send), and a Database Utilities item for maintaining a database containing a list of files processed by Batch Filer Utility 122 (e.g., files sent to TPS 130 and response files received from TPS 130).
  • basic system information e.g., default file names and communications data
  • a Test item for testing file-related functions (e.g., file import and send)
  • a Database Utilities item for maintaining a database containing a list of files processed by Batch Filer Utility 122 (e.g., files sent to TPS 130 and response files received from TPS 130).
  • execution continues at either step 230, 235, or 240, respectively.
  • Options for entering basic system information (e.g., default file names and communications data)
  • Test item for testing file-related functions
  • Database Utilities item for maintaining a database containing a
  • Batch Filer Utility 122 executes an options procedure, such as Options procedure 500 illustrated in FIG. 5.
  • Batch Filer Utility 122 determines which category of options the user wants to setup by displaying a dialog box that is divided into three tabs, one for each category: Send, Receive, and Communications.
  • execution continues at either step 510, 530, or 535 for Send, Receive, or Communications, respectively.
  • the Options Send tab displays a dialog box that is used to gather information related to sending files to TPS 130.
  • Batch Filer Utility 122 displays a dialog box with several fields. Execution continues at step 510 where Batch Filer Utility 122 gets the default directory path. The user can either type a file name in a "Default Directory" data field or use a Browse button to locate a directory. At steps 515 and 520, respectively, Batch Filer Utility 122 gets the default tax data file extension (e.g., txt) and default file name (e.g., import), which the user enters into appropriately labeled data fields.
  • txt default file name
  • Batch Filer Utility 122 uses these three entries (i.e., directory path, file extension, and file name) to construct the default directory and file name that is displayed in a "Send From" field on the File
  • Batch Filer Utility 122 gets the maximum number of errors to write to the error file that is generated by the data validation routines discussed in the description of File
  • the user types a number into a data field labeled "Maximum # of Errors to Display on Import.” If a user wants Batch Filer Utility 122 to report all errors, a very large number should be entered.
  • Other embodiments of Batch Filer Utility 122 can interpret specific values (e.g., 0 or -1) to mean that the user wishes to see all errors.
  • the Options Receive tab displays a dialog box used to gather information related to receiving files from TPS 130. If the user selects the Receive tab at step 505, execution continues at step 530 where Batch Filer Utility 122 gets the default directory path for receiving response files. The user can either type a file name in a "Default Directory” data field or use a Browse button to locate a directory. Batch Filer Utility 122 uses the entry as the default directory that is displayed in a "Store Response At" field on the File
  • the Options Communications tab displays a dialog box used to gather communications data needed prior to any communications with TPS 130. If the user selects the Communications tab at step 505, execution continues at step 535 where Batch Filer Utility 122 gets a communications time out, specified in seconds, from a data field. This time out controls how long Batch Filer Utility 122 will attempt to connect with TPS 130 before terminating a communications session.
  • the Options Communications tab dialog box also includes fields for displaying the current host (i.e., TPS 130) parameter values (e.g., IP address, port number, and site ID).
  • the dialog box also includes a Configure button for entering new data values for the host parameters, as well as for entering communications parameters (e.g., communications port and baud rate), modem type, and dial preferences (e.g., logon profile, host telephone number, user name, and password).
  • communications parameters e.g., communications port and baud rate
  • modem type e.g., modem type
  • dial preferences e.g., logon profile, host telephone number, user name, and password.
  • logon profile is simply a synonym for the host telephone number
  • the password field which controls access to TPS 130, is always blank.
  • Batch Filer Utility 122 uses Spry dialer communications software to communicate with TPS 130 and terminates communications by program control, rather than waiting for the Spry software to time out.
  • Batch Filer Utility 122 can use any appropriate communications software.
  • Batch Filer Utility 122 displays a Modem Setup dialog box including data fields into which the user enters data values.
  • Batch Filer Utility 122 gets the communications configuration data values. To ensure that it gets accurate and complete communications data, Batch Filer Utility 122 can take additional steps. First, some data values, such as the IP address and the port number, are pre-configured to eliminate user input errors. Second, if any required field (e.g., the primary telephone number) is blank, the user cannot save the configuration. Third, before accepting new data values, an extra dialog box is displayed to verify that the user wants to overwrite a previous setup.
  • Test The Test item on the Tools Menu is used to verify that the file import and send functions operate correctly by sending test tax data files to TPS 130. If the user selects Test from the Tools Menu at step 225, execution continues at step 235 where Batch Filer Utility 122 executes a test procedure, such as Test procedure 600 illustrated in FIG. 6, on a test tax data file. With only two exceptions, steps 605-645 are identical to steps 305-345 of Send procedure 300, discussed in detail in the Send portion of the section entitled "File Menu.” Thus, only the two exceptions are discussed in detail here. First, the test data validation procedures executed at step 615 require that the Batch Filer ID and PIN must be all nines (i.e., 999999999 and 9999).
  • the records in the test response file that Batch Filer Utility 122 receives at step 640 are not related to the records in the test tax data file that was sent at step 635.
  • the test response file for a test enrollment file contains a pre-defined set of records, some of which indicate completed enrollments and some of which indicate errors.
  • the test response file for a test payment file contains the same number of records as in the test payment file, but the contents of the records is randomly generated. If Batch Filer Utility 122 disconnects from TPS 130 before receiving a test response file, the user must send a test file again in order to receive a response file.
  • Batch Filer Utility 122 uses a Microsoft Access database table to keep track of tax data files sent to TPS 130 and response files sent from TPS 130. Examples of the columns and indexes used in this table are provided in "Table N: Response Files Table Columns” and “Table O: Response Files Table Indexes,” respectively, of "Appendix B: Response Files Table Design.” Batch Filer Utility 122 stores the database in a file called bfiler.mdb and maintains the database with the Access compress and repair utilities. As a safety precaution, Batch Filer Utility 122 makes a backup copy of the database (e.g., in a file named bfold.mdb) before executing either utility.
  • Table N Response Files Table Columns
  • Table O Response Files Table Indexes
  • step 240 Batch Filer Utility 122 determines which utility the user wants to execute by displaying a drop-down menu with two items: Compress and Repair. If the user selects Compress at step 240, execution continues at step 245 where Batch Filer Utility 122 executes the compress utility.
  • the compress utility is used to control the size of the database as it grows over a period of time due to records being added and deleted as files expire on TPS 130 (e.g., files expire and are deleted from TPS 130 after 30 days). However, the physical size of the database does not shrink as records are deleted.
  • the compress utility is used to reduce the physical size of the database by recovering any deleted record space in the database. Although Batch Filer Utility 122 does not require that the compress utility be used with any particular regularity, once a month is recommended.
  • Step 250 Batch Filer Utility 122 executes the repair utility.
  • the repair utility is used to attempt an automatic repair of a corrupted database. If a database access error occurs while Batch Filer Utility 122 is executing (e.g., cannot open bfiler.mdb), the user should try fixing the problem with the repair utility.
  • Help Menu If the user selects Help from the Main Menu, execution continues at step 255 on FIG. 2.
  • Online help is a standard Windows function that can be implemented in a variety of ways.
  • a typical Help Menu includes items such as "Contents,” “Search for Help On,” and "Index.”
  • Those skilled in the art will appreciate that an any customized help facility could be invoked from a Help Menu item, or alternatively that help could be provided by telephone support or a printed user's manual.
  • the invention is not limited to the embodiments described above.
  • the invention runs in a Windows NT 3.51 environment.
  • the following text is added to the end of the
  • GUIs graphical user interfaces
  • XI 1 windows environment interactive display of text-based menu lists of options
  • command line interfaces that obtain system input from parameters entered on the command line.

Abstract

According to the invention, a method and apparatus are provided for facilitating the electronic submission of batch input to a tax system, such as the Electronic Federal Tax Payment System (EFTPS). Embodiments of the invention import and validate the data necessary to initiate enrollments and submit tax payments using a personal computer. Embodiments of the invention include a communications module that transmits enrollment and payment transactions to the EFTPS and receives transaction confirmations or error messages in response.

Description

ELECTRONIC TAX PAYMENT SYSTEM Field of the Invention
The present invention relates to the entry of tax data into a computer system and, more particularly, to the remote batch entry of multiple taxpayer enrollment and tax payment transactions into the Internal Revenue Service's Electronic Federal Tax Payment System.
Background of the Invention The Electronic Federal Tax Payment System (EFTPS) is an automated system for remitting federal tax payments to the Internal Revenue Service (IRS). The EFTPS accepts and processes information for all types of federal tax payments from individuals, businesses, and third party filers (e.g., payroll processors, banks, or other fiduciaries that specialize in tax preparation and payment submittal on behalf of others). The IRS and the Federal Management Service selected two banks to implement the EFTPS. Each bank, acting as a Treasury Financial Agent (TFA), has jurisdiction over a specific geographic region. Based on their principle location, electronic filers are assigned to the TFA that handles the region in which the filer is located. Each TFA operates a Transaction Processing Server (TPS) on which its EFTPS application runs. The EFTPS application accepts electronic payments, passes the payment details to the IRS, and initiates the electronic transfer of funds into the United States Treasury account.
Prior to remitting federal tax payments electronically, a taxpayer must be enrolled in the system. Once enrolled, the taxpayer (or a third party filer acting on the taxpayer's behalf) uses a front end interface to the EFTPS to submit the information necessary to make payments. Several front end interfaces are presently available for communicating with the EFTPS.
One interface, the "Audio Response Unit" (ARU), accepts payment data over a touch tone telephone. The ARU collects the data related to a single payment through a series of prompts. Each payment transaction takes about two to three minutes to complete. While the ARU can accept multiple transactions in one session, it is an inefficient system for third party filers who submit more than ten transactions per day. Therefore, another front end interface to the EFTPS is available for electronic filers submitting more than ten transactions per day. This interface, implemented by computer software that runs on a personal computer, is referred to herein as the "PC Product." By means of an interactive graphical user interface, the PC Product collects the data for multiple tax payments. After all the data is entered, the PC Product's communications module transmits the data to the EFTPS. Although using the PC Product is more efficient than using the ARU for entering multiple electronic tax payments, the PC Product has a limit of 100 payments per transmission. Consequently, third party filers submitting more than 100 transactions must initiate multiple transmissions, once again resulting in inefficiencies.
Yet another front end interface to the EFTPS is, therefore, available to third party filers that submit more than 1,000 payment transactions on a peak day ("bulk filers"). This interface, referred to herein as the "Bulk Filer Product," supports a transmission capacity of 20,000 payment transactions in one session. The Bulk Filer Product also provides functionality for electronically enrolling taxpayers in the
EFTPS, eliminating the need to submit enrollment paperwork. Electronic enrollment reduces the turnaround time between submitting an enrollment and receiving notification of the enrollment's status to a maximum of three days, compared with up to ten weeks (usually 10-28 days) for paper processing. Given the features and limitations of the above-described interfaces to the
EFTPS, large volume third party filers (e.g., those submitting more than 1,000 transactions per day) are considered by some to have a competitive advantage in the third party tax payment services market compared with medium volume third party filers (e.g., those submitting between 100 and 1,000 transactions per day). First, to be eligible to submit multiple payment transactions with the Bulk Filer Product, a third party filer must process at least 1 ,000 payment transactions on a peak day. Although medium volume filers can submit multiple payment transactions with the PC Product, the 100 transactions per transmission limit necessitates multiple transmissions, which reduces processing efficiency. Second, because the PC Product does not support the electronic enrollment of taxpayers into the EFTPS, time consuming paper processing is required. Accordingly, there is a need for an improved interface for the electronic submission of input to a tax system that offers advantages over other interfaces.
Summary of the Invention According to the invention, a method and apparatus are provided for facilitating the electronic submission of batch input to a tax system, such as the Electronic Federal Tax Payment System (EFTPS). Embodiments of the invention import and validate the data necessary to initiate enrollments and submit tax payments using a personal computer (PC). Embodiments of the invention include a communications module that transmits enrollment and payment transactions to the EFTPS and receives transaction confirmations or error messages in response. Certain embodiments of the invention offer many advantages including, without limitation, the following: a system for accepting and validating that batch data input comprising taxpayer enrollment and tax payment transactions is properly formatted for subsequent processing; a system for verifying the number and total dollar amount of tax payments in a batch file prior to submitting the file for processing; a system for efficiently transmitting a batch of tax transactions for processing; a system for initiating and terminating taxpayer enrollment in the EFTPS; a system for receiving and reporting timely responses from the EFTPS; and a system incorporating communications software configured to connect with the EFTPS.
These and many other advantages of certain embodiments of the invention will become apparent to those skilled in the art from the detailed description below. Brief Description of the Drawings
An understanding of one or more embodiments of the invention may be gained by considering the following detailed description in conjunction with the accompanying drawings, in which:
FIG. 1 illustrates a high level diagram of an embodiment of an Electronic Tax Payment System in which the invention might operate. FIG. 2 shows a flow diagram of the major functions of one embodiment of the invention.
FIG. 3 shows a flow diagram of the file send procedure of one embodiment of the invention. FIG. 4 shows a flow diagram of the file receive procedure of one embodiment of the invention.
FIG. 5 shows a flow diagram of the options procedure of one embodiment of the invention.
FIG. 6 shows a flow diagram of the test procedure of one embodiment of the invention.
Detailed Description of Preferred Embodiment(s) FIG. 1 illustrates a high level diagram of an embodiment of an Electronic Tax Payment System 105 in which the present invention might operate. Electronic Tax Payment System 105 includes any number of client personal computers (PCs), one of which is illustrated by Client PC 120. Batch Filer Utility 122 is a file import/export utility that can be used by third party filers to exchange files electronically with the Electronic Federal Tax Payment System (EFTPS). In Electronic Tax Payment System 105, an embodiment of Batch Filer Utility 122 is installed on Client PC 120. Batch Filer Utility 122 communicates with an EFTPS Transaction Processing Server (TPS), one of which is illustrated by TPS 130. Communications between Batch Filer Utility 122 and TPS 130 take place over a Value Added Network (VAN) 125, such as one operated by CompuServe or MCI, using a communications protocol, such as Transmission Control Protocol/Internet Protocol (TCP/IP). Those skilled in the art understand that TPS 130 could also be referred to as a "host" and that Batch Filer Utility 122 could exchange files electronically with any electronic tax payment system (e.g., a state or local system).
Herein, the term "user" refers to a third party filer using Batch Filer Utility 122. The following description includes details about the content and structure* of files that a user exchanges with TPS 130 using Batch Filer Utility 122. The description also includes details about how a user implements and operates Batch Filer Utility 122. Tax Data Files
Prior to using Batch Filer Utility 122, a user creates tax data files that will be imported and transmitted to TPS 130 for processing by Batch Filer Utility 122. The data within tax data files is organized into records, and basic rules ("basic tax data file rules") govern the number and contents of the records. The following table includes examples of basic tax data file rules.
Table A: Basic Tax Data File Rules
1. No more than 750 records can be imported at a time.
2. Each record must be an ASCII text string (i. e. , no formatting characters).
3. The data fields within a record must be of a fixed length (described in detail below for each file type).
4. The Batch Filer ID, Master Inquiry ID, File Date, and File Sequence Number must be identical for all records in the file.
5. Account Numbers must be entered either left justified and space filled to the right, or be right justified and zero filled to the left.
6. No decimals, commas, or dollar signs should be used.
Those skilled in the art will appreciate that none of the basic tax data file rules are absolute Batch Filer Utility 122 requirements. For example, one rule that could be modified is the limit of 750 records per file. This limit is not a technical requirement; rather, it is imposed to ensure that one user does not monopolize a communications line for extended periods of time. Another rule that could be modified is the requirement that the data fields within a record have a fixed length. Instead, data could be stored in variable length fields separated by a unique character (e.g. , "*" or "I"). Still another rule that could be modified is the prohibition against decimals, commas, or dollar signs. These characters could simply be ignored when the data is processed.
Batch Filer Utility 122 processes two types of tax data files: enrollment files and payment files. As the names suggest, enrollment files include the data needed to enroll taxpayers in the EFTPS, and payment files include the data needed to submit tax payments for those enrollees. As those skilled in the art understand, Batch Filer Utility 122 could process any other type of tax data file accepted by TPS 130.
Taxpayer Enrollment Files The following table illustrates a typical taxpayer enrollment record. Those skilled in the art will understand that the details of the format and content are dictated by what TPS 130 expects to receive. For example, one embodiment of Batch Filer Utility 122 only accepts two types of enrollment transactions, add and terminate. Other embodiments of Batch Filer Utility 122 could accept and send other enrollment transactions, such as change enrollment information, if such transactions are accepted by TPS 130.
Table B: Enrollment Record Example
Figure imgf000008_0001
Figure imgf000009_0001
The following table includes a column that describes the field edits performed by a Batch Filer Utility 122 enrollment data validation routine before sending an enrollment file to TPS 130. Details about data validation are included in the discussion of the File Menu Send item in the section entitled "File Menu." Table C: Enrollment Record Field Edits
Figure imgf000009_0002
Figure imgf000010_0001
Figure imgf000011_0001
Figure imgf000012_0001
Tax Payment Files
The following table illustrates a typical tax payment record. Those skilled in the art will understand that the details of the format and content depend only on what TPS 130 expects to receive. For example, because Batch Filer Utility 122 only supports the submission of tax payments, payments must be canceled using other methods (e.g., the ARU). Other embodiments of Batch Filer Utility 122 could send cancel payment transactions.
Table D: Payment Record Example
Figure imgf000012_0002
Figure imgf000013_0001
The following table includes a column that describes the field edits performed by a Batch Filer Utility 122 payment data validation routine before sending a payment file to TPS 130. Details about data validation are included in the discussion of the File Menu Send item in the section entitled "File Menu."
Table E: Payment Record Field Edits
Figure imgf000013_0002
Field Name Type Length Field Edits
Tax Type Code Numeric Must be valid tax type code
Tax Period Numeric Must be valid date YYYYMM
Settlement Date Numeric Must be valid Settlement Date YYYYMMDD
Payment Amount Numeric 15 Must be greater than 0 and less than 100,000,000
Subcategory code 1 Numeric Not a required field, if present must be valid IRS code
Subcategory amount 1 Numeric 15 Not a required field, if present sum of subcategory amount must equal total payment amount
Subcategory code 2
Subcategory amount 2
Subcategory code 3
Subcategory amount 3
Subcategory code 4
Subcategory amount 4
Subcategory code 5 Numeric Not a required field, if present must be valid IRS code Field Name Type Length Field Edits
Subcategory amount 5 Numeric 15 Not a required field, if present sum of subcategory amount must be equal total payment amount
Note: Subcategory codes and amounts are optional. '. f not using, put in spaces.
Batch Filer Utility Implementation
Batch Filer Utility 122, written in C++ and Visual Basic, is installed on a standard PC configured as follows:
Hardware: Intel compatible personal computer with a minimum 486 processor.
Memory: Minimum of 8 MB RAM (16 MB of RAM recommended). Hard Disk Drive: Minimum of 1.2 gigabyte of available disk space. Operating System: Microsoft Windows 3.1 or higher, or Microsoft NT 3.51 or higher.
Modem: Hayes-compatible modem capable of running at 14.4 or higher. Those skilled in the art understand that alternative embodiments of Batch Filer Utility 122 can be developed with other programming tools (e.g., C or Windows 3.11 Resource Kit), can run under other operating systems (e.g. Unix or Macintosh), and can be installed on any appropriate hardware.
Batch Filer Utility 122 supports automated software installation. For example, a user installing the software in a Windows 3.1 environment simply has to insert the correct program disk in the drive, select File and Run from the Program Manager, and follow the directions displayed on the screen. The installation process loads files from the program disks on to the hard drive of client PC 120 and modifies any computer system files as necessary. For example, Batch Filer Utility 122 modifies the autoexec.bat file to include a share command line (e.g., c:\dos\share.exe /F:100 /L.100). Operating the Batch Filer Utility The following discussion describes an embodiment of Batch Filer Utility 122 implemented with design and functional features that are typical of Microsoft Windows applications. These features include: accepting user input from a mouse or keyboard; invoking Batch Filer Utility 122 by double-clicking on an icon representing the application; obtaining user input from dialog box fields; closing windows when the user clicks on an OK or Cancel button; providing Control Menu items that allow the user to resize and position windows (e.g., restore, move, size, minimize, close); and providing keyboard shortcut keys for menu items (e.g., Ctrl + O for the Options item on the Tools Menu). These and other standard Microsoft Windows features are well known to those skilled in the art and need not be described in detail here. See, for example, any Microsoft Windows User's Guide. The following detailed description of Batch Filer Utility 122, therefore, discusses only those features that are relevant to understanding how Batch Filer Utility 122 operates. For example, it is understood that windows can include OK and Cancel buttons so that the user can indicate whether Batch Filer Utility 122 should accept or ignore data just entered into a dialog box.
FIG. 2 shows a flow diagram of the major functions of one embodiment of Batch Filer Utility 122. FIGS. 3-6 show flow diagrams of embodiments of procedures implementing those functions. The flow diagrams do not include endpoints at every branch because, as those skilled in the art understand, Microsoft Windows applications are generally event driven. In other words, a user executes procedures in any reasonable order, and after a procedure terminates it is up to the user to initiate the next action.
Main Menu When a user starts Batch Filer Utility 122 by selecting the corresponding application icon, a welcome message appears briefly on the screen and then the Main Menu is displayed in an application window. The items on the Main Menu bar are the major Batch Filer Utility 122 functions: File, Tools, and Help. Each Main Menu item has its own associated drop-down menu of items, and those items may, in turn, have associated drop-down menus. The following notation is used herein to refer to successive levels on a menu: MainMenu|Menu2|Menu3, and so on. A user traverses a menu structure such as this by selecting menu items until reaching an item that invokes an action (e.g., displaying a dialog box or starting a procedure). Of course, as those skilled in the art know, no specific menu items or arrangement is required to implement Batch Filer Utility 122. Referring to FIG. 2, execution starts at step 205 when the user selects one of the Main Menu items. Depending on whether the user selects File, Tools, or Help, execution continues at either step 210, 225, or 255, respectively.
File Menu If the user selects File from the Main Menu, execution continues at step 210. The File Menu comprises a Send item for sending tax data files to TPS 130 for processing, a Receive item for receiving response files from TPS 130, and an Exit item for exiting Batch Filer Utility 122. Depending on whether the user selects Send, Receive, or Exit, execution continues at either step 215 or step 220, or execution terminates, respectively. Batch Filer Utility 122 works with many files, but it does not require any particular file names or directory structure. Thus, the user is free to store files in multiple directories. For example, if the Batch Filer Utility 122 software is stored directory c:\batchfil, taxpayer enrollment files might be stored in directory c:\batchfil\enroll, tax payment files in directory c:\batchfil\taxpay, and response files in directory c:\batchfil\response. However, to avoid conflicts with others using the communications functionality of Batch Filer Utility 122, only directories on local drives should be used (i.e., network drives should not be used). Depending on the communications software and configuration of an embodiment of Batch Filer Utility 122, this limitation may not apply. When Batch Filer Utility 122 needs the name and/or directory of a file (e.g. , in order to read or write a file), a dialog box is used to obtain the information. This allows the user to supply the information either by typing it in from the keyboard or by selecting a Browse button to invoke standard Windows file finding techniques. As< those skilled in the art realize, many alternative techniques can be used by Batch Filer Utility 122 to obtain file names and directories. Send. The Send item on the File Menu is used to import and transmit enrollment and payment data files to TPS 130 for processing. If the user selects Send from the File Menu at step 210, execution continues at step 215 where Batch Filer Utility 122 executes a file send procedure, such as Send procedure 300 illustrated in FIG. 3. Referring to FIG. 3, at step 305, Batch Filer Utility 122 obtains the type of the file (e.g., enrollment or payment) that the user wants to send to TPS 130 by displaying a drop-down menu with two items: Enrollment and Payment.
Next, at step 310, Batch Filer Utility 122 displays a dialog box that includes a "Send From" field into which the user enters the directory path and file name of the tax data file to send to TPS 130. The "Send From" field initially reflects the default send directory and file name that the user enters from the Tools| Options Send tab (described in "Options" in the section entitled "Tools Menu"). The user can change this default by typing a new directory path and/or file name into the field or by using the Browse button next to the field. If after entering the information the user selects Send, at step 315, Batch Filer
Utility 122 runs a data validation routine corresponding to the file type. In addition to verifying that a file complies with the criteria defined in "Table A: Basic Tax Data File Rules," the data validation routine performs the edit checks specific to the file type. The "Field Edits" columns of "Table C: Enrollment Record Field Edits" and "Table E: Payment Record Field Edits" illustrate criteria used for validating the data in an enrollment record and a payment record, respectively. Embodiments of Batch Filer Utility 122 data validation routines perform other checks including, but not limited to, verifying the number of records in the file or the total of payment amounts. Examples of errors that data validation routines might identify, and the corresponding corrective actions, are provided in "Table L: PC Error Corrective Actions" of "Appendix A: Error Code Tables."
The data validation routine records its results as text entries in an error file named bfimperr.txt, writing only as many entries as the user specified (with Options procedure 500, described below) for the maximum number of errors to display. As those skilled in the art will understand, Batch Filer Utility 122 can stop validating the data when it reaches this limit, or continue to validate all the data records, regardless of how many errors it writes to the error file. The user can process the error file with any appropriate tool (e.g., a word processor or spreadsheet program). Those skilled in the art will understand that the name of the error file is arbitrary. For example, another name could be used (e.g., errorchktxt), varying file names could be used (e.g., the data validation routine could generate a new name every time it runs), or the file name could be user defined (e.g., the user could enter the name of the error file in a dialog box).
The following illustrates an example of the contents of an error file for a tax data file without any errors.
File name: c:\batchfil\send\enrlldat.TXT FileDate: Jul 19, 1997 File Sequence : 101
RECORD ERROR
No Errors Encountered.
The following illustrates an example of the contents of an error file for a tax data file containing errors.
Figure imgf000019_0001
Batch Filer Utility 122 stores the text of the error messages in a Microsoft Access database table. Embodiments of Batch Filer Utility 122 can process and/or report errors using error codes. Examples of error codes and messages are provided in "Table M: Error File Messages" of "Appendix A: Error Code Tables." Those skilled in the art understand that other systems (e.g., other relational database systems or flat files) could be used to store this information. After generating the error file, execution continues at step 320, where Batch
Filer Utility 122 determines whether the tax data file contained any errors. If there are errors, at step 325, Batch Filer Utility 122 displays an import error message such as "There were errors during import. Review the file C:\BATCHIL\BFIMPERR.TXT." Then, at step 330, Batch Filer Utility 122 disables the option to transmit the tax data file to TPS 130 by, for example, disabling a Send button so that the only option the user has is to select a Cancel button and return to the Main Menu. The user must exit from Batch Filer Utility 122 and correct the errors before Batch Filer Utility 122 will send the tax data file to TPS 130.
If at step 320 Batch Filer Utility 122 determines that the tax data file did not contain any errors, execution continues at step 335 where the user can select Send to transmit the tax data file to TPS 130. While the file is being sent to TPS 130, Batch Filer Utility 122 reports the progress of the transmission by displaying messages in windows. For example, one window tracks the connection to TPS 130 (e.g., dialing host or initializing modem) and another window tracks how much of the tax data file has been sent (e.g. , by displaying a bar showing transmission percent complete). If the transmission completes successfully, the last message Batch Filer Utility 122 displays is one indicating that the transmission is complete.
How execution proceeds at this point depends on how TPS 130 processes the tax data file and generates the corresponding response file (described in "Receive" below). After sending a payment file, at step 340, Batch Filer Utility 122 can stay connected while TPS 130 posts the payments and receive the response file during the same communications session. After receiving the payment response file, or after transmitting an enrollment file, Batch Filer Utility 122 disconnects from TPS 130 at step 345. Those skilled in the art will appreciate that if TPS 130 makes an enrollment response file available during the communications session in which the enrollment file is transmitted, Batch Filer Utility 122 could also receive that response file during the same session.
Receive. TPS 130 creates a response file for every tax data file the user sends for processing. The name of a response file could be based on the date and sequence number of the corresponding tax data file. For example, the response file for the fourth tax data file sent on July 21, 1997 could be 19970721.004. Response files include one response record for each corresponding tax data file record. The content of a response file record is, therefore, determined by the type of tax data file. The Receive item on the File Menu is used to receive response files from TPS 130. After receiving a response file, the user can process it outside of Batch Filer Utility 122
(i.e., the response file is exported) with any appropriate tool (e.g., a word processor or a spreadsheet program).
The following tables illustrate typical response file records and field edits performed by TPS 130. In the following examples, response records include an error code field (also referred to as a status code field), which indicates whether or not the transaction (e.g., enrollment or payment) was successful. In these examples, the error code "0000" indicates a successful transaction. Additional examples of error codes and corresponding descriptions are provided in "Table J: Enrollment Error Codes" and "Table K: Payment Error Codes" of "Appendix A: Error Code Tables." Table F: Enrollment Response Record Example
Figure imgf000021_0001
Table G: Enrollment Response Record Field Edits
Field Name Type Length Field Edits
Batch Filer ID Numeric 9 Must be 9 digits
Figure imgf000022_0001
Figure imgf000023_0001
the payment has been processed. Otherwise, user receives an EFT number or an error code.
As describe above in "Send," the user can stay connected when sending a payment file and receive the response file in the same communications session. However, if the communications connection is interrupted while TPS 130 is posting payments (e.g., the line drops or the user cancels the session), the user can use File|Receive|Payment to retrieve the response file. The user uses File|Receive|Enrollment to retrieve the enrollment response files.
If the user selects Receive from the File Menu at step 210, execution continues at step 220 where Batch Filer Utility 122 executes a file receive procedure, such as Receive procedure 400 illustrated in FIG. 4. Referring to FIG. 4, at step 405, Batch Filer Utility 122 obtains the type of the response file (e.g., enrollment or payment) that the user wants to receive from TPS 130 by displaying a drop-down menu with two items: Enrollment and Payment. Next, at step 410, Batch Filer Utility 122 displays a dialog box that includes two fields into which the user enters the Batch Filer ID and the Master Inquiry PIN that were assigned when the user registered as a batch filer with the assigned Treasury Financial Agent (TFA). Execution continues at step 415, where Batch Filer Utility 122 gets the path of the directory into which it will store the response file(s) received from TPS 130. To obtain the directory path, Batch Filer Utility 122 displays a Responses dialog box that includes a "Store Response At" field, which initially reflects the default receive directory that the user enters from the Tools| Options Receive tab (described in "Options" in the section entitled "Tools Menu"). The user can change this receive directory path by typing a new path into the field or by using the Browse button next to the field.
At step 415 Batch Filer Utility 122 also displays, on the left side of the Responses dialog box, a first list of dates and file sequence numbers corresponding to response files. To create this list, Batch Filer Utility 122 uses the information stored in the database described in "Database Utilities" in the section entitled "Tools Menu." At step 420, if the user chooses to update this first list, Batch Filer Utility 122 connects to TPS 130, gets a current list of the dates and sequence numbers of response files available on TPS 130, disconnects, and updates the first list. At step 425, the user identifies entries on the first list to indicate which response files Batch Filer Utility 122 should retrieve from TPS 130. To select individual entries, the user clicks on an entry in the first list and then on a button marked ">." The selected entry appears in a second list of dates and file sequence numbers on the right side of the Responses dialog box. Alternatively, to select all of the entries on the first list, the user clicks on a button marked "»." Similarly, the user can deselect entries from the second list with buttons marked "<" and "«." Then, if the user selects OK, at step 430, Batch Filer Utility 122 connects to TPS 130 and retrieves the response files corresponding to the entries selected by the user. Lastly, at step 435, Batch Filer Utility 122 disconnects from TPS 130. Those skilled in the art are aware that myriad techniques for identifying response files to retrieve can be used by other embodiments of Batch Filer Utility 122.
Exit. If the user selects the Exit from the File Menu at step 210, execution terminates and the Batch Filer Utility 122 application window closes. Those skilled in the art know that alternative methods for exiting the application include selecting the Close item on the Main Menu or double-clicking on the Control Menu box or icon in the upper left corner of the Batch Filer Utility 122 application window.
Tools Menu If the user selects Tools from the Main Menu, execution continues at step 225 on FIG. 2. The Tools Menu comprises an Options item for entering basic system information (e.g., default file names and communications data), a Test item for testing file-related functions (e.g., file import and send), and a Database Utilities item for maintaining a database containing a list of files processed by Batch Filer Utility 122 (e.g., files sent to TPS 130 and response files received from TPS 130). Depending on whether the user selects Options, Test, or Database Utilities, execution continues at either step 230, 235, or 240, respectively. Options. If the user selects Options at step 225, execution continues at step 230 where Batch Filer Utility 122 executes an options procedure, such as Options procedure 500 illustrated in FIG. 5. Referring to FIG. 5, at step 505, Batch Filer Utility 122 determines which category of options the user wants to setup by displaying a dialog box that is divided into three tabs, one for each category: Send, Receive, and Communications. Depending on which tab the user selects, execution continues at either step 510, 530, or 535 for Send, Receive, or Communications, respectively. Those skilled in the art are aware that other embodiments of Batch Filer Utility 122 could use techniques, such as additional drop down menus, to organize the options categories. The Options Send tab displays a dialog box that is used to gather information related to sending files to TPS 130. If the user selects the Send tab at step 505, Batch Filer Utility 122 displays a dialog box with several fields. Execution continues at step 510 where Batch Filer Utility 122 gets the default directory path. The user can either type a file name in a "Default Directory" data field or use a Browse button to locate a directory. At steps 515 and 520, respectively, Batch Filer Utility 122 gets the default tax data file extension (e.g., txt) and default file name (e.g., import), which the user enters into appropriately labeled data fields. Batch Filer Utility 122 uses these three entries (i.e., directory path, file extension, and file name) to construct the default directory and file name that is displayed in a "Send From" field on the File| Send|Enrollment and File| Send|Payment dialog boxes.
At step 525, Batch Filer Utility 122 gets the maximum number of errors to write to the error file that is generated by the data validation routines discussed in the description of File|Send. The user types a number into a data field labeled "Maximum # of Errors to Display on Import." If a user wants Batch Filer Utility 122 to report all errors, a very large number should be entered. Other embodiments of Batch Filer Utility 122 can interpret specific values (e.g., 0 or -1) to mean that the user wishes to see all errors.
The Options Receive tab displays a dialog box used to gather information related to receiving files from TPS 130. If the user selects the Receive tab at step 505, execution continues at step 530 where Batch Filer Utility 122 gets the default directory path for receiving response files. The user can either type a file name in a "Default Directory" data field or use a Browse button to locate a directory. Batch Filer Utility 122 uses the entry as the default directory that is displayed in a "Store Response At" field on the File|Receive|Enrollment and File|Receive|Payment Responses dialog boxes.
The Options Communications tab displays a dialog box used to gather communications data needed prior to any communications with TPS 130. If the user selects the Communications tab at step 505, execution continues at step 535 where Batch Filer Utility 122 gets a communications time out, specified in seconds, from a data field. This time out controls how long Batch Filer Utility 122 will attempt to connect with TPS 130 before terminating a communications session.
The Options Communications tab dialog box also includes fields for displaying the current host (i.e., TPS 130) parameter values (e.g., IP address, port number, and site ID). The dialog box also includes a Configure button for entering new data values for the host parameters, as well as for entering communications parameters (e.g., communications port and baud rate), modem type, and dial preferences (e.g., logon profile, host telephone number, user name, and password). In one embodiment of Batch Filer Utility 122, the logon profile is simply a synonym for the host telephone number, and the password field, which controls access to TPS 130, is always blank. One embodiment of Batch Filer Utility 122 uses Spry dialer communications software to communicate with TPS 130 and terminates communications by program control, rather than waiting for the Spry software to time out. As will be apparent to those skilled in the art, Batch Filer Utility 122 can use any appropriate communications software. At step 540, if the user selects the Configure button, Batch Filer Utility 122 displays a Modem Setup dialog box including data fields into which the user enters data values. At step 545, if the user accepts the data values by selecting a Save button, Batch Filer Utility 122 gets the communications configuration data values. To ensure that it gets accurate and complete communications data, Batch Filer Utility 122 can take additional steps. First, some data values, such as the IP address and the port number, are pre-configured to eliminate user input errors. Second, if any required field (e.g., the primary telephone number) is blank, the user cannot save the configuration. Third, before accepting new data values, an extra dialog box is displayed to verify that the user wants to overwrite a previous setup.
Test. The Test item on the Tools Menu is used to verify that the file import and send functions operate correctly by sending test tax data files to TPS 130. If the user selects Test from the Tools Menu at step 225, execution continues at step 235 where Batch Filer Utility 122 executes a test procedure, such as Test procedure 600 illustrated in FIG. 6, on a test tax data file. With only two exceptions, steps 605-645 are identical to steps 305-345 of Send procedure 300, discussed in detail in the Send portion of the section entitled "File Menu." Thus, only the two exceptions are discussed in detail here. First, the test data validation procedures executed at step 615 require that the Batch Filer ID and PIN must be all nines (i.e., 999999999 and 9999). Second, the records in the test response file that Batch Filer Utility 122 receives at step 640 are not related to the records in the test tax data file that was sent at step 635. The test response file for a test enrollment file contains a pre-defined set of records, some of which indicate completed enrollments and some of which indicate errors. The test response file for a test payment file contains the same number of records as in the test payment file, but the contents of the records is randomly generated. If Batch Filer Utility 122 disconnects from TPS 130 before receiving a test response file, the user must send a test file again in order to receive a response file.
Database Utilities. Batch Filer Utility 122 uses a Microsoft Access database table to keep track of tax data files sent to TPS 130 and response files sent from TPS 130. Examples of the columns and indexes used in this table are provided in "Table N: Response Files Table Columns" and "Table O: Response Files Table Indexes," respectively, of "Appendix B: Response Files Table Design." Batch Filer Utility 122 stores the database in a file called bfiler.mdb and maintains the database with the Access compress and repair utilities. As a safety precaution, Batch Filer Utility 122 makes a backup copy of the database (e.g., in a file named bfold.mdb) before executing either utility. Those skilled in the art understand that any appropriately named files could be used to store the database and backup. Those skilled in the art also understand that other systems (e.g., other relational database systems or flat files) and utilities (e.g., custom coded database maintenance routines) could be used to keep track of the files.
If the user selects Database Utilities at step 225, execution continues at step 240 where Batch Filer Utility 122 determines which utility the user wants to execute by displaying a drop-down menu with two items: Compress and Repair. If the user selects Compress at step 240, execution continues at step 245 where Batch Filer Utility 122 executes the compress utility. The compress utility is used to control the size of the database as it grows over a period of time due to records being added and deleted as files expire on TPS 130 (e.g., files expire and are deleted from TPS 130 after 30 days). However, the physical size of the database does not shrink as records are deleted. The compress utility is used to reduce the physical size of the database by recovering any deleted record space in the database. Although Batch Filer Utility 122 does not require that the compress utility be used with any particular regularity, once a month is recommended.
If the user selects Repair at step 240, execution continues at step 250 where Batch Filer Utility 122 executes the repair utility. The repair utility is used to attempt an automatic repair of a corrupted database. If a database access error occurs while Batch Filer Utility 122 is executing (e.g., cannot open bfiler.mdb), the user should try fixing the problem with the repair utility.
Help Menu If the user selects Help from the Main Menu, execution continues at step 255 on FIG. 2. Online help is a standard Windows function that can be implemented in a variety of ways. A typical Help Menu includes items such as "Contents," "Search for Help On," and "Index." Those skilled in the art will appreciate that an any customized help facility could be invoked from a Help Menu item, or alternatively that help could be provided by telephone support or a printed user's manual.
Other Embodiments The invention is not limited to the embodiments described above. In another embodiment, the invention runs in a Windows NT 3.51 environment. In this embodiment, the following text is added to the end of the
<systemroot>\system32\ras\switch.inj 'file (where systemroot is the directory in which the system software is installed (e.g., c:\win351). ; This section provides log on script for connection to CompuServe. ; (an after dialing script)
[EFTPSBF] COMMAND=
COMMAND =<cr>
OK =<match>":" ; Waits for CompuServe's Host Prompt. LOOP=<ignore>
COMMAND=IPS000<cr> ; Replace [YOUR...] with Desired Host Name.
OK =<match>"~" ; Waits for start of PPP Neg. LOOP=<ignore>
Other embodiments of the invention could use any appropriate user interface. Such interfaces include, but are by no means limited to, other graphical user interfaces (GUIs), such as the XI 1 windows environment; interactive display of text-based menu lists of options; and command line interfaces that obtain system input from parameters entered on the command line.
It will be appreciated by those skilled in the art that further embodiments of the invention may be made without departing from the spirit and scope of the invention as described herein. Such embodiments are intended to be within the scope of the appended claims.
Appendix A: Error Code Tables Table J: Enrollment Error Codes
Figure imgf000031_0001
Figure imgf000032_0001
Figure imgf000033_0001
Figure imgf000034_0001
Table K: Payment Error Codes
Figure imgf000035_0001
Error Codes Description Comments
5122 Warning: Duplicate EFTPS Warning Message. Payment Accepted A duplicate payment is suspected but will be processed.
5123 Invalid Taxpayer PIN Correct the problem and submit a new payment
5124 Invalid TIN Correct the problem and submit a new payment
5125 Payment transaction is being processed after 8 pm ET and the Settlement Date is the next calendar day
5126 Sum of the Subcategory Correct the problem and Amounts not equal to submit a new payment Payment amount
5127 Taxpayer not enrolled for Correct the problem and ACH Debit submit a new payment
5128 Master Account not active Correct the problem and submit a new payment
5129 Invalid Master Inquiry PIN Correct the problem and submit a new payment
5130 Invalid File Date (< or = to Correct the problem and today's date within submit a new payment 5 business days)
5131 Invalid Filer Sequence Correct the problem and Number submit a new payment
5132 Invalid Payment Reference Correct the problem and Number submit a new payment
Figure imgf000037_0001
Table L: PC Error Corrective Actions Error Type: E = Enrollment, P = Payment, and B = Both
Figure imgf000038_0001
Figure imgf000039_0001
Figure imgf000040_0001
Figure imgf000041_0001
Figure imgf000042_0001
Figure imgf000043_0001
Figure imgf000044_0001
Figure imgf000045_0001
Enrollment: 0000, 4001-4009, 4012, 4019, 4020, 4025, 4029, 4031, 4032, 4036,
4037, 4038, 9999.
Payment: 5103, 5106, 5111, 5113, 5114, 5122, 5125, 5127, 5128, 5136, 5137,
5138, 5139, 9999.
Table M: Error File Messages
Figure imgf000046_0001
Figure imgf000047_0001
Appendix B: Response Files Table Design Table N: Response Files Table Columns BatchFilerlD Type = Text Size = 9
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Description: The Batch filer ID
Ordinal Position: 1
Required: No
Source Field: BatchFilerlD
Source Table: tblResponseFileList
Validate On Set: No
MasterlnquiryPIN Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: General
Column Width: 1815
Data Updatable: No
Description: MIP
Input Mask: Password
Ordinal Position: 2
Required: No
Source Field: MasterlnquiryPIN
Source Table: tblResponseFileList
Validate On Set: No FileDesignator Type = Text Size = 8
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Description: will be YYYYMMDD
Ordinal Position: 3
Required: No
Source Field: FileDesignator
Source Table: tblResponseFileList
Validate On Set: No
FilerSeqNum Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Description: 001-999
Ordinal Position: 4
Required: No
Source Field: FilerSeqNum
Source Table: tblResponseFileList
Validate On Set: No
Type Type = Text Size = l
Allow Zero Length: No
Attributes: Variable Length Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: 585
Data Updatable: No
Description: E-Enrollment P-Payment
Ordinal Position: 5
Required: No
Source Field: Type
Source Table: tblResponseFileList
Validate On Set: No
DateSent Type = Date/Time Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: 960
Data Updatable: No
Description: The date the file was sent
Ordinal Position: 6
Required: No
Source Field: DateSent
Source Table: tblResponseFileList
Validate On Set: No Table O: Response Files Table Indexes
FileDate # of Fields = 1
Clustered: No
Distinct Count: 0
Foreign: No
Ignore Nulls: No
Name: FileDate
Primary: No
Required: No
Unique: No
Fields: FileDesignator, Ascending
FilerSeqNum # of Fields = 1
Clustered: No
Distinct Count: 0
Foreign: No
Ignore Nulls: No
Name: FilerSeqNum
Primary: No
Required: No
Unique: No
Fields: FilerSeqNum, Ascending

Claims

What is claimed is: 1. A method for facilitating electronic payment of taxes, comprising the steps of: (a) identifying, on a first computer, a file including tax data for a taxpayer; (b) validating that said tax data meets pre-defined criteria; and (c) sending said file to a second computer, said second computer enabling electronic payment of taxes by said taxpayer.
2. The method of claim 1 wherein said first computer is a personal computer.
3. The method of claim 1 wherein said second computer is a server for an electronic tax payment system.
4. The method of claim 3 wherein said server is a transaction processing server for an electronic federal tax payment system.
5. The method of claim 1 wherein said file includes tax data for a plurality of taxpayers.
6. The method of claim 1 wherein said first computer includes a communications module, wherein said communications module is pre-configured with a parameter for communications with said second computer.
7. The method of claim 6 wherein said parameter is an IP address of said second computer.
8. The method of claim 6 wherein said parameter is a port number of said second computer.
9. The method of claim 1 wherein said pre-defined criteria includes a data format edit.
10. The method of claim 9 wherein said data format edit is a nine digit taxpayer identification number (TIN).
11. The method of claim 9 wherein said data format edit is a four digit taxpayer personal identification number (PIN).
12. The method of claim 1 wherein said pre-defined criteria includes a data content edit.
13. The method of claim 12 wherein said data content edit is a valid settlement date.
14. The method of claim 12 wherein said data content edit is valid tax type code.
15. The method of claim 12 wherein said data content edit is valid tax period.
16. The method of claim 1 wherein said enabling electronic payment of taxes includes enrolling said taxpayer for future payments.
17. The method of claim 1 wherein said enabling electronic payment of taxes includes initiating electronic payment.
18. A method for precluding electronic payment of taxes, comprising the steps of: (a) identifying, on a first computer, a file including tax data for a taxpayer; (b) validating that said tax data meets pre-defined criteria; and (c) sending said file to a second computer, said second computer disabling electronic payment of taxes by said taxpayer.
19. A system for facilitating electronic payment of taxes, comprising: (a) control logic configured to identify, on a first computer, a file including tax data for a taxpayer; (b) control logic configured to validate that said tax data meets pre- defined criteria; and (c) control logic configured to send said file to a second computer, said second computer enabling electronic payment of taxes by said taxpayer.
PCT/US1998/014664 1997-08-04 1998-07-20 Electronic tax payment system WO1999006931A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU85714/98A AU8571498A (en) 1997-08-04 1998-07-20 Electronic tax payment system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US90543797A 1997-08-04 1997-08-04
US08/905,437 1997-08-04

Publications (1)

Publication Number Publication Date
WO1999006931A1 true WO1999006931A1 (en) 1999-02-11

Family

ID=25420816

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/014664 WO1999006931A1 (en) 1997-08-04 1998-07-20 Electronic tax payment system

Country Status (2)

Country Link
AU (1) AU8571498A (en)
WO (1) WO1999006931A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234103B1 (en) 2000-04-26 2007-06-19 Accenture Llp Network-based tax framework database
US7603301B1 (en) 2000-04-26 2009-10-13 Accenture Llp Verification and printing of a tax return in a network-based tax architecture
US20120303495A1 (en) * 2005-01-14 2012-11-29 Taxnet Inc. User interface for tax-return preparation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138549A (en) * 1989-04-28 1992-08-11 Dabco Computer Services, Inc. Automated tax deposit processing system
US5193057A (en) * 1988-01-21 1993-03-09 Beneficial Franchise Company Inc. Electronic income tax refund early payment system with means for creating of a new deposit account for receipt of an electronically transferred refund from the irs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193057A (en) * 1988-01-21 1993-03-09 Beneficial Franchise Company Inc. Electronic income tax refund early payment system with means for creating of a new deposit account for receipt of an electronically transferred refund from the irs
US5138549A (en) * 1989-04-28 1992-08-11 Dabco Computer Services, Inc. Automated tax deposit processing system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SRAEEL H: "Paying Uncle Sam electronically: banks, corporates plan for EFTPS", BANK SYSTEMS + TECHNOLOGY, JAN. 1995, USA, vol. 32, no. 1, ISSN 1045-9472, pages 20, 22, XP002085618 *
STEINBORN D: "NAFTA also brings you electronic taxes", ABA BANKING JOURNAL, JULY 1994, USA, vol. 86, no. 7, ISSN 0194-5947, pages 66, 68 - 69, XP002085619 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234103B1 (en) 2000-04-26 2007-06-19 Accenture Llp Network-based tax framework database
US7603301B1 (en) 2000-04-26 2009-10-13 Accenture Llp Verification and printing of a tax return in a network-based tax architecture
US20120303495A1 (en) * 2005-01-14 2012-11-29 Taxnet Inc. User interface for tax-return preparation
US8412606B2 (en) * 2005-01-14 2013-04-02 Taxnet Inc. User interface for tax-return preparation

Also Published As

Publication number Publication date
AU8571498A (en) 1999-02-22

Similar Documents

Publication Publication Date Title
US8005743B2 (en) Electronic trading confirmation system
US7356541B1 (en) Processing business data using user-configured keys
US5424938A (en) Method and apparatus for providing access to a plurality of payment networks
US7647322B2 (en) System and method for retrieving and displaying data, such as economic data relating to salaries, cost of living and employee benefits
US9400777B2 (en) Management data processing system and method
US7584146B1 (en) Consumer credit data storage system
AU2020277145A1 (en) Customizable trading display of market data
US7899679B2 (en) Workflow management system and method
US8060434B1 (en) Computer systems, methods, and devices for trading with an ergonomic interface
US7778902B2 (en) Method and apparatus for a new accounts program
US7729959B1 (en) Web-based entry of financial transaction information and subsequent download of such information
US7451134B2 (en) Method and apparatus for facilitating data management over a network
US8538857B2 (en) Online trading system having real-time account opening
US20040049436A1 (en) Payroll automation system
US20040030649A1 (en) System and method of application processing
US20060106706A1 (en) Apparatus and method for document processing
WO2000052619A1 (en) A system and method for conducting securities transactions over a computer network
WO1998019265A1 (en) Method and system for automatically harmonizing access to a software application program via different access devices
EP1676189A2 (en) Application processing and decision systems and processes
JP2011170490A (en) SaaS GENERAL ACCOUNTING SYSTEM
MXPA02008347A (en) Interactive search process for product inquiries.
US20070089065A1 (en) Secondary navigation
US20040015422A1 (en) Ministry specialized insurance transaction object oriented system and method
WO2000070493A2 (en) Structured finance performance analytics system
KR20010095986A (en) Internet-based investment broking server and investment broking method thereof

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HR HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: JP

Ref document number: 1999510963

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase