WO1999009504A1 - Interactive tax payment system - Google Patents

Interactive tax payment system Download PDF

Info

Publication number
WO1999009504A1
WO1999009504A1 PCT/US1998/016741 US9816741W WO9909504A1 WO 1999009504 A1 WO1999009504 A1 WO 1999009504A1 US 9816741 W US9816741 W US 9816741W WO 9909504 A1 WO9909504 A1 WO 9909504A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
eftps
tax
column
user
Prior art date
Application number
PCT/US1998/016741
Other languages
French (fr)
Inventor
Lisa H. Donlavage
Scott Taylor
Michael Mason
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 AU87808/98A priority Critical patent/AU8780898A/en
Publication of WO1999009504A1 publication Critical patent/WO1999009504A1/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
    • 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 interactive entry and validation of multiple tax payment transactions prior to submission to an electronic 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 submirtal 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)
  • TFA Transaction Processing Server
  • TPS Transaction Processing Server
  • 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.
  • 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.
  • 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.
  • 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.
  • Other front end interfaces to the EFTPS are available to third party filers for electronically submitting multiple transactions that have been previously entered into a computer system.
  • One computer system based on EDI, is available to "bulk filers” who submit more than 1 ,000 payment transactions on a peak day.
  • Another computer system which imports and transmits ASCII text files over a Value Added Network, is recommended for "batch filers" who submit payments for at least fifty taxpayers enrolled in EFTPS.
  • Neither of these systems provides for interactive data entry or error detection and correction. Without such interactive capabilities, input errors can easily go undetected until after a large set of data is entered and validated, either manually or by a separate computer program. This process can be inefficient because data entry personnel must alternate between data entry and data validation until all errors are detected and corrected. Examples of data entry errors include missing required data entries, invalid tax form numbers, invalid combinations of tax form and payment period, payment detail amounts not totaling payments, and invalid requested settlement dates.
  • a method and apparatus are provided for facilitating the interactive entry and validation of data prior to electronic submission to a tax system, such as the Electronic Federal Tax Payment System (EFTPS).
  • ETPS Electronic Federal Tax Payment System
  • Embodiments of the invention run on a personal computer and collect the data for multiple tax payments by means of an interactive graphical user interface.
  • Embodiments of the invention include data editing capabilities, data validation, and payment data reports.
  • Embodiments of the invention include a communications module that transmits payment data to the EFTPS and receives a confirmation or error message in response.
  • Certain embodiments of the invention offer many advantages including, without limitation, the following: • a system for interactively accepting and validating data input comprising tax payment transactions;
  • FIG. 1 illustrates a high level diagram of an embodiment of an electronic tax payment system in which the invention might operate.
  • FIG. 2 illustrates an example of the structure of a "business event" that an embodiment of the invention might use to submit data for a tax payment to an electronic tax payment system.
  • FIG. 3 illustrates an example of the structure of a "remote message block" that an embodiment of the invention might use to submit one or more business events to an electronic tax payment system.
  • FIG. 4 shows a flow diagram of an example of a communications interaction between a client personal computer implementing an embodiment of the invention and a transaction processing server of an electronic tax payment system.
  • FIG. 5 shows a flow diagram of the major functions of one embodiment of the invention.
  • FIG. 6 illustrates an example of an "enter payments" screen that an embodiment of the invention might use to obtain tax payment data from a user.
  • FIG. 7 illustrates an example of a "summary view" screen that an embodiment of the invention might use to display a summary of previously entered tax payment data.
  • FIG. 8 shows a flow diagram of the unsent payments procedure of one embodiment of the invention.
  • FIG. 9 shows a flow diagram of the send procedure of one embodiment of the invention.
  • FIG. 10 shows a flow diagram of the file import procedure of one embodiment of the invention.
  • FIG. 11 shows a flow diagram of the file export procedure of one embodiment of the invention.
  • FIG. 1 illustrates a high level diagram of an embodiment of an Electronic Tax
  • 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.
  • EFTPS-PC 122 is a software application that taxpayers and third party filers can use to exchange information electronically with the Electronic Federal Tax Payment System (EFTPS).
  • EFTPS-PC 122 In Electronic Tax Payment System 105, an embodiment of EFTPS-PC 122 is installed on Client PC 120.
  • EFTPS-PC 122 communicates with an EFTPS Transaction Processing Server (TPS), one of which is illustrated by TPS 130. Communications between EFTPS-PC 122 and TPS 130 take place over a Value Added Network (VAN) 125, such as one operated by CompuServe or MCI, using a dial up point to point protocol (PPP)
  • VAN Value Added Network
  • PPPP dial up point to point protocol
  • TPS 130 could also be referred to as a "host," that other communications protocols accepted by TPS 130 could be used, and that EFTPS-PC 122 could exchange information electronically with any electronic tax payment system (e.g., a state or local system).
  • the term "user” refers to a third party filer using EFTPS-PC 122.
  • the following sections discuss the communications protocol and process that EFTPS-PC 122 uses to communicate with TPS 130 and describe in detail how EFTPS-PC 122 is implemented and operated by a user on Client PC 120. 1. COMMUNICATIONS PROTOCOL This section describes the communications protocol that EFTPS-PC 122 and
  • TPS 130 use to exchange data, which is referred to herein as "tax data.”
  • tax data The systems exchange tax data in units that are referred to herein as “transactions” or “business events,” such as Business Event (BE) 210, illustrated in FIG. 2.
  • business Event 210 includes information that the systems use to process the tax data.
  • Business Event 210 includes two components: a header component (e.g., BE Header 212) and a data component (e.g., BE Data 214).
  • a Business Event 210 that EFTPS-PC 122 sends to TPS 130 includes tax data for processing (a "send Business Event 210").
  • a Business Event 210 that TPS 130 sends in response (a "response Business Event 210") includes a return code that indicates the status of the corresponding send Business Event 210.
  • EFTPS-PC 122 and TPS 130 exchange one or more business events, such as Business Event 210, in a Remote Message Block (RMB) 310, such as the one illustrated in FIG. 3.
  • RMB 310 and Business Event 210 are discussed in detail in the following sections.
  • RMB 310 includes Transmission Header 312 and one or more Business Events 210, each including BE Header 212 and BE Data 214.
  • EFTPS-PC 122 observes the following rules in building and transmitting RMBs 310 to TPS 130: • RMB 310 sent by EFTPS-PC 122 should not exceed 4k bytes in size (this limit does not apply to RMB 310 sent by TPS 130). • Business Event 210 should not span multiple RMBs 310.
  • EFTPS-PC 122 typically transmits between 1 and 10 full RMBs 310 in one communications session with TPS 130.
  • these rules are not EFTPS-PC 122 requirements; rather, the rules reflect TPS 130 specifications.
  • the limit of 100 Business Events 210 per transmission is imposed by TPS 130 to ensure that one user does not monopolize a communications line for extended periods of time.
  • Embodiments of EFTPS-PC 122 could send more than 100 Business Events 210 in a communications session.
  • embodiments of EFTPS-PC 122 could build an RMB 310 containing more than 10 Business Events 210.
  • Transmission Header 312 consists of information that is required in every
  • RMB 310 transmission to facilitate the movement of RMB 310 to and from TPS 130.
  • the following table illustrates the format and content of Transmission Header 312. A more detailed description of each of the fields follows the table.
  • Transmit Constant is an identification used by TPS 130 to detect the type of communications service being conducted; EFTPS-PC 122 sets the value to
  • Return Code is returned by TPS 130 as "0000" to indicate acceptance of the transaction or another number indicating an error; EFTPS-PC 122 sets the value to "0000.”
  • a list of return codes is provided in the following table.
  • Chain ID is set to 0 by EFTPS-PC 122; TPS 130 can return messages that are over the 4k bytes limit and, therefore, be forced to break RMB 310 into sections.
  • a "1" indicates that this is the first or middle part of this chain and a "0" indicates that this is the end.
  • Character Set designates the type of data string. This is a binary field. A hexadecimal value of x'00' indicates EBCDIC and a value of x'01' indicates
  • Cyclic Redundancy Code is an additive checksum calculation binary number.
  • the CRC is generated on the content of RMB 310 following
  • the CRC must conform to the CCITT CRC-32
  • Sequence Number is defined by EFTPS-PC 122; RMB 310 sent in response by TPS 130 has the same sequence number. Vendor ID Number is a certification number provided to a software vendor whose support capabilities and embodiment of EFTPS-PC 122 satisfy minimum requirements set by the Treasury Financial Agent. TPS 130 will reject any payment made by a non-certified EFTPS-PC 122. Date/Time Stamp must be made in the
  • Data Length is the total number of bytes of RMBs 310 that follow Transmission Header 312 (i.e., not including Transmission Header 312).
  • Table B Transmission Header Return Codes
  • Every Business Event 210 comprises one BE Header 212 and one BE Data 214.
  • BE Header 212 provides the information that defines every Business Event 210 within an RMB 310.
  • the following table illustrates the format and content of Business Event 210. A more detailed description of each of the fields follows the table.
  • Remote Version is a constant that indicates the version level of the EFTPS
  • Sequence Number is assigned by EFTPS-PC 122 and is a unique ID for each
  • Business Event 210 It designates the order of Business Event 210 within
  • RMB 310 It is important to note that Business Events 210 within RMB 310 may not be passed back from TPS 130 in the same order sent by
  • EFTPS-PC 122 Therefore, EFTPS-PC 122 must be capable of using the sequence numbers of BE Header 212 to re-order Business Events 210.
  • Encryption/Decryption ID is set to "00" as no encryption is used for
  • Compression ID is set to "00" as no compression is used for Business
  • Event 210 (currently TPS 130 does not support any compression methods).
  • Site Identification is a string that identifies the physical location of the system sending the transaction (currently TPS 130 does not use this information).
  • Login ID is provided to identify individual networked users at a site.
  • Return Code is returned by TPS 130 as a "0000" to indicate acceptance of the transaction or another number indicating an error; EFTPS-PC 122 sets the value to "0000.”
  • a list of return codes is provided in the following table.
  • Data Length is the total number of bytes in BE Data 214.
  • every Business Event 210 comprises one BE Header 212 and one BE Data 214.
  • the data in BE Data 214 is organized as a series of fields, with each field structured as a "data information block.”
  • Table E Data Information Block
  • Table E Data Information Block
  • Table E Data Information Block
  • Table G Send Business Event Data Example
  • Data Tag is the data tag ID for the field being passed.
  • Table F Send Business Event Data
  • Data Format is the format of the data. Currently all values for this field are 0.
  • Data Length is the length of the data stream in bytes. The following table,
  • Table F Send Business Event Data
  • Data Stream is the value of the field being sent.
  • EFTPS-PC 122 constructs one data information block for each field. EFTPS-PC 122 derives the Tax Type and Payment Reason fields from a five digit Tax Code that represents the combination of the Tax Form and Reason Code entered by the user. For example, if the user enters "706GS(D)" as the Tax Form and "7" as the Reason Code, the applicable Tax Code is "70627.” EFTPS-PC 122 uses the first four digits of the Tax Code (i.e., "7062") for the Tax Type and the fifth digit (i.e., "7") for the Reason Code. Examples of five digit Tax Codes are given in the Tax Code Conversion tables in "Appendix A: Tax Form Reference Information.” Details regarding data entry are included in the section entitled "Enter Function.”
  • TPS 130 responds to RMB 310 sent from EFTPS-PC 122 by sending a corresponding RMB 310 including response Business Events 210 that indicate a successful or unsuccessful transaction.
  • the data in BE Data 214 of a response Business Event 210 is organized in one or more data information blocks.
  • Table H Response Business Event Data
  • Table H provides examples of the content of data information blocks in a response Business Event 210 sent from TPS 130. It is important to note that Business Events 210 within RMB 310 sent from TPS 130 may not be in the same order as the corresponding Business Events 210 sent by EFTPS-PC 122. Therefore, EFTPS-PC 122 uses the sequence numbers in BE Header 212 to re-order Business Events 210.
  • Each response Business Event 210 contains one of the following: (1) an EFT number (BE Header 212 return code will be zero), (2) an EFT number with a settlement date (BE Header 212 return code will be zero), or (3) an error return (BE Header 212 return code will be non-zero).
  • EFTPS-PC 122 can look up the corresponding message text in a table (e.g. , "Table J: Response Business Event Error Codes") or extract the message text from response Business Event 210, if TPS 130 included the text.
  • Table H Response Business Event Data
  • EFT Number is a fifteen character alphanumeric string sent from TPS 130 if the payment has been accepted. This string is the only verification that the transaction was processed.
  • Settlement Date is the date used for the tax payment if the requested settlement date was not accepted.
  • the settlement date is returned with an EFT number.
  • Error Return is used if Business Event 210 has a non-zero return code.
  • the error return field data stream in the data information block of response is used if Business Event 210 has a non-zero return code.
  • BE Data 214 contains three sub-fields, as described in the following table.
  • Return's data information block i.e., the sub-fields are not in separate data information blocks.
  • the fields are concatenated together in a single block in the order shown.
  • EFTPS-PC 122 could accommodate other data submission requirements that TPS 130 might have.
  • FIG. 4 shows a flow diagram of an example of a communications interaction between the systems in which two sets of RMBs 310 are exchanged.
  • TPS 130 is listening for incoming TCP/IP messages.
  • EFTPS-PC 122 uses a modem to dial TPS 130, at step 406 the modem connects, and at step 408 EFTPS-PC 122 follows any login procedure that TPS 130 requires.
  • EFTPS-PC 122 makes a TCP/IP connection to the IP address for TPS 130, and TPS 130 accepts the connection at step 412.
  • EFTPS-PC 122 sends a Transaction Initiation Message (TIM) to TPS 130, which TPS 130 receives at step 416.
  • TIM Transaction Initiation Message
  • EFTPS-PC 122 transmits the TIM once prior to sending the first RMB 310.
  • the TIM is a fifty byte ASCII string, the contents of which are provided to software vendors when they register with a Treasury Financial Agent to develop EFTPS-PC 122 software.
  • TPS 130 does not send a response to the TIM, so EFTPS-PC 122 can start sending RMBs 310 if TCP/IP indicates that the TIM transmission was successful.
  • TPS 130 may transmit broadcast messages to EFTPS-PC 122 at the time the connection is initially made, and therefore, EFTPS-PC 122 receives and displays any broadcast messages from TPS 130 before sending the first RMB 310.
  • EFTPS-PC 122 and TPS 130 exchange information sequentially. Execution continues at step 418 when EFTPS-PC 122 sends a first RMB 310 (including send Business Events 210 containing tax data), which is received by TPS 130 at step 420.
  • TPS 130 processes the tax data, and at step 422 TPS 130 sends a first response RMB 310, which EFTPS-PC 122 receives at step 424. This sequential exchange repeats for the second RMB 310, as illustrated in steps 426-432. After receiving the final response RMB 310, EFTPS-PC 122 hangs up the modem at step 434.
  • FIG. 4 illustrates the exchange of two sets of RMBs 310; however, those skilled in the art will understand that additional sets could be exchanged by repeating steps 426-432. Further, those skilled in the art will understand that embodiments of EFTPS-PC 122 could use any communications process accepted by TPS 130.
  • EFTPS-PC 122 is installed on a standard personal computer (PC) configured as follows:
  • Hard Disk Drive Minimum of 7MB of available disk space.
  • Operating System Microsoft Windows 3.1 or higher.
  • Modem Hayes-compatible modem capable of running at a minimum 9600 baud rate (faster baud rate is recommended).
  • EFTPS-PC 122 The key functionality of EFTPS-PC 122 is implemented with Microsoft Access, a relational database system; a portion of the communications module is implemented in the C programming language.
  • EFTPS-PC 122 could be implemented using other data input and storage systems (e.g., spreadsheet programs), using other relational database systems (e.g., Oracle or Informix), or using other programming languages (e.g., C++ or Visual Basic).
  • Other embodiments of EFTPS-PC 122 could run under other operating systems (e.g. Unix or Macintosh) and could be installed on any appropriate hardware.
  • EFTPS-PC 122 supports automated software installation.
  • 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.
  • EFTPS-PC 122 implemented with design and functional features that are common in Microsoft Windows applications. These features include: accepting user input from a mouse or keyboard; starting EFTPS-PC 122 when the user double-clicks on an application icon; obtaining user input from dialog box fields; providing Control Menu items that allow the user to close or restore a window; and executing EFTPS-PC 122 options when the user selects an option button.
  • 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 EFTPS-PC 122 discusses only those features that are specific to EFTPS-PC 122 functionality and operation.
  • EFTPS-PC 122 stores information (e.g., data input by a user and lists of tax types or error codes) in tables, which are stored in one or more Access databases. EFTPS-PC 122 processes this information using standard Access features and capabilities (e.g., queries, forms, reports, macros, and modules). Because such features and capabilities are well known to those skilled in the art, only those that are unique to EFTPS-PC 122 are discussed herein.
  • a user could select a particular data record from a set of displayed records by clicking on a record pointer button or, alternatively, a user could scroll through a set of records using a record selector bar. It is also understood that a user can navigate between screens by selecting an appropriately labeled button (e.g., a Back button) to return to the previous screen. For additional information, see the Microsoft Access User's Guide or the Access online help function.
  • FIG. 5 shows a flow diagram of the major functions of one embodiment of EFTPS-PC 122.
  • the flow diagram does not indicate a next action at the end of the function branches because, as those skilled in the art understand, Microsoft Windows applications are generally event driven.
  • a user performs EFTPS-PC 122 functions in any reasonable order, and after a function terminates it is up to the user to initiate the next action.
  • EFTPS-PC 122 functionality is divided into two components.
  • One component “Make Payments” includes functionality for making payments and performing administrative tasks.
  • the other component “Repair and Compress” is used for repairing and maintaining EFTPS-PC 122 databases.
  • icons corresponding to the two components are displayed.
  • EFTPS-PC 122 functionality could be divided into additional components or combined in one component. The following sections describe EFTPS-PC 122 functionality in detail.
  • EFTPS-PC 122 presents a Main Menu as a window including a set of buttons. Each button corresponds to, and allows the user to invoke, one of the EFTPS-PC 122 major functions: Enter, View, Edit, Send, Administration, and Exit. The View, Edit, and Administration functions are, in turn, further divided into sub-functions. Thus, when the user selects View, Edit, or Administration, EFTPS-PC 122 presents a Sub-Menu window that includes buttons for the appropriate sub-functions. EFTPS-PC 122 also uses a menu bar at the top of many windows to provide standard windows menu items including: File, Search, and Help. Some menu bars also include a User item, which is specific to EFTPS-PC 122.
  • This item allows the user to invoke a View Special Fields function for entering and viewing optional user fields, discussed in the section entitled "Enter Function.”
  • Other techniques can be used to allow the user to select an EFTPS-PC 122 function.
  • EFTPS-PC 122 could allow a user to select a function from a drop-down menu list or from a dialog box radio button.
  • EFTPS-PC 122 obtains the user's name and password, which together form the user's logon.
  • EFTPS-PC 122 verifies that the logon is valid. If the logon is invalid, EFTPS-PC 122 displays an error message and allows the user to try again or cancel the logon procedure. Once a valid logon is obtained, EFTPS-PC 122 displays the EFTPS-PC 122 Main Menu.
  • EFTPS-PC 122 could use other logon procedures, or might not require a logon procedure at all.
  • step 510 Execution continues at step 510 when the user selects one of the Main Menu major functions: Enter, View, Edit, Send, Administration, or Exit. Each of these functions is described in detail in the following sections.
  • EFTPS-PC 122 collects tax data as ASCII input and stores it in an Access database table (e.g., a payments table). Each row in such a table (i.e., each record) includes columns of tax data entries (i.e., tax data fields). EFTPS-PC 122 uses other Access database tables for internal functions such as temporary storage and data validation. All of these tables, which are referred to herein collectively as the "EFTPS-PC 122 database,” are described in detail in "Appendix B: Database Tables.” As those skilled in the art understand, other embodiments of EFTPS-PC 122 could use alternative database table designs.
  • EFTPS-PC 122 displays a data entry screen, such as Enter Payments screen 600, illustrated in FIG. 6, to accept data entered by the user. If EFTPS-PC 122 requires that the user enter data for a particular tax data field (i.e., a required data field), a corresponding data entry field is displayed. For example, if Taxpayer Identification Number (TIN), Personal Identification Number (PIN), Tax Form, Reason Code, Tax Period, Amount, Verification Code, and Requested Settlement Date are required tax data fields, data entry fields 602, 604, 606, 608, 610, 612, 614, and 616 appear on Enter Payments screen 600.
  • TIN Taxpayer Identification Number
  • PIN Personal Identification Number
  • Reason Code Reason Code
  • Tax Period i.e., Amount
  • Verification Code Verification Code
  • EFTPS-PC 122 also accepts tax data for payment detail fields that are unique to specific tax forms, such as FICA Equivalent Amount, Industry Amount, and Supplemental Amount for a CT-1 tax form. EFTPS-PC 122 displays an additional dialog box, such as Payment Detail 618, on Enter Payments screen 600 to accept payment detail tax data.
  • EFTPS-PC 122 In addition to tax data that EFTPS-PC 122 accepts for submission to TPS 130, EFTPS-PC 122 allows the user to display, and enter data for, two optional user fields, such as User Field 1 620 and User Field 2 622.
  • the data in these optional fields is used solely by the user (i.e., the data is not used by EFTPS-PC 122 or sent to TPS 130).
  • an accounting firm uses EFTPS-PC 122 to collect and submit tax payment data for its clients, data used for sorting the tax data records can be entered in these user fields.
  • the user selects the View Special Fields item from the User item on the Enter function window's menu bar. Data for the user fields can be entered in all records or in only a few.
  • EFTPS-PC 122 could provide for additional user fields or other extended capabilities (i.e., capabilities beyond those required for collecting and submitting tax data to TPS 130).
  • embodiments of EFTPS-PC 122 could accept and send other tax data, such as data needed to enroll a taxpayer in EFTPS, if such data is accepted by TPS 130.
  • the user can enter data by typing it into a data entry field.
  • EFTPS-PC 122 presents the user with an associated set of choices from which the user can select one entry.
  • EFTPS-PC 122 presents choices for the Tax Form and Reason Code fields on drop-down selection lists.
  • the user can enter amounts with or without a dollar sign or decimal point. If necessary, EFTPS-PC 122 adds a dollar sign and decimal point (after multiplying the amount by 100) to an amount data field display when the input focus moves to another data entry field.
  • EFTPS-PC 122 validates that the data entries satisfy validity criteria. For example, EFTPS-PC 122 verifies that each required data field contains an entry. EFTPS-PC 122 also validates data entries according to rules, such as those in the following table. If a required data field is empty, or if any data field contains invalid data, EFTPS-PC 122 displays an error message on the screen. Those skilled in the art know that EFTPS-PC 122 can validate data entries according to any appropriate rules, in any appropriate order (e.g., as each entry is made or after several entries are made). In some cases, the validity of one entry is dependent upon another entry (e.g., the validity of a Reason Code entry or a Tax Period entry depends on the corresponding Tax Form entry).
  • EFTPS-PC 122 uses the Verification Code to ensure that the user enters a payment amount correctly.
  • the Verification Code entry for $3,650.31 is 24.
  • Verification Code is a two digit number, if necessary, a leading zero is added (e.g., the code for a sum of 9 is 09) or the first digit is dropped (e.g., the code for the sum of 136 is 36).
  • EFTPS-PC 122 can use any appropriate method to verify a payment amount entry.
  • EFTPS-PC 122 provides several buttons on Enter Payments screen 600 to allow the user to specify how the tax data record should be handled. Referring to FIG. 6, if an "X" appears in Ready To Send indicator box 624, EFTPS-PC 122 submits the tax data record in the next transmission to TPS 130. The user can turn off the "X,” and hold the payment, by clicking on Ready To Send indicator box 624. To save the current tax data record the user selects a Save This Payment Record button, and to delete the current tax data record the user selects a Delete button. As discussed above in the section entitled "Remote Message Block," TPS 130 may impose a limit of 100 Business Events 210 in a each RMB 310.
  • EFTPS-PC 122 limits the number of tax data records in the EFTPS-PC 122 database at any one time to 100 records, including any combination of new, held, and previously transmitted records.
  • EFTPS-PC 122 does not allow the user to enter more records.
  • the user could, for example, send records that are ready for transmission and then delete those records that are accepted by TPS 130.
  • the user could export completed records to an archival file as discussed in the section entitled "Administration Function" and delete them from the EFTPS-PC 122 database.
  • EFTPS-PC 122 could allow the user to store any reasonable number of records in the EFTPS-PC 122 database and simply limit the number of records that the user selects for transmission, as necessary.
  • EFTPS-PC 122 invokes standard Access functions to display a summary report of the tax data records in summary form (for the Summary View option) and to allow the user to view individual records sequentially (for the detail view options).
  • EFTPS-PC 122 displays information about the status of the records in the EFTPS-PC 122 database.
  • EFTPS-PC 122 displays a screen such as Summary View screen 700, illustrated in FIG. 7. Each record is displayed on one line, and an arrowhead in the leftmost column points to the active record.
  • the columns on Summary View screen 700 contain the data values for the following data fields:
  • Column 702 Payment ID is the last four digits of an eleven digit number that EFTPS-PC 122 assigns sequentially to tax data records. EFTPS-PC 122 uses these last four digits as the sequence number in BE Header 212 of Business Event 210 that contains the tax data for the record. This eleven digit sequence number is reset to "1" after the database is compressed. The section entitled “Repair and Compress Icon” discusses the Access Compress command.
  • Tax Period is the period for the transaction.
  • Amount is the amount of money to be paid.
  • Request Settle Date is the date requested for settlement of the transaction.
  • Sent is the number of times the record has been sent. A "0" indicates that the record has never been transmitted.
  • EFT Number is a 15-digit number indicating that the record has been successfully transmitted to TPS 130. If no number appears, the record needs to be sent or edited and sent again. The user should make a note of this number because it is the only acknowledgment TPS 130 provides for a successful transaction.
  • NOEFT is an indicator that there is no EFT number for this record.
  • An "X" in this column indicates that EFTPS-PC 122 sent the record to
  • EFTPS-PC 122 invokes standard Access functions to retrieve and display the records for a particular View function option. In addition to the fields for which the user entered data with the Enter function, the following fields are also displayed: Actual Settlement Date, EFT Number, Last Modified By (indicating a user name), and override indicators (described in the section entitled "Edit Function"). For rejected payments, the reason for the rejection is displayed as a message at the bottom of the display. If multiple messages exist, the user can scroll through them.
  • EFTPS-PC 122 presents the user with two buttons, one for each Edit function option: (1) Unsent Payments and (2) Rejected Payments. EFTPS-PC 122 invokes standard Access functions to display the appropriate records for the option and to allow the user to navigate through the records in order to edit individual data fields. Unsent Payments. If the user selects the Unsent Payments button,
  • EFTPS-PC 122 executes a procedure for editing unsent payments, such as Unsent Payments procedure 800, illustrated in FIG. 8.
  • Unsent Payments procedure 800 illustrated in FIG. 8.
  • EFTPS-PC 122 opens a "payments" form to display a screen for editing payments that is similar to Enter Payments screen 600, illustrated in FIG. 6.
  • EFTPS-PC 122 selects the records that are marked in the EFTPS-PC 122 database as "unsent.”
  • EFTPS-PC 122 sets the editing property so that the user can only edit data fields or delete records. If the user wants to add new records, the Enter function is used.
  • EFTPS-PC 122 turns on the Access navigation capabilities at step 808 and sets the caption of the window to "Edit Unsent Payments" at step 810.
  • EFTPS-PC 122 sets to visible (i. e. , displays) data fields that are not displayed on Enter Payments screen 600. These fields include Payment ID (which is displayed to the left of TIN data field 602), along with User Field 1 620 and User Field 2 622, described above.
  • Payment ID which is displayed to the left of TIN data field 602
  • User Field 1 620 User Field 1 620
  • User Field 2 622 described above.
  • override indicator boxes are displayed below Ready To Send indicator box 624.
  • the override indictors which are selected and deselected in the same way as Ready To Send indicator box 624, are used to implement an Override function, which allows the user to override certain of the standard limits as follows:
  • Override Tax Type When a taxpayer enrolls in the EFTPS program, the taxpayer is pre-qualified to enter data for certain tax types. If a record is rejected because the taxpayer is not qualified for that tax type, the user can select this option and resubmit the record.
  • Override Threshold When the amount of the tax payment exceeds the limit (as pre-defined by the taxpayer during enrollment) for a tax form type, the payment may be rejected. The user can select this option to override the amount threshold and then resubmit the record.
  • TPS 130 automatically rejects duplicate records. If EFTPS-PC 122 sent a record but did not receive a response, it is possible that TPS 130 received the information, but was unable to transmit a response due to a communications problems. If the user resubmits the payment and a duplicate record error is returned, the user can select this option to resubmit the record.
  • Override FUTA The user can select this option to override FUTA standard limits.
  • Override Filing Period The user can select this option to override the filing periods for a particular tax form.
  • EFTPS-PC 122 executes a procedure analogous Unsent Payments procedure 800. EFTPS-PC 122 simply substitutes a "No Acknowledgment Query" for the "Unsent Query" at step 804. Note that in order to resubmit a record containing previously rejected payment data, the user needs to enter the PIN again. If the PIN is not present when the user tries to resubmit the record, a dialog box appears listing those records missing PINs. If this occurs, the user returns to the Edit function and enters PINs for the identified records.
  • EFTPS-PC 122 displays a screen, such as Summary View screen 700, so that the user can review and/or edit the data before it is sent to TPS 130.
  • a screen such as Summary View screen 700
  • EFTPS-PC 122 displays an Edit Payments screen and allows the user to edit the selected record, as described in the section entitled "Edit Function," provided that the user has editing access.
  • the user selects a Back button to return to Summary View screen 700.
  • EFTPS-PC 122 At any point prior to sending the tax data, if the user wants to hold back any records from being sent to TPS 130, the user can remove the "X" in Ready column 716 for those records. When the user is ready to send the selected tax data records, the user selects a Send button. As a precaution, EFTPS-PC 122 verifies that the user wants to transmit the data. If the user selects an OK button, EFTPS-PC 122 executes a procedure for sending tax data to TPS 130, such as Send procedure 900, illustrated in FIGS. 9 A and 9B. Referring to FIG. 9, EFTPS-PC 122 initializes the communications session at step 905.
  • EFTPS-PC 122 sends a Transaction Initiation Message (TIM), as described previously in the section entitled “Communications Process Overview.”
  • TIM Transaction Initiation Message
  • EFTPS-PC 122 verifies that the TIM was sent successfully, and if it was not, EFTPS-PC 122 generates an error message at step 920, before exiting the procedure. If the TIM was sent successfully, execution continues at step 925 where EFTPS-PC 122 constructs Transmission Header 312 for RMB 310, as described above in the section entitled "Remote Message Block.”
  • EFTPS-PC 122 starts a loop through the tax data records being sent to TPS 130. For each tax data record, EFTPS-PC 122 constructs one Business
  • EFTPS-PC 122 stores in RMB 310 until RMB 310 is ready to send. Specifically, before constructing the next Business Event 210, at step 930 EFTPS-PC 122 checks to see if RMB 310 is ready to send by testing if (1) the next Business Event 210 will put RMB 310 over the 4k bytes size limit, (2) RMB 310 already includes ten Business Events 210, or (3) there are no more Business
  • EFTPS-PC 122 builds the next Business Event 210 and stores it in RMB 310, at step 935. EFTPS-PC 122 continues with the loop at step 930.
  • These tests express the rules for building RMB 310 discussed in the section entitled "Remote Message Block.” As noted in that section, these rules reflect TPS 130 specifications and, therefore, other embodiments of Send procedure 900 could use other tests at step 930.
  • EFTPS-PC 122 sends RMB 310 to TPS 130 at step 940.
  • EFTPS-PC 122 verifies that RMB 310 was sent successfully, and if it was not, EFTPS-PC 122 generates an error message at step 950, before exiting the procedure. If RMB 310 was sent successfully, execution continues at step 955 where EFTPS-PC 122 receives a response RMB 310 from TPS 130, using a blocking read with a time out.
  • EFTPS-PC 122 If EFTPS-PC 122 does not receive a response RMB 310 before a time out, at step 965 EFTPS-PC 122 generates an error message, before exiting the procedure. If EFTPS-PC 122 does receive a response RMB 310, at step 960 EFTPS-PC 122 processes the response Business Events 210. EFTPS-PC 122 then checks if there are any more Business Events 210 to send to TPS 130. If there are no more (i.e., all the tax data records have been processed), execution ends. Otherwise, execution continues with the loop at step 930.
  • EFTPS-PC 122 disables its other features and displays a screen with the status of the data being sent and received.
  • the status screen is removed and the user can continue to use EFTPS-PC 122 or exit the application.
  • TPS 130 Client PC 120 or by problems with VAN 125. If transmission is interrupted after TPS 130 receives RMB 310 from EFTPS-PC 122, but before TPS 130 sends a response, the user may not know which tax data records have been accepted. If RMB 310 is resubmitted and it contains tax data records that TPS 130 has already received, the user will need to use the Override Duplicate indicator discussed in the section entitled "Edit Function.” 4.2.5. Administration Function The Administration function is used to perform several EFTPS-PC 122 administrative tasks. If the user selects Administration at step 510 of FIG. 5, execution continues at step 535 where EFTPS-PC 122 presents the user with six buttons, one for each Administration option: (1) Print Summary Report,
  • Print Summary Report This option prints a copy of the record summary report displayed with the Summary View button, described in the section entitled "View Function.”
  • Import/Export This option imports records in a batch mode or exports records to an archival file. All data is imported and exported as an ASCII string in either a comma-delimited or fixed-field format. This means that each record is stored as a single line of characters in which the fields are separated by commas or have a defined length. Examples of import and export data file formats are included in
  • Appendix C Import/Export Data Files.
  • the user can create an import data file with any appropriate tool (e.g., a word processor or a spreadsheet program) that can format the data as required by EFTPS-PC 122.
  • any appropriate tool e.g., a word processor or a spreadsheet program
  • EFTPS-PC 122 presents the user with eight buttons, one for each Import Export option: (1) Export All Records To Fixed Field Width File, (2) Export Sent Records to Fixed Field Width File, (3) Export Acknowledged Records to Fixed Field Width File, (4) Export All Records to Comma Delimited File, (5) Export Sent Records to Comma Delimited File, (6) Export Acknowledged Records to Comma Delimited File, (7) Import From Fixed Field Width File, and (8) Import From Comma Delimited Field File.
  • EFTPS-PC 122 When the user selects any of the Import/Export options, EFTPS-PC 122 displays a dialog box and suggests the name of the file to be imported or exported. For example, if the user selects one of the Fixed Field Width options the suggested file name could be eftfix01.txt, and if the user selects one of the Comma Delimited Field options the suggested file name could be eftdlm01.txt. The user can accept the suggested name, type in a new name, or use a Browse button to locate another file. If the user selects one of the import options, EFTPS-PC 122 executes a procedure for importing a tax data file, such as File Import procedure 1000, illustrated in FIG. 10. Referring to FIG.
  • EFTPS-PC 122 determines the type of import file (i.e. , fixed field or comma delimited). If the file is fixed field, EFTPS-PC 122 imports the data at step 1004, and if the file is comma delimited,
  • EFTPS-PC 122 imports the data at step 1006. In either case, the data is imported into a temporary table.
  • EFTPS-PC 122 verifies if there are any import errors according to rules such as those in "Table K: Data Field Validation Rules.” If there were errors, at step 1010 EFTPS-PC 122 verifies that the temporary table contained at least one record, before deleting the temporary table records at step 1012. At step 1014, EFTPS-PC 122 notifies the user that the import process is being canceled. At step 1016 EFTPS-PC 122 displays the import errors to the user, before exiting the procedure. If EFTPS-PC 122 found no errors at step 1008, execution continues at step 1018 where EFTPS-PC 122 gets a count of the total number of records already in the EFTPS-PC 122 database plus those in the import file.
  • EFTPS-PC 122 limits the number of tax data records in the EFTPS-PC 122 database at any one time to 100 records, no more than 100 records can be imported at a time.
  • EFTPS-PC 122 checks if the total number of records is greater than 100. If there are too many records, at step 1022 EFTPS-PC 122 notifies the user that the import process is being canceled.
  • EFTPS-PC 122 deletes the records in the temporary table, before exiting the procedure. Other embodiments of EFTPS-PC 122 could control the number of records in the database using different procedures.
  • EFTPS-PC 122 could verify that the database was empty before importing a file, and then check that the number of records in the file did not exceed 100. Yet another embodiment might not limit the number of records being imported, and simply read the import file if no errors were detected.
  • step 1026 EFTPS-PC 122 uses the import file as the import query.
  • step 1028 EFTPS-PC 122 updates the recordset, and at step 1030 EFTPS-PC 122 notifies the user that the import succeeded.
  • step 1024 EFTPS-PC 122 deletes the records in the temporary table, before exiting the procedure.
  • EFTPS-PC 122 executes a procedure for exporting a tax data file, such as File Export procedure 1100, illustrated in FIG. 11.
  • EFTPS-PC 122 opens a recordset with a query matching the export option the user selected (e.g., all records, sent records, or acknowledged records).
  • EFTPS-PC 122 verifies that the recordset contains at least one record. If there are no records, at step 1106 EFTPS-PC 122 notifies the user that the export process is being canceled, before exiting the procedure.
  • EFTPS-PC 122 finds that the recordset contains at least one record, EFTPS-PC 122 gets a count of the number of records to export at step 1108.
  • EFTPS-PC 122 asks if the user wants a printed summary report of the records, and if the user requests the report, EFTPS-PC 122 generates and prints the report at step 1112. In either case, at step 1114 EFTPS-PC 122 executes a file export routine that corresponds to the file export option selected by the user (e.g., either fixed field or comma delimited field format for either all records, sent records, or acknowledged records).
  • a file export routine that corresponds to the file export option selected by the user (e.g., either fixed field or comma delimited field format for either all records, sent records, or acknowledged records).
  • EFTPS-PC 122 asks if the user wants to delete the exported records from the EFTPS-PC 122 database, and at step 1118 EFTPS-PC 122 checks the user's response. If the user wants to delete the records, EFTPS-PC 122 does so at step 1120. In either case, execution continues at step 1122 where EFTPS-PC 122 updates the recordset. To finish the export process, at step 1124 EFTPS-PC 122 notifies the user that the export succeeded, before exiting the procedure.
  • EFTPS-PC 122 This option serves the dual purpose of permitting the system administrator to authorize user access and allowing individual users to change passwords.
  • a logon dialog screen is displayed, requesting a name and a password.
  • the name is the user's logon (not case sensitive) which is secured by the user's password (case sensitive).
  • EFTPS-PC 122 starts with three default logons and three corresponding passwords: logon Password
  • a user logging on as "Data” is a member of the Data Entry Group and has permission to add new payments, view existing payments, and import or export payment records.
  • a Data user does not have permission to set up the modem, send payments, edit or change existing data, or add or administer user logons.
  • Manager As user logging on as "Manager” is a member of the Managers Group and has permission to do everything a Data user can do, plus edit or change existing data and transmit payment data. A Manager user does not have permission to set up the modem or to add or administer user logons. A user logging on as "Administrator” is a member of the Administrators
  • EFTPS-PC 122 displays a Modem Setup dialog box.
  • the dialog box includes data fields for entering communications parameters (e.g., communications port and baud rate), host parameters (e.g., IP address, port number, and site ID), 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
  • host parameters e.g., IP address, port number, and site ID
  • 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.
  • EFTPS-PC 122 gets the data values from those fields. To ensure that it gets accurate and complete communications data, EFTPS-PC 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.
  • Delete Acknowledged Payments This option deletes all tax data records that have been sent and successfully acknowledged with an EFT number. Before selecting this option, the user may want to export the records to a file to save the EFT numbers because this is the only proof of the transaction provided by TPS 130. Before deleting the records from the EFTPS-PC 122 database, EFTPS-PC 122 verifies that the user has the appropriate user access, as described above in the Security option. As a precaution, EFTPS-PC 122 also displays a message box asking if the user is sure about deleting the acknowledged payments and only proceeds if the user selects a Yes button. Lastly, before deleting the payments, EFTPS-PC 122 asks if the user wants a printed summary report of the payments to be deleted.
  • This option deletes all tax data records in the EFTPS-PC 122 database, and is otherwise similar to the Delete Acknowledged Payments option.
  • the Exit function is used to terminate EFTPS-PC 122.
  • Help Menu Online help is a standard Windows function that the user can access in a variety of ways.
  • EFTPS-PC 122 provides access to online help by including a Help item on window menu bars.
  • EFTPS-PC 122 provides access if the user presses the FI function key.
  • EFTPS-PC 122 displays a message such as "The EFTPS-PC Database was Repaired and Compressed successfully.” If errors are detected, EFTPS-PC 122 displays advisory messages. EFTPS-PC 122 uses an eleven digit sequence number for tax data records. After the database is compressed, this number is reset to "1.”
  • EFTPS-PC 122 always runs Repair before Compress even if no error message indicates that the EFTPS-PC 122 database is corrupted.
  • EFTPS-PC 122 could provide access to the Repair and Compress commands individually and let the user invoke them separately. It is recommended that the EFTPS-PC 122 Repair and Compress component is run periodically (e.g., once a month) as a preventive maintenance measure. If errors are detected, some records may have been lost. It is even possible that the entire set of records cannot be recovered. At this point, the only recourse the user has is to restore the EFTPS-PC 122 database from the last backup copy. Therefore, on a periodic basis, the system administrator should make a backup copy of the EFTPS-PC 122 database files.
  • 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.
  • EFTPS-PC 122 allows the user to input the following data:
  • Tax types 720 and 720M allow amount information (up to $99,999,999.99) against specific sub-category codes.
  • EFTPS-PC 122 allows the user to input up to 10 sub-category codes and amounts.
  • Each tax form has an associated tax reason code. Not all reasons are applicable to every tax form. The following are the applicable reason codes for specific tax form types:
  • Tax Form 720 0,2,5,7
  • Tax Form 720M 0,2,7
  • Appendix B Database Tables Overview of Database Tables
  • Source Field Error Description
  • Source Table Payment Error Table Validate On Set: No
  • Source Field tax wh amount
  • Source Table payments
  • Source Field user field 1
  • Source Field user field 2

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

According to the invention, a method and apparatus are provided for facilitating the interactive entry and validation of data prior to electronic submission to a tax system, such as the Electronic Federal Tax Payment System (EFTPS). Embodiments of the invention run on a personal computer and collect the data for multiple tax payments by means of an interactive graphical user interface. Embodiments of the invention include data editing capabilities, data validation, and payment data reports. Embodiments of the invention include a communications module that transmits payment data to the EFTPS and receives a confirmation or error message in response.

Description

INTERACTIVE 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 interactive entry and validation of multiple tax payment transactions prior to submission to an electronic 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 submirtal 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. Therefore, 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. Other front end interfaces to the EFTPS are available to third party filers for electronically submitting multiple transactions that have been previously entered into a computer system. One computer system, based on EDI, is available to "bulk filers" who submit more than 1 ,000 payment transactions on a peak day. Another computer system, which imports and transmits ASCII text files over a Value Added Network, is recommended for "batch filers" who submit payments for at least fifty taxpayers enrolled in EFTPS.
Neither of these systems, however, provides for interactive data entry or error detection and correction. Without such interactive capabilities, input errors can easily go undetected until after a large set of data is entered and validated, either manually or by a separate computer program. This process can be inefficient because data entry personnel must alternate between data entry and data validation until all errors are detected and corrected. Examples of data entry errors include missing required data entries, invalid tax form numbers, invalid combinations of tax form and payment period, payment detail amounts not totaling payments, and invalid requested settlement dates.
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 interactive entry and validation of data prior to electronic submission to a tax system, such as the Electronic Federal Tax Payment System (EFTPS). Embodiments of the invention run on a personal computer and collect the data for multiple tax payments by means of an interactive graphical user interface. Embodiments of the invention include data editing capabilities, data validation, and payment data reports. Embodiments of the invention include a communications module that transmits payment data to the EFTPS and receives a confirmation or error message in response.
Certain embodiments of the invention offer many advantages including, without limitation, the following: • a system for interactively accepting and validating data input comprising tax payment transactions;
• a system for viewing and editing previously entered data input comprising tax payment transactions; • a system for sending data input comprising tax payment transactions for subsequent processing;
• a system for importing data comprising tax payment transactions in batch mode from a pre-defined file;
• a system for exporting previously entered data comprising tax payment transactions to an archival file;
• a system for administering multiple levels of access to data comprising tax payment transactions;
• a system for receiving immediate notification regarding status of submitted tax payment transactions; 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 illustrates an example of the structure of a "business event" that an embodiment of the invention might use to submit data for a tax payment to an electronic tax payment system.
FIG. 3 illustrates an example of the structure of a "remote message block" that an embodiment of the invention might use to submit one or more business events to an electronic tax payment system. FIG. 4 shows a flow diagram of an example of a communications interaction between a client personal computer implementing an embodiment of the invention and a transaction processing server of an electronic tax payment system.
FIG. 5 shows a flow diagram of the major functions of one embodiment of the invention.
FIG. 6 illustrates an example of an "enter payments" screen that an embodiment of the invention might use to obtain tax payment data from a user.
FIG. 7 illustrates an example of a "summary view" screen that an embodiment of the invention might use to display a summary of previously entered tax payment data.
FIG. 8 shows a flow diagram of the unsent payments procedure of one embodiment of the invention.
FIG. 9 shows a flow diagram of the send procedure of one embodiment of the invention. FIG. 10 shows a flow diagram of the file import procedure of one embodiment of the invention.
FIG. 11 shows a flow diagram of the file export 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. EFTPS-PC 122 is a software application that taxpayers and third party filers can use to exchange information electronically with the Electronic Federal Tax Payment System (EFTPS). In Electronic Tax Payment System 105, an embodiment of EFTPS-PC 122 is installed on Client PC 120. EFTPS-PC 122 communicates with an EFTPS Transaction Processing Server (TPS), one of which is illustrated by TPS 130. Communications between EFTPS-PC 122 and TPS 130 take place over a Value Added Network (VAN) 125, such as one operated by CompuServe or MCI, using a dial up point to point protocol (PPP)
Transmission Control Protocol/Internet Protocol (TCP/IP) stack 124. Those skilled in the art understand that TPS 130 could also be referred to as a "host," that other communications protocols accepted by TPS 130 could be used, and that EFTPS-PC 122 could exchange information 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 EFTPS-PC 122. The following sections discuss the communications protocol and process that EFTPS-PC 122 uses to communicate with TPS 130 and describe in detail how EFTPS-PC 122 is implemented and operated by a user on Client PC 120. 1. COMMUNICATIONS PROTOCOL This section describes the communications protocol that EFTPS-PC 122 and
TPS 130 use to exchange data, which is referred to herein as "tax data." The systems exchange tax data in units that are referred to herein as "transactions" or "business events," such as Business Event (BE) 210, illustrated in FIG. 2. In addition to tax data, Business Event 210 includes information that the systems use to process the tax data.
Business Event 210 includes two components: a header component (e.g., BE Header 212) and a data component (e.g., BE Data 214). A Business Event 210 that EFTPS-PC 122 sends to TPS 130 includes tax data for processing (a "send Business Event 210"). A Business Event 210 that TPS 130 sends in response (a "response Business Event 210") includes a return code that indicates the status of the corresponding send Business Event 210. EFTPS-PC 122 and TPS 130 exchange one or more business events, such as Business Event 210, in a Remote Message Block (RMB) 310, such as the one illustrated in FIG. 3. The format and content of RMB 310 and Business Event 210 are discussed in detail in the following sections. 1.1 Remote Message Block
Referring to FIG. 3, RMB 310 includes Transmission Header 312 and one or more Business Events 210, each including BE Header 212 and BE Data 214. EFTPS-PC 122 observes the following rules in building and transmitting RMBs 310 to TPS 130: • RMB 310 sent by EFTPS-PC 122 should not exceed 4k bytes in size (this limit does not apply to RMB 310 sent by TPS 130). • Business Event 210 should not span multiple RMBs 310.
• A maximum of 10 Business Events 210 should be included in each RMB 310.
• A maximum of 100 Business Events 210 should be included in each transmission (a minimum of 10 Business Events 210 is recommended).
Following these rules, EFTPS-PC 122 typically transmits between 1 and 10 full RMBs 310 in one communications session with TPS 130. Those skilled in the art will appreciate that these rules are not EFTPS-PC 122 requirements; rather, the rules reflect TPS 130 specifications. For example, the limit of 100 Business Events 210 per transmission is imposed by TPS 130 to ensure that one user does not monopolize a communications line for extended periods of time. Embodiments of EFTPS-PC 122 could send more than 100 Business Events 210 in a communications session. Similarly, embodiments of EFTPS-PC 122 could build an RMB 310 containing more than 10 Business Events 210. Transmission Header 312 consists of information that is required in every
RMB 310 transmission to facilitate the movement of RMB 310 to and from TPS 130. The following table illustrates the format and content of Transmission Header 312. A more detailed description of each of the fields follows the table.
Table A: Transmission Header
Figure imgf000008_0001
Figure imgf000009_0001
Transmit Constant is an identification used by TPS 130 to detect the type of communications service being conducted; EFTPS-PC 122 sets the value to
BB10.
Return Code is returned by TPS 130 as "0000" to indicate acceptance of the transaction or another number indicating an error; EFTPS-PC 122 sets the value to "0000." A list of return codes is provided in the following table.
Next in Chain ID is set to 0 by EFTPS-PC 122; TPS 130 can return messages that are over the 4k bytes limit and, therefore, be forced to break RMB 310 into sections. A "1" indicates that this is the first or middle part of this chain and a "0" indicates that this is the end.
Character Set designates the type of data string. This is a binary field. A hexadecimal value of x'00' indicates EBCDIC and a value of x'01' indicates
ASCII.
Cyclic Redundancy Code (CRC) is an additive checksum calculation binary number. The CRC is generated on the content of RMB 310 following
Transmission Header 312. The CRC must conform to the CCITT CRC-32
Cyclic Redundancy Check standard.
Sequence Number is defined by EFTPS-PC 122; RMB 310 sent in response by TPS 130 has the same sequence number. Vendor ID Number is a certification number provided to a software vendor whose support capabilities and embodiment of EFTPS-PC 122 satisfy minimum requirements set by the Treasury Financial Agent. TPS 130 will reject any payment made by a non-certified EFTPS-PC 122. Date/Time Stamp must be made in the
YYYY(year)MM(month)DD(day)HH(hour) MI(minute)SS(Second) format to designate the time of transmission.
Reserved is currently not used but is set aside for possible additional data. Data Length is the total number of bytes of RMBs 310 that follow Transmission Header 312 (i.e., not including Transmission Header 312). Table B: Transmission Header Return Codes
Figure imgf000010_0001
1.2 Business Event Header
Every Business Event 210 comprises one BE Header 212 and one BE Data 214. BE Header 212 provides the information that defines every Business Event 210 within an RMB 310. The following table illustrates the format and content of Business Event 210. A more detailed description of each of the fields follows the table.
Table C: Business Event Header
Figure imgf000010_0002
Figure imgf000011_0001
Application and System is a constant that instructs TPS 130 that this is an
EFTPS Business Event 210.
Business Event is a constant that instructs TPS 130 that this is a tax payment
Business Event 210.
Remote Version is a constant that indicates the version level of the EFTPS
Interface Specification implemented by EFTPS-PC 122.
Sequence Number is assigned by EFTPS-PC 122 and is a unique ID for each
Business Event 210. It designates the order of Business Event 210 within
RMB 310. It is important to note that Business Events 210 within RMB 310 may not be passed back from TPS 130 in the same order sent by
EFTPS-PC 122. Therefore, EFTPS-PC 122 must be capable of using the sequence numbers of BE Header 212 to re-order Business Events 210.
Date/Time Stamp must be made in the
YYYY(year)MM(month)DD(day)HH(hour) MI(minute)SS(second).
Reserved is currently not used but is set aside for possible additional data. Encryption/Decryption ID is set to "00" as no encryption is used for
Business Event 210 (currently TPS 130 does not support any encryption methods).
Compression ID is set to "00" as no compression is used for Business
Event 210 (currently TPS 130 does not support any compression methods).
Site Identification is a string that identifies the physical location of the system sending the transaction (currently TPS 130 does not use this information).
Login ID is provided to identify individual networked users at a site.
Return Code is returned by TPS 130 as a "0000" to indicate acceptance of the transaction or another number indicating an error; EFTPS-PC 122 sets the value to "0000." A list of return codes is provided in the following table.
Data Format is set to "00" by EFTPS-PC 122.
Data Length is the total number of bytes in BE Data 214.
Table D: Business Event Header Return Codes
Figure imgf000012_0001
1.3 Business Event Data
As discussed above, every Business Event 210 comprises one BE Header 212 and one BE Data 214. The data in BE Data 214 is organized as a series of fields, with each field structured as a "data information block." The following table," Table E: Data Information Block," illustrates the format of a data information block. "Table F: Send Business Event Data" provides details about the content of data information blocks containing tax data in a send Business Event 210 sent by EFTPS-PC 122. The section entitled "Enter Function" includes details about how EFTPS-PC 122 obtains and stores this tax data. "Table G: Send Business Event Data Example" includes examples of tax data values. "Table H: Response Business Event Data" provides details about the content of data information blocks containing response data in a response Business Event 210 sent by TPS 130.
Table E: Data Information Block
Figure imgf000013_0001
Data Tag is the data tag ID for the field being passed. The following table,
"Table F: Send Business Event Data" provides examples of data tags.
Data Format is the format of the data. Currently all values for this field are 0.
Data Length is the length of the data stream in bytes. The following table,
"Table F: Send Business Event Data" provides examples maximum allowable lengths.
Data Stream is the value of the field being sent.
Table F: Send Business Event Data
Figure imgf000013_0002
Figure imgf000014_0001
The following table includes sample tax payment field data. EFTPS-PC 122 constructs one data information block for each field. EFTPS-PC 122 derives the Tax Type and Payment Reason fields from a five digit Tax Code that represents the combination of the Tax Form and Reason Code entered by the user. For example, if the user enters "706GS(D)" as the Tax Form and "7" as the Reason Code, the applicable Tax Code is "70627." EFTPS-PC 122 uses the first four digits of the Tax Code (i.e., "7062") for the Tax Type and the fifth digit (i.e., "7") for the Reason Code. Examples of five digit Tax Codes are given in the Tax Code Conversion tables in "Appendix A: Tax Form Reference Information." Details regarding data entry are included in the section entitled "Enter Function."
Table G: Send Business Event Data Example
Figure imgf000014_0002
Figure imgf000015_0001
TPS 130 responds to RMB 310 sent from EFTPS-PC 122 by sending a corresponding RMB 310 including response Business Events 210 that indicate a successful or unsuccessful transaction. As in a send Business Event 210, the data in BE Data 214 of a response Business Event 210 is organized in one or more data information blocks. The following table, "Table H: Response Business Event Data" provides examples of the content of data information blocks in a response Business Event 210 sent from TPS 130. It is important to note that Business Events 210 within RMB 310 sent from TPS 130 may not be in the same order as the corresponding Business Events 210 sent by EFTPS-PC 122. Therefore, EFTPS-PC 122 uses the sequence numbers in BE Header 212 to re-order Business Events 210.
Each response Business Event 210 contains one of the following: (1) an EFT number (BE Header 212 return code will be zero), (2) an EFT number with a settlement date (BE Header 212 return code will be zero), or (3) an error return (BE Header 212 return code will be non-zero). When a response Business Event 210 contains a non-zero return code, EFTPS-PC 122 can look up the corresponding message text in a table (e.g. , "Table J: Response Business Event Error Codes") or extract the message text from response Business Event 210, if TPS 130 included the text. Table H: Response Business Event Data
Figure imgf000016_0001
Note: *If Error Return is zero then there will be an EFT Number.
EFT Number is a fifteen character alphanumeric string sent from TPS 130 if the payment has been accepted. This string is the only verification that the transaction was processed.
Settlement Date is the date used for the tax payment if the requested settlement date was not accepted. The settlement date is returned with an EFT number.
Error Return is used if Business Event 210 has a non-zero return code. The error return field data stream in the data information block of response
BE Data 214 contains three sub-fields, as described in the following table.
These sub-fields are contained within the data stream field of the Error
Return's data information block (i.e., the sub-fields are not in separate data information blocks). The fields are concatenated together in a single block in the order shown.
Table I: Error Return Sub-Fields
Figure imgf000016_0002
Table J: Response Business Event Error Codes
Figure imgf000016_0003
Figure imgf000017_0001
Figure imgf000018_0001
The above tables are provided to illustrate the format and content of data structures that embodiments of EFTPS-PC 122 might use to submit tax data to TPS 130 for processing. As those skilled in the art are well aware, EFTPS-PC 122 could accommodate other data submission requirements that TPS 130 might have.
COMMUNICATIONS PROCESS OVERVIEW In order to send tax data to TPS 130, EFTPS-PC 122 initiates a communications process with TPS 130. FIG. 4 shows a flow diagram of an example of a communications interaction between the systems in which two sets of RMBs 310 are exchanged. Referring to FIG. 4, at step 402 TPS 130 is listening for incoming TCP/IP messages. At step 404 EFTPS-PC 122 uses a modem to dial TPS 130, at step 406 the modem connects, and at step 408 EFTPS-PC 122 follows any login procedure that TPS 130 requires. At step 410, EFTPS-PC 122 makes a TCP/IP connection to the IP address for TPS 130, and TPS 130 accepts the connection at step 412.
At step 414, using TCP/IP, EFTPS-PC 122 sends a Transaction Initiation Message (TIM) to TPS 130, which TPS 130 receives at step 416. EFTPS-PC 122 transmits the TIM once prior to sending the first RMB 310. The TIM is a fifty byte ASCII string, the contents of which are provided to software vendors when they register with a Treasury Financial Agent to develop EFTPS-PC 122 software.
TPS 130 does not send a response to the TIM, so EFTPS-PC 122 can start sending RMBs 310 if TCP/IP indicates that the TIM transmission was successful. Note that TPS 130 may transmit broadcast messages to EFTPS-PC 122 at the time the connection is initially made, and therefore, EFTPS-PC 122 receives and displays any broadcast messages from TPS 130 before sending the first RMB 310. At this point, EFTPS-PC 122 and TPS 130 exchange information sequentially. Execution continues at step 418 when EFTPS-PC 122 sends a first RMB 310 (including send Business Events 210 containing tax data), which is received by TPS 130 at step 420. TPS 130 processes the tax data, and at step 422 TPS 130 sends a first response RMB 310, which EFTPS-PC 122 receives at step 424. This sequential exchange repeats for the second RMB 310, as illustrated in steps 426-432. After receiving the final response RMB 310, EFTPS-PC 122 hangs up the modem at step 434.
FIG. 4 illustrates the exchange of two sets of RMBs 310; however, those skilled in the art will understand that additional sets could be exchanged by repeating steps 426-432. Further, those skilled in the art will understand that embodiments of EFTPS-PC 122 could use any communications process accepted by TPS 130.
3. IMPLEMENTING EFTPS-PC EFTPS-PC 122 is installed on a standard personal computer (PC) configured as follows:
• Hardware: Intel compatible PC with a minimum 386SX processor (486 processor or higher recommended).
• Memory: Minimum of 4 MB RAM (8 MB of RAM recommended).
• Hard Disk Drive: Minimum of 7MB of available disk space. • Operating System: Microsoft Windows 3.1 or higher.
• Modem: Hayes-compatible modem capable of running at a minimum 9600 baud rate (faster baud rate is recommended).
The key functionality of EFTPS-PC 122 is implemented with Microsoft Access, a relational database system; a portion of the communications module is implemented in the C programming language. Those skilled in the art will understand that alternative embodiments of EFTPS-PC 122 could be implemented using other data input and storage systems (e.g., spreadsheet programs), using other relational database systems (e.g., Oracle or Informix), or using other programming languages (e.g., C++ or Visual Basic). Other embodiments of EFTPS-PC 122 could run under other operating systems (e.g. Unix or Macintosh) and could be installed on any appropriate hardware. EFTPS-PC 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.
4. OPERATING EFTPS-PC The following sections describe an embodiment of EFTPS-PC 122 implemented with design and functional features that are common in Microsoft Windows applications. These features include: accepting user input from a mouse or keyboard; starting EFTPS-PC 122 when the user double-clicks on an application icon; obtaining user input from dialog box fields; providing Control Menu items that allow the user to close or restore a window; and executing EFTPS-PC 122 options when the user selects an option button. 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 EFTPS-PC 122, therefore, discusses only those features that are specific to EFTPS-PC 122 functionality and operation. For example, it is understood that the user knows how to use a Browse button to locate a file and knows how to use the items on a File Menu to setup a printer. As previously noted, the key functionality of EFTPS-PC 122 is implemented with Microsoft Access. This means that EFTPS-PC 122 stores information (e.g., data input by a user and lists of tax types or error codes) in tables, which are stored in one or more Access databases. EFTPS-PC 122 processes this information using standard Access features and capabilities (e.g., queries, forms, reports, macros, and modules). Because such features and capabilities are well known to those skilled in the art, only those that are unique to EFTPS-PC 122 are discussed herein. For example, it is understood that a user could select a particular data record from a set of displayed records by clicking on a record pointer button or, alternatively, a user could scroll through a set of records using a record selector bar. It is also understood that a user can navigate between screens by selecting an appropriately labeled button (e.g., a Back button) to return to the previous screen. For additional information, see the Microsoft Access User's Guide or the Access online help function.
As an overview of how a user operates EFTPS-PC 122, FIG. 5 shows a flow diagram of the major functions of one embodiment of EFTPS-PC 122. The flow diagram does not indicate a next action at the end of the function branches because, as those skilled in the art understand, Microsoft Windows applications are generally event driven. In other words, a user performs EFTPS-PC 122 functions in any reasonable order, and after a function terminates it is up to the user to initiate the next action. 4.1. EFTPS-PC Program Group
EFTPS-PC 122 functionality is divided into two components. One component, "Make Payments" includes functionality for making payments and performing administrative tasks. The other component, "Repair and Compress" is used for repairing and maintaining EFTPS-PC 122 databases. When a user opens the EFTPS-PC 122 Program Group, icons corresponding to the two components are displayed. As those skilled in the art will appreciate, EFTPS-PC 122 functionality could be divided into additional components or combined in one component. The following sections describe EFTPS-PC 122 functionality in detail.
4.2. Make Payments Icon When the user selects a Make Payments icon from an EFTPS-PC 122 Program
Group, EFTPS-PC 122 presents a Main Menu as a window including a set of buttons. Each button corresponds to, and allows the user to invoke, one of the EFTPS-PC 122 major functions: Enter, View, Edit, Send, Administration, and Exit. The View, Edit, and Administration functions are, in turn, further divided into sub-functions. Thus, when the user selects View, Edit, or Administration, EFTPS-PC 122 presents a Sub-Menu window that includes buttons for the appropriate sub-functions. EFTPS-PC 122 also uses a menu bar at the top of many windows to provide standard windows menu items including: File, Search, and Help. Some menu bars also include a User item, which is specific to EFTPS-PC 122. This item allows the user to invoke a View Special Fields function for entering and viewing optional user fields, discussed in the section entitled "Enter Function." Other techniques, well known to those skilled in the art, can be used to allow the user to select an EFTPS-PC 122 function. For example, other embodiments of EFTPS-PC 122 could allow a user to select a function from a drop-down menu list or from a dialog box radio button.
Referring to FIG. 5, execution starts at step 505 when EFTPS-PC 122 obtains the user's name and password, which together form the user's logon. EFTPS-PC 122 verifies that the logon is valid. If the logon is invalid, EFTPS-PC 122 displays an error message and allows the user to try again or cancel the logon procedure. Once a valid logon is obtained, EFTPS-PC 122 displays the EFTPS-PC 122 Main Menu. Those skilled in the art understand that other embodiments of EFTPS-PC 122 could use other logon procedures, or might not require a logon procedure at all.
Execution continues at step 510 when the user selects one of the Main Menu major functions: Enter, View, Edit, Send, Administration, or Exit. Each of these functions is described in detail in the following sections.
4.2.1. Enter Function The Enter function is used to enter and validate tax data. EFTPS-PC 122 collects tax data as ASCII input and stores it in an Access database table (e.g., a payments table). Each row in such a table (i.e., each record) includes columns of tax data entries (i.e., tax data fields). EFTPS-PC 122 uses other Access database tables for internal functions such as temporary storage and data validation. All of these tables, which are referred to herein collectively as the "EFTPS-PC 122 database," are described in detail in "Appendix B: Database Tables." As those skilled in the art understand, other embodiments of EFTPS-PC 122 could use alternative database table designs.
If the user selects Enter at step 510 of FIG. 5, EFTPS-PC 122 displays a data entry screen, such as Enter Payments screen 600, illustrated in FIG. 6, to accept data entered by the user. If EFTPS-PC 122 requires that the user enter data for a particular tax data field (i.e., a required data field), a corresponding data entry field is displayed. For example, if Taxpayer Identification Number (TIN), Personal Identification Number (PIN), Tax Form, Reason Code, Tax Period, Amount, Verification Code, and Requested Settlement Date are required tax data fields, data entry fields 602, 604, 606, 608, 610, 612, 614, and 616 appear on Enter Payments screen 600. EFTPS-PC 122 also accepts tax data for payment detail fields that are unique to specific tax forms, such as FICA Equivalent Amount, Industry Amount, and Supplemental Amount for a CT-1 tax form. EFTPS-PC 122 displays an additional dialog box, such as Payment Detail 618, on Enter Payments screen 600 to accept payment detail tax data.
In addition to tax data that EFTPS-PC 122 accepts for submission to TPS 130, EFTPS-PC 122 allows the user to display, and enter data for, two optional user fields, such as User Field 1 620 and User Field 2 622. The data in these optional fields is used solely by the user (i.e., the data is not used by EFTPS-PC 122 or sent to TPS 130). For example, if an accounting firm uses EFTPS-PC 122 to collect and submit tax payment data for its clients, data used for sorting the tax data records can be entered in these user fields. To add user fields, the user selects the View Special Fields item from the User item on the Enter function window's menu bar. Data for the user fields can be entered in all records or in only a few. Other embodiments of EFTPS-PC 122 could provide for additional user fields or other extended capabilities (i.e., capabilities beyond those required for collecting and submitting tax data to TPS 130). In addition, embodiments of EFTPS-PC 122 could accept and send other tax data, such as data needed to enroll a taxpayer in EFTPS, if such data is accepted by TPS 130. The user can enter data by typing it into a data entry field. Alternatively, for some fields, EFTPS-PC 122 presents the user with an associated set of choices from which the user can select one entry. For example, EFTPS-PC 122 presents choices for the Tax Form and Reason Code fields on drop-down selection lists. The user can enter amounts with or without a dollar sign or decimal point. If necessary, EFTPS-PC 122 adds a dollar sign and decimal point (after multiplying the amount by 100) to an amount data field display when the input focus moves to another data entry field.
EFTPS-PC 122 validates that the data entries satisfy validity criteria. For example, EFTPS-PC 122 verifies that each required data field contains an entry. EFTPS-PC 122 also validates data entries according to rules, such as those in the following table. If a required data field is empty, or if any data field contains invalid data, EFTPS-PC 122 displays an error message on the screen. Those skilled in the art know that EFTPS-PC 122 can validate data entries according to any appropriate rules, in any appropriate order (e.g., as each entry is made or after several entries are made). In some cases, the validity of one entry is dependent upon another entry (e.g., the validity of a Reason Code entry or a Tax Period entry depends on the corresponding Tax Form entry).
Table K: Data Field Validation Rules
Figure imgf000024_0001
Figure imgf000025_0001
EFTPS-PC 122 uses the Verification Code to ensure that the user enters a payment amount correctly. The Verification Code is calculated based on the payment amount. For a payment amount of $3,650.31 the calculation is as follows: (1) add the digits in the payment amount (3+6+5+0+3+1 = 18), (2) count the number of digits in the payment amount, including two decimal places (3, 6, 5, 0, 3, 1 = 6), and (3) calculate the sum of the two numbers (18+6=24). Thus, the Verification Code entry for $3,650.31 is 24. Because the Verification Code is a two digit number, if necessary, a leading zero is added (e.g., the code for a sum of 9 is 09) or the first digit is dropped (e.g., the code for the sum of 136 is 36). As those skilled in the art understand, EFTPS-PC 122 can use any appropriate method to verify a payment amount entry.
EFTPS-PC 122 provides several buttons on Enter Payments screen 600 to allow the user to specify how the tax data record should be handled. Referring to FIG. 6, if an "X" appears in Ready To Send indicator box 624, EFTPS-PC 122 submits the tax data record in the next transmission to TPS 130. The user can turn off the "X," and hold the payment, by clicking on Ready To Send indicator box 624. To save the current tax data record the user selects a Save This Payment Record button, and to delete the current tax data record the user selects a Delete button. As discussed above in the section entitled "Remote Message Block," TPS 130 may impose a limit of 100 Business Events 210 in a each RMB 310. Therefore, because each Business Event 210 contains the data from one tax data record, EFTPS-PC 122 limits the number of tax data records in the EFTPS-PC 122 database at any one time to 100 records, including any combination of new, held, and previously transmitted records. When the 100 record limit is reached, EFTPS-PC 122 does not allow the user to enter more records. To free up space within the 100 record limit the user could, for example, send records that are ready for transmission and then delete those records that are accepted by TPS 130. Alternatively, the user could export completed records to an archival file as discussed in the section entitled "Administration Function" and delete them from the EFTPS-PC 122 database.
Those skilled in the art realize that other methods could be used to implement a limit on the number of records per transmission, if such a limit is necessary. For example, another embodiment of EFTPS-PC 122 could allow the user to store any reasonable number of records in the EFTPS-PC 122 database and simply limit the number of records that the user selects for transmission, as necessary.
4.2.2. View Function The View function is used to view previously entered payments. If the user selects View at step 510 of FIG. 5, execution continues at step 520 where EFTPS-PC 122 presents the user with five buttons, one for each view option: (1) Summary View, (2) All Payments, (3) Sent Payments, (4) Unsent Payments, and (5) Rejected Payments. EFTPS-PC 122 invokes standard Access functions to display a summary report of the tax data records in summary form (for the Summary View option) and to allow the user to view individual records sequentially (for the detail view options).
Summary View. If the user selects the Summary View button, EFTPS-PC 122 displays information about the status of the records in the EFTPS-PC 122 database. EFTPS-PC 122 displays a screen such as Summary View screen 700, illustrated in FIG. 7. Each record is displayed on one line, and an arrowhead in the leftmost column points to the active record. The columns on Summary View screen 700 contain the data values for the following data fields:
Column 702: Payment ID is the last four digits of an eleven digit number that EFTPS-PC 122 assigns sequentially to tax data records. EFTPS-PC 122 uses these last four digits as the sequence number in BE Header 212 of Business Event 210 that contains the tax data for the record. This eleven digit sequence number is reset to "1" after the database is compressed. The section entitled "Repair and Compress Icon" discusses the Access Compress command. Column 704: TIN is the Taxpayer Identification Number. The PIN is not listed for security reasons. Column 706: Tax Form is the type of tax payment.
Column 708: Tax Period is the period for the transaction.
Column 710: Amount is the amount of money to be paid.
Column 712: Request Settle Date is the date requested for settlement of the transaction.
Column 714: Actual Settle Date is the date the transaction was actually settled. This date only appears if it is different from the requested settlement date.
Column 716: Ready is the transmission status. An "X" indicates that the record is ready for transmission.
Column 718: Sent is the number of times the record has been sent. A "0" indicates that the record has never been transmitted.
Column 720: EFT Number is a 15-digit number indicating that the record has been successfully transmitted to TPS 130. If no number appears, the record needs to be sent or edited and sent again. The user should make a note of this number because it is the only acknowledgment TPS 130 provides for a successful transaction.
Column 722: Error is an indicator that a message is associated with the record. An "X" in this column indicates that there is a message that the user can view with the Edit function, which is described in the section entitled
"Edit Function."
Column 724: NOEFT is an indicator that there is no EFT number for this record. An "X" in this column indicates that EFTPS-PC 122 sent the record to
TPS 130, but that no acknowledgment was received. All Payments, Sent Payments, Unsent Payments, and Rejected Payments.
To sequentially view complete details of tax data records, the user can select one of the detail View function option buttons: All Payments (for all entered records), Sent Payments (for only the records sent to TPS 130), Unsent Payments (for only the records not sent to TPS 130), and Rejected Payments (for only records rejected by TPS 130). EFTPS-PC 122 invokes standard Access functions to retrieve and display the records for a particular View function option. In addition to the fields for which the user entered data with the Enter function, the following fields are also displayed: Actual Settlement Date, EFT Number, Last Modified By (indicating a user name), and override indicators (described in the section entitled "Edit Function"). For rejected payments, the reason for the rejection is displayed as a message at the bottom of the display. If multiple messages exist, the user can scroll through them.
4.2.3. Edit Function The Edit function is used to edit a record before it is sent to, or after it is rejected by, TPS 130. If the user selects Edit at step 510 of FIG. 5, execution continues at step 525 where EFTPS-PC 122 presents the user with two buttons, one for each Edit function option: (1) Unsent Payments and (2) Rejected Payments. EFTPS-PC 122 invokes standard Access functions to display the appropriate records for the option and to allow the user to navigate through the records in order to edit individual data fields. Unsent Payments. If the user selects the Unsent Payments button,
EFTPS-PC 122 executes a procedure for editing unsent payments, such as Unsent Payments procedure 800, illustrated in FIG. 8. Referring to FIG. 8, at step 802, EFTPS-PC 122 opens a "payments" form to display a screen for editing payments that is similar to Enter Payments screen 600, illustrated in FIG. 6. At step 804 EFTPS-PC 122 selects the records that are marked in the EFTPS-PC 122 database as "unsent." Then at step 806, EFTPS-PC 122 sets the editing property so that the user can only edit data fields or delete records. If the user wants to add new records, the Enter function is used. EFTPS-PC 122 turns on the Access navigation capabilities at step 808 and sets the caption of the window to "Edit Unsent Payments" at step 810. Lastly, at step 812, EFTPS-PC 122 sets to visible (i. e. , displays) data fields that are not displayed on Enter Payments screen 600. These fields include Payment ID (which is displayed to the left of TIN data field 602), along with User Field 1 620 and User Field 2 622, described above. In addition, several override indicator boxes are displayed below Ready To Send indicator box 624. The override indictors, which are selected and deselected in the same way as Ready To Send indicator box 624, are used to implement an Override function, which allows the user to override certain of the standard limits as follows:
Override Tax Type. When a taxpayer enrolls in the EFTPS program, the taxpayer is pre-qualified to enter data for certain tax types. If a record is rejected because the taxpayer is not qualified for that tax type, the user can select this option and resubmit the record.
Override Threshold. When the amount of the tax payment exceeds the limit (as pre-defined by the taxpayer during enrollment) for a tax form type, the payment may be rejected. The user can select this option to override the amount threshold and then resubmit the record.
Override Duplicate. TPS 130 automatically rejects duplicate records. If EFTPS-PC 122 sent a record but did not receive a response, it is possible that TPS 130 received the information, but was unable to transmit a response due to a communications problems. If the user resubmits the payment and a duplicate record error is returned, the user can select this option to resubmit the record.
Override FUTA. The user can select this option to override FUTA standard limits.
Override Filing Period. The user can select this option to override the filing periods for a particular tax form.
Rejected Payments. If the user selects the Rejected Payments button from the Edit function, EFTPS-PC 122 executes a procedure analogous Unsent Payments procedure 800. EFTPS-PC 122 simply substitutes a "No Acknowledgment Query" for the "Unsent Query" at step 804. Note that in order to resubmit a record containing previously rejected payment data, the user needs to enter the PIN again. If the PIN is not present when the user tries to resubmit the record, a dialog box appears listing those records missing PINs. If this occurs, the user returns to the Edit function and enters PINs for the identified records.
4.2.4. Send Function The Send function is used to submit tax data to TPS 130 for processing. If the user selects Send at step 510 of FIG. 5, execution continues at step 530 where EFTPS-PC 122 displays a screen, such as Summary View screen 700, so that the user can review and/or edit the data before it is sent to TPS 130. To edit a record, the user selects the record's row and then selects an Edit button. EFTPS-PC 122 displays an Edit Payments screen and allows the user to edit the selected record, as described in the section entitled "Edit Function," provided that the user has editing access. When the user is done with any editing, the user selects a Back button to return to Summary View screen 700.
At any point prior to sending the tax data, if the user wants to hold back any records from being sent to TPS 130, the user can remove the "X" in Ready column 716 for those records. When the user is ready to send the selected tax data records, the user selects a Send button. As a precaution, EFTPS-PC 122 verifies that the user wants to transmit the data. If the user selects an OK button, EFTPS-PC 122 executes a procedure for sending tax data to TPS 130, such as Send procedure 900, illustrated in FIGS. 9 A and 9B. Referring to FIG. 9, EFTPS-PC 122 initializes the communications session at step 905. Assuming that a connection is made, at step 910 EFTPS-PC 122 sends a Transaction Initiation Message (TIM), as described previously in the section entitled "Communications Process Overview." At step 915 EFTPS-PC 122 verifies that the TIM was sent successfully, and if it was not, EFTPS-PC 122 generates an error message at step 920, before exiting the procedure. If the TIM was sent successfully, execution continues at step 925 where EFTPS-PC 122 constructs Transmission Header 312 for RMB 310, as described above in the section entitled "Remote Message Block."
EFTPS-PC 122 starts a loop through the tax data records being sent to TPS 130. For each tax data record, EFTPS-PC 122 constructs one Business
Event 210, which EFTPS-PC 122 stores in RMB 310 until RMB 310 is ready to send. Specifically, before constructing the next Business Event 210, at step 930 EFTPS-PC 122 checks to see if RMB 310 is ready to send by testing if (1) the next Business Event 210 will put RMB 310 over the 4k bytes size limit, (2) RMB 310 already includes ten Business Events 210, or (3) there are no more Business
Events 210 to store in RMB 310. If none of these tests is true, EFTPS-PC 122 builds the next Business Event 210 and stores it in RMB 310, at step 935. EFTPS-PC 122 continues with the loop at step 930. These tests express the rules for building RMB 310 discussed in the section entitled "Remote Message Block." As noted in that section, these rules reflect TPS 130 specifications and, therefore, other embodiments of Send procedure 900 could use other tests at step 930.
When one of the tests at step 930 is true, EFTPS-PC 122 sends RMB 310 to TPS 130 at step 940. At step 945 EFTPS-PC 122 verifies that RMB 310 was sent successfully, and if it was not, EFTPS-PC 122 generates an error message at step 950, before exiting the procedure. If RMB 310 was sent successfully, execution continues at step 955 where EFTPS-PC 122 receives a response RMB 310 from TPS 130, using a blocking read with a time out.
If EFTPS-PC 122 does not receive a response RMB 310 before a time out, at step 965 EFTPS-PC 122 generates an error message, before exiting the procedure. If EFTPS-PC 122 does receive a response RMB 310, at step 960 EFTPS-PC 122 processes the response Business Events 210. EFTPS-PC 122 then checks if there are any more Business Events 210 to send to TPS 130. If there are no more (i.e., all the tax data records have been processed), execution ends. Otherwise, execution continues with the loop at step 930.
During the communications session, EFTPS-PC 122 disables its other features and displays a screen with the status of the data being sent and received. When all of the tax data records have been sent to TPS 130 and the responses received, the status screen is removed and the user can continue to use EFTPS-PC 122 or exit the application.
Premature breaks in a communications session, however, are inevitable. For instance, transmission can be interrupted by the user prematurely turning off
Client PC 120 or by problems with VAN 125. If transmission is interrupted after TPS 130 receives RMB 310 from EFTPS-PC 122, but before TPS 130 sends a response, the user may not know which tax data records have been accepted. If RMB 310 is resubmitted and it contains tax data records that TPS 130 has already received, the user will need to use the Override Duplicate indicator discussed in the section entitled "Edit Function." 4.2.5. Administration Function The Administration function is used to perform several EFTPS-PC 122 administrative tasks. If the user selects Administration at step 510 of FIG. 5, execution continues at step 535 where EFTPS-PC 122 presents the user with six buttons, one for each Administration option: (1) Print Summary Report,
(2) Import/Export, (3) Security, (4) Setup, (5) Delete Acknowledged Payments, and (6) Delete All Payments.
Print Summary Report. This option prints a copy of the record summary report displayed with the Summary View button, described in the section entitled "View Function."
Import/Export. This option imports records in a batch mode or exports records to an archival file. All data is imported and exported as an ASCII string in either a comma-delimited or fixed-field format. This means that each record is stored as a single line of characters in which the fields are separated by commas or have a defined length. Examples of import and export data file formats are included in
"Appendix C: Import/Export Data Files." The user can create an import data file with any appropriate tool (e.g., a word processor or a spreadsheet program) that can format the data as required by EFTPS-PC 122.
When the user selects the Import Export button, EFTPS-PC 122 presents the user with eight buttons, one for each Import Export option: (1) Export All Records To Fixed Field Width File, (2) Export Sent Records to Fixed Field Width File, (3) Export Acknowledged Records to Fixed Field Width File, (4) Export All Records to Comma Delimited File, (5) Export Sent Records to Comma Delimited File, (6) Export Acknowledged Records to Comma Delimited File, (7) Import From Fixed Field Width File, and (8) Import From Comma Delimited Field File.
When the user selects any of the Import/Export options, EFTPS-PC 122 displays a dialog box and suggests the name of the file to be imported or exported. For example, if the user selects one of the Fixed Field Width options the suggested file name could be eftfix01.txt, and if the user selects one of the Comma Delimited Field options the suggested file name could be eftdlm01.txt. The user can accept the suggested name, type in a new name, or use a Browse button to locate another file. If the user selects one of the import options, EFTPS-PC 122 executes a procedure for importing a tax data file, such as File Import procedure 1000, illustrated in FIG. 10. Referring to FIG. 10, at step 1002 EFTPS-PC 122 determines the type of import file (i.e. , fixed field or comma delimited). If the file is fixed field, EFTPS-PC 122 imports the data at step 1004, and if the file is comma delimited,
EFTPS-PC 122 imports the data at step 1006. In either case, the data is imported into a temporary table.
At step 1008, EFTPS-PC 122 verifies if there are any import errors according to rules such as those in "Table K: Data Field Validation Rules." If there were errors, at step 1010 EFTPS-PC 122 verifies that the temporary table contained at least one record, before deleting the temporary table records at step 1012. At step 1014, EFTPS-PC 122 notifies the user that the import process is being canceled. At step 1016 EFTPS-PC 122 displays the import errors to the user, before exiting the procedure. If EFTPS-PC 122 found no errors at step 1008, execution continues at step 1018 where EFTPS-PC 122 gets a count of the total number of records already in the EFTPS-PC 122 database plus those in the import file. Because EFTPS-PC 122 limits the number of tax data records in the EFTPS-PC 122 database at any one time to 100 records, no more than 100 records can be imported at a time. At step 1020 EFTPS-PC 122 checks if the total number of records is greater than 100. If there are too many records, at step 1022 EFTPS-PC 122 notifies the user that the import process is being canceled. At step 1024 EFTPS-PC 122 deletes the records in the temporary table, before exiting the procedure. Other embodiments of EFTPS-PC 122 could control the number of records in the database using different procedures. For example, another embodiment of EFTPS-PC 122 could verify that the database was empty before importing a file, and then check that the number of records in the file did not exceed 100. Yet another embodiment might not limit the number of records being imported, and simply read the import file if no errors were detected.
If the number of records did not exceed 100 at step 1020, execution continues at step 1026 where EFTPS-PC 122 uses the import file as the import query. At step 1028 EFTPS-PC 122 updates the recordset, and at step 1030 EFTPS-PC 122 notifies the user that the import succeeded. To finish the import process, execution continues at step 1024 where EFTPS-PC 122 deletes the records in the temporary table, before exiting the procedure.
If the user selects one of the export options, EFTPS-PC 122 executes a procedure for exporting a tax data file, such as File Export procedure 1100, illustrated in FIG. 11. Referring to FIG. 11, at step 1102 EFTPS-PC 122 opens a recordset with a query matching the export option the user selected (e.g., all records, sent records, or acknowledged records). At step 1104 EFTPS-PC 122 verifies that the recordset contains at least one record. If there are no records, at step 1106 EFTPS-PC 122 notifies the user that the export process is being canceled, before exiting the procedure.
If at step 1104 EFTPS-PC 122 finds that the recordset contains at least one record, EFTPS-PC 122 gets a count of the number of records to export at step 1108. At step 1110, EFTPS-PC 122 asks if the user wants a printed summary report of the records, and if the user requests the report, EFTPS-PC 122 generates and prints the report at step 1112. In either case, at step 1114 EFTPS-PC 122 executes a file export routine that corresponds to the file export option selected by the user (e.g., either fixed field or comma delimited field format for either all records, sent records, or acknowledged records). At step 1116 EFTPS-PC 122 asks if the user wants to delete the exported records from the EFTPS-PC 122 database, and at step 1118 EFTPS-PC 122 checks the user's response. If the user wants to delete the records, EFTPS-PC 122 does so at step 1120. In either case, execution continues at step 1122 where EFTPS-PC 122 updates the recordset. To finish the export process, at step 1124 EFTPS-PC 122 notifies the user that the export succeeded, before exiting the procedure.
Security. This option serves the dual purpose of permitting the system administrator to authorize user access and allowing individual users to change passwords. When a user starts EFTPS-PC 122, a Logon dialog screen is displayed, requesting a name and a password. The name is the user's logon (not case sensitive) which is secured by the user's password (case sensitive). EFTPS-PC 122 starts with three default logons and three corresponding passwords: Logon Password
Administrator administrator
Manager manager
Data data
A user logging on as "Data" is a member of the Data Entry Group and has permission to add new payments, view existing payments, and import or export payment records. A Data user does not have permission to set up the modem, send payments, edit or change existing data, or add or administer user logons.
As user logging on as "Manager" is a member of the Managers Group and has permission to do everything a Data user can do, plus edit or change existing data and transmit payment data. A Manager user does not have permission to set up the modem or to add or administer user logons. A user logging on as "Administrator" is a member of the Administrators
Group and has permission to do everything a Manager user can do, plus set up the modem and add or administer user logons.
Setup. This option provides the means for configuring the communications data needed prior to any communications with TPS 130. If the user selects the Setup option, EFTPS-PC 122 displays a Modem Setup dialog box. The dialog box includes data fields for entering communications parameters (e.g., communications port and baud rate), host parameters (e.g., IP address, port number, and site ID), modem type, and dial preferences (e.g., logon profile, host telephone number, user name, and password). In one embodiment of EFTPS-PC 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.
If the user selects a Save button on the dialog box after entering communications configuration data values, EFTPS-PC 122 gets the data values from those fields. To ensure that it gets accurate and complete communications data, EFTPS-PC 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.
Delete Acknowledged Payments. This option deletes all tax data records that have been sent and successfully acknowledged with an EFT number. Before selecting this option, the user may want to export the records to a file to save the EFT numbers because this is the only proof of the transaction provided by TPS 130. Before deleting the records from the EFTPS-PC 122 database, EFTPS-PC 122 verifies that the user has the appropriate user access, as described above in the Security option. As a precaution, EFTPS-PC 122 also displays a message box asking if the user is sure about deleting the acknowledged payments and only proceeds if the user selects a Yes button. Lastly, before deleting the payments, EFTPS-PC 122 asks if the user wants a printed summary report of the payments to be deleted.
Delete All Payments. This option deletes all tax data records in the EFTPS-PC 122 database, and is otherwise similar to the Delete Acknowledged Payments option.
4.2.6. The Exit function is used to terminate EFTPS-PC 122.
4.2.7. Help Menu Online help is a standard Windows function that the user can access in a variety of ways. EFTPS-PC 122 provides access to online help by including a Help item on window menu bars. Alternatively EFTPS-PC 122 provides access if the user presses the FI function key.
4.3. Repair and Compress Icon As with any database system, there are times when a database indexing system can become corrupted. For example, at the moment a record is being saved, the power to the building may fail. The next time the EFTPS-PC 122 database is accessed, the user receives an error message stating that the database is possibly corrupted and the user should elect the option to repair it. This is the purpose of the Repair and Compress icon in the EFTPS-PC Program Group. When the user selects the Repair and Compress icon, EFTPS-PC 122 automatically runs the standard Access Repair and Compress commands. EFTPS-PC 122 displays a message such as "Repairing and Compressing the EFTPS-PC Database... Please wait" while the commands are executing. If the process completes successfully, EFTPS-PC 122 displays a message such as "The EFTPS-PC Database was Repaired and Compressed successfully." If errors are detected, EFTPS-PC 122 displays advisory messages. EFTPS-PC 122 uses an eleven digit sequence number for tax data records. After the database is compressed, this number is reset to "1."
As a precaution, EFTPS-PC 122 always runs Repair before Compress even if no error message indicates that the EFTPS-PC 122 database is corrupted. Those skilled in the art understand that EFTPS-PC 122 could provide access to the Repair and Compress commands individually and let the user invoke them separately. It is recommended that the EFTPS-PC 122 Repair and Compress component is run periodically (e.g., once a month) as a preventive maintenance measure. If errors are detected, some records may have been lost. It is even possible that the entire set of records cannot be recovered. At this point, the only recourse the user has is to restore the EFTPS-PC 122 database from the last backup copy. Therefore, on a periodic basis, the system administrator should make a backup copy of the EFTPS-PC 122 database files.
5. Other Embodiments Other embodiments of the invention could use any appropriate user interface to interact with EFTPS-PC 122 procedures. 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: Tax Form Reference Information Special Requirements for Tax Types 941 and CT-1
Two tax types have special sub-category amount fields allowing entry of amounts up to $99,999,999.99. EFTPS-PC 122 allows the user to input the following data:
Tax Type 941
Social Security Amount Medicare Amount Tax Withholding Amount Tax Type CT-1
FICA Equivalent Amount Industry Amount Supplemental Amount
Special Requirements for Tax Types 720 and 720M
Tax types 720 and 720M allow amount information (up to $99,999,999.99) against specific sub-category codes. EFTPS-PC 122 allows the user to input up to 10 sub-category codes and amounts.
Tax Reason Codes
Figure imgf000038_0001
Note: Each tax form has an associated tax reason code. Not all reasons are applicable to every tax form. The following are the applicable reason codes for specific tax form types:
Tax Forms 11-C, 730, 706A, 706GS(D), 706GS(T), 926, 990, 990BL, 1041A,
1065, 1066, 1120DISC, 2290, 2438, 3520, 4720, 5227, 5329, 5811, 6069,
IRC7803(c), 8288, 8404, 8612, 8613, 8697, 8725, 8752, 8804: 0, 2, 7
Tax Forms 706, 709, 990C, 990T, 1120, 1041, 990PF: 0, 2, 6, 7
Tax Forms 940, 943: 0, 2, 4, 5, 7
Tax Forms 945, 1042: 0, 2, 5, 7
Tax Form 1040: 0,2,4,6,7
Tax Form 941: 0,2,4,5,7
Tax Form CT-1: 0,2,5,7
Tax Form 720: 0,2,5,7
Tax Form 720M: 0,2,7
Tax Code Conversion Table for Business Taxpayers
Figure imgf000039_0001
Figure imgf000040_0001
Figure imgf000041_0001
Figure imgf000042_0001
Figure imgf000043_0001
Tax Code Conversion Table for Individual Taxpayers
Figure imgf000043_0002
Figure imgf000044_0001
Figure imgf000045_0001
Appendix B: Database Tables Overview of Database Tables
Figure imgf000045_0002
Figure imgf000046_0001
Table: Build Columns
Build Number Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: 1
Column Width: 1275
Data Updatable: No
Input Mask: 000
Ordinal Position: 0
Required: No
Source Field: Build Number
Source Table: Build
Validate On Set: No
Release Date 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: 1245
Data Updatable: No
Format: Short Date
Ordinal Position: 1
Required: No
Source Field: Release Date
Source Table: Build
Validate On Set: No
Release Time 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: 1320
Data Updatable: No Format: Medium Time
Ordinal Position: 2
Required: No Source Field: Release Time
Source Table: Build
Validate On Set: No
Last Import Export Delimited Type = Text Size = 64
Allow Zero Length: No Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: 2700
Data Updatable: No Ordinal Position: 3
Required: No Source Field: Last Import Export
Delimited
Source Table: Build
Validate On Set: No
Last Import Export Fixed Type = Text Size = 64
Allow Zero Length: No Attributes: Variable Length Collating Order: General Column Hidden: No
Column Order: Default
Column Width: 2355
Data Updatable: No Ordinal Position: 4
Required: No Source Field: Last Import Export Fixed Source Table: Build
Validate On Set: No
Table: Build Indexes
PrimaryKey # of Fields = 1
Clustered: No
Distinct Count: 1 Foreign: No
Ignore Nulls: No
Name: PrimaryKey
Primary: Yes
Required: Yes
Unique: Yes
Fields: Build Number, Ascending
Table: Error Codes Columns
Code Type = Text Size = 8
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: 1
Column Width: 960
Data Updatable: No
Description: Error code from host.
Ordinal Position: 0
Required: No
Source Field: Error Code
Source Table: Error Codes
Validate On Set: No
Description Type = Text Size = 200
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: 8040
Data Updatable: No
Description: Descriptive reason for error.
Ordinal Position: 1
Required: No
Source Field: Error Description
Source Table: Error Codes
Validate On Set: No
Table: Error Codes Indexes
PrimaryKey # of Fields = 1
Clustered: No
Distinct Count: 33
Foreign: No
Ignore Nulls: No
Name: PrimaryKey Primary: Yes Required: Yes
Unique: Yes
Fields: Error Code, Ascending
Table: IRS Numbers Columns
IRS Number Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length Collating Order: General
Column Hidden: No
Column Order: 1
Column Width: 600
Data Updatable: No Description: IRS Numbers for Tax Type
720 & 720M
Input Mask: ### Ordinal Position: 0
Required: No Source Field: IRS Number
Source Table: IRS Number
Validate On Set: No
Description Type = Text Size = 120
Allow Zero Length: No Attributes: Variable Length Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: 6945
Data Updatable: No Ordinal Position: 1
Required: No Source Field: Description Source Table: IRS Numbers
Validate On Set: No order id Type = Number Size = 2
(Integer)
Allow Zero Length: No Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No Decimal Places: Auto
Default Value: 0 Description: For ordering in numerical order
Ordinal Position: 2 Required: No Source Field: ORDER ID Source Table: IRS Numbers Validate On Set: No
Table: IRS Numbers Indexes imaryKe y # of Fields = 1
Clustered: No
Distinct Count: 56
Foreign: No
Ignore Nulls: No
Name: PrimaryKey
Primary: Yes
Required: Yes
Unique: Yes
Fields: IRS Number, Ascending
Table: Payment Error Table Columns
Payment ID Type = Number Size = 4 (Long)
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 0
Required: No
Source Field: Payment ID
Source Table: Payment Error Table
Validate On Set: No
Error Code Type = Text Size = 8
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 1
Required: No
Source Field: Error Code
Source Table: Payment Error Table
Validate On Set: No
Error Description Type = Text Size = 200
Allow Zero Length: No
Attributes: Variable Length Collating Order: General
Data Updatable: No Ordinal Position: 2
Required: No Source Field: Error Description Source Table: Payment Error Table Validate On Set: No
Error Tag Type = Text Size = 4 Allow Zero Length: No Attributes: Variable Length
Collating Order: General
Data Updatable: No Ordinal Position: 3
Required: No Source Field: Error Tag
Source Table: Payment Error Table Validate On Set: No
Table: Payment Error Table Indexes
Payment ID # of Fields = 1
Clustered: No
Distinct Count: 0
Foreign: No
Ignore Nulls: No
Name: Payment ID
Primary: No
Required: No
Unique: No
Fields: Payment ID, Ascending
Table: payments Columns
Payment ID Type = Number Size = 4 (Long)
Allow Zero Length: No Attributes: Fixed Size, Auto-Increment Collating Order: Unknown or Undefined Data Updatable: No Ordinal Position: 1 Required: No Source Field: Payment ID Source Table: payments Validate On Set: No
User ID Type = Text Size = 20 Allow Zero Length: No Attributes: Variable Length Collating Order: General
Data Updatable: No
Ordinal Position: 2
Required: No
Source Field: User ID
Source Table: payments
Validate On Set: No in Type = Text Size = 9
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 3
Required: No
Source Field: tin
Source Table: payments
Validate On Set: No pin Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 4
Required: No
Source Field: pin
Source Table: payments
Validate On Set: No tax type code Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 5
Required: No
Source Field: tax type code
Source Table: payments
Validate On Set: No reason code Type = Text Size = l
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 6
Required: No
Source Field: reason code
Source Table: payments
Validate On Set: No tax period Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 7
Required: No
Source Field: tax period
Source Table: payments
Validate On Set: No amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 8
Required: No
Source Field: amount
Source Table: payments
Validate On Set: No verification code Type = Text Size = 2
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 9
Required: No
Source Field: verification code
Source Table: payments
Validate On Set: No requested Type = Date/Time Size = 8 settlement date
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 10
Required: No
Source Field: requested settlement date
Source Table: payments
Validate On Set: No actual settlement Type = Date/Time Size = 8 date
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No Ordinal Position: 11
Required: No
Source Field: actual settlement date
Source Table: payments
Validate On Set: No override tax type Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 12
Required: No
Source Field: override tax type
Source Table: payments
Validate On Set: No override threshold Type = Yes/No Size = 1
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 13
Required: No
Source Field: override threshold
Source Table: payments
Validate On Set: No override duplicate Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 14
Required: No
Source Field: override duplicate
Source Table: payments
Validate On Set: No futa override Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 15
Required: No
Source Field: futa override
Source Table: payments
Validate On Set: No filing period Type = Yes/No Size = l override Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 16
Required: No
Source Field: filing period override
Source Table: payments
Validate On Set: No subcategory count Type = Text Size = 2
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 17
Required: No
Source Field: subcategory count
Source Table: payments
Validate On Set: No ss amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 18
Required: No
Source Field: ss amount
Source Table: payments
Validate On Set: No medicare amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 19
Required: No
Source Field: medicare amount
Source Table: payments
Validate On Set: No tax wh amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 20
Required: No
Source Field: tax wh amount Source Table: payments
Validate On Set: No fica equivalent Type = Currency Size = 8 amount
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 21
Required: No
Source Field: fica equivalent amount
Source Table: payments
Validate On Set: No industry amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 22
Required: No
Source Field: industry amount
Source Table: payments
Validate On Set: No supplemental Type = Currency Size = 8 amount
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 23
Required: No
Source Field: supplemental amount
Source Table: payments
Validate On Set: No irs#l Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 24
Required: No
Source Field: irs#l
Source Table: payments
Validate On Set: No irs amount 1 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 25
Required: No
Source Field: irs amount 1
Source Table: payments
Validate On Set: No irs#2 Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 26
Required: No
Source Field: irs#2
Source Table: payments
Validate On Set: No irs amount 2 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 27
Required: No
Source Field: irs amount 2
Source Table: payments
Validate On Set: No irs#3 Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 28
Required: No
Source Field: irs#3
Source Table: payments
Validate On Set: No irs amount 3 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 29
Required: No
Source Field: irs amount 3
Source Table: payments
Validate On Set: No irs#4 Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 30
Required: No
Source Field: irs#4
Source Table: payments
Validate On Set: No irs amount 4 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 31
Required: No
Source Field: irs amount 4
Source Table: payments
Validate On Set: No irs#5 Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 32
Required: No
Source Field: irs#5
Source Table: payments
Validate On Set: No irs amount 5 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 33
Required: No
Source Field: irs amount 5
Source Table: payments
Validate On Set: No irs#6 Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 34
Required: No Source Field: irs#6
Source Table: payments
Validate On Set: No irs amount 6 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 35
Required: No
Source Field: irs amount 6
Source Table: payments
Validate On Set: No irs#7 Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 36
Required: No
Source Field: irs#7
Source Table: payments
Validate On Set: No irs amount 7 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 37
Required: No
Source Field: irs amount 7
Source Table: payments
Validate On Set: No irs#8 Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 38
Required: No
Source Field: irs#8
Source Table: payments
Validate On Set: No irs amount 8 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined Data Updatable: No
Ordinal Position: 39
Required: No
Source Field: irs amount 8
Source Table: payments
Validate On Set: No irs#9 Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 40
Required: No
Source Field: irs#9
Source Table: payments
Validate On Set: No irs amount 9 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 41
Required: No
Source Field: irs amount 9
Source Table: payments
Validate On Set: No irs#10 Type = Text Size = 3
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 42
Required: No
Source Field: irs#10
Source Table: payments
Validate On Set: No irs amount 10 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 43
Required: No
Source Field: irs amount 10
Source Table: payments
Validate On Set: No sent Type = Number Size = 2
(Integer)
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 44
Required: No
Source Field: sent
Source Table: payments
Validate On Set: No stage Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 45
Required: No
Source Field: stage
Source Table: payments
Validate On Set: No error Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 46
Required: No
Source Field: error
Source Table: payments
Validate On Set: No acknowledgment Type = Text Size = 15 number
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 47
Required: No
Source Field: acknowledgment number
Source Table: payments
Validate On Set: No user field 1 Type = Text Size = 25
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No Ordinal Position: 48
Required: No
Source Field: user field 1
Source Table: payments
Validate On Set: No user field 2 Type = Text Size = 25
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 49
Required: No
Source Field: user field 2
Source Table: payments
Validate On Set: No errorl Type = Text Size = 8
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 50
Required: No
Source Field: errorl
Source Table: payments
Validate On Set: No
Table: payments Indexes
PrimaryKey # of Fields = 1
Clustered: No
Distinct Count: 5
Foreign: No
Ignore Nulls: No
Name: PrimaryKey
Primary: Yes
Required: Yes
Unique: Yes
Fields: Payment ID, Ascending tax type # of Fields = 1
Clustered: No
Distinct Count: 4
Foreign: No
Ignore Nulls: No
Name: tax type
Primary: No
Required: No
Unique: No Fields: tax type code, _ tin # of Fields = 1
Clustered: No
Distinct Count: 5
Foreign: No
Ignore Nulls: No
Name: tin
Primary: No
Required: No
Unique: No
Fields: tin, Ascending
Table: reason Columns
Reason Code Type = Text Size = 1
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: 705
Data Updatable: No Description: Reason for Tax Payment Input Mask: # Ordinal Position: 0
Required: No Source Field: Reason Code
Source Table: reason
Validate On Set: No
Reason Description Type = Text Size = 120
Allow Zero Length: No
Attributes: Variable Length Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: 8475
Data Updatable: No Description: Description of the reason for this payment.
Ordinal Position: 1
Required: No Source Field: Reason Description Source Table: reason
Validate On Set: No Table: reason Indexes
PrimaryKey # of Fields = 1
Clustered: No
Distinct Count: 6
Foreign: No
Ignore Nulls: No
Name: PrimaryKey
Primary: Yes
Required: Yes
Unique: Yes
Fields: Reason Code, Ascending
Table: Sequence_Translation Columns
Sequence Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Data Updatable: No
Ordinal Position: 0
Required: No
Source Field: Sequence
Source Table: Sequence_ Translation
Validate On Set: No
Payment ID Type = Number Size = 4
(Long)
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Data Updatable: No
Ordinal Position: 1
Required: No
Source Field: Payment ID
Source Table: Sequence_ Translation
Validate On Set: No
Table: Sequence_Translation Indexes
PrimaryKey # of Fields = 1
Clustered: No
Distinct Count: 1
Foreign: No
Ignore Nulls: No
Name: PrimaryKey
Primary: Yes
Required: Yes Unique: Yes Fields: Sequence, Ascending
Table: tax type Columns
Tax Type Code Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: 525
Data Updatable: No
Description: Tax Type code - 4 digit
Input Mask: ####
Ordinal Position: 0
Required: No
Source Field: Tax Type Code
Source Table: tax type
Validate On Set: No
Validation Text: MUST BE NUMBER
Tax Type Name Type = Text Size = 10
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: 960
Data Updatable: No
Description: Tax Type name - 4 character
Ordinal Position: 1
Required: No
Source Field: Tax Type Name
Source Table: tax type
Validate On Set: No ordering id Type = Number Size = 2 (Integer)
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: 630
Data Updatable: No
Decimal Places: Auto
Default Value: 0 Description: Allows ordering of pick list Ordinal Position: 2 Required: No Source Field: ordering id Source Table: tax type Validate On Set: No
Tax Type Type = Text Size = 85 Description
Allow Zero Length: No Attributes: Variable Length Collating Order: General Column Hidden: No Column Order: Default Column Width: 7065 Data Updatable: No Description: Description of the Tax
Form Payment is for.
Ordinal Position: 3 Required: No Source Field: Tax Type Description Source Table: tax type Validate On Set: No
Table: tax type Indexes
PrimaryKey # of Fields = 1
Clustered: No
Distinct Count: 45
Foreign: No
Ignore Nulls: No
Name: PrimaryKey
Primary: Yes
Required: Yes
Unique: Yes
Fields: Tax Type Code, Ascending
Table: Temp Import Columns
User ID Type = Text Size = 20
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 1 Required: No
Source Field: User ID
Source Table: Temp Import
Validate On Set: No in 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
Ordinal Position: 2
Required: No
Source Field: tin
Source Table: Temp Import
Validate On Set: No pin Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 3
Required: No
Source Field: pin
Source Table: Temp Import
Validate On Set: No tax type code Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 4
Required: No
Source Field: tax type code
Source Table: Temp Import
Validate On Set: No reason code Type = Text Size = l
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No Ordinal Position: 5
Required: No Source Field: reason code
Source Table: Temp Import Validate On Set: No tax period Type = Text Size = 4
Allow Zero Length: No Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No Ordinal Position: 6
Required: No Source Field: tax period Source Table: Temp Import Validate On Set: No amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No Decimal Places: Auto
Ordinal Position: 7
Required: No Source Field: amount
Source Table: Temp Import Validate On Set: No verification code Type = Text Size = 2
Allow Zero Length: No Attributes: Variable Length Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No Ordinal Position: 8
Required: No Source Field: verification code Source Table: Temp Import
Validate On Set: No requested Type = Date/Time Size = 8 settlement date
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 9
Required: No
Source Field: requested settlement date
Source Table: Temp Import
Validate On Set: No actual settlement Type = Date/Time Size = 8 date
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 10
Required: No
Source Field: actual settlement date
Source Table: Temp Import
Validate On Set: No override tax type Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 11
Required: No
Source Field: override tax type
Source Table: Temp Import
Validate On Set: No override threshold Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 12
Required: No
Source Field: override threshold
Source Table: Temp Import
Validate On Set: No override duplicate Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 13
Required: No
Source Field: override duplicate
Source Table: Temp Import
Validate On Set: No futa override Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 14
Required: No
Source Field: futa override
Source Table: Temp Import
Validate On Set: No filing period Type = Yes/No Size = l override
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 15
Required: No
Source Field: filing period override Source Table: Temp Import
Validate On Set: No subcategory count Type = Text Size = 2
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 16
Required: No
Source Field: subcategory count
Source Table: Temp Import
Validate On Set: No ss amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 17
Required: No
Source Field: ss amount
Source Table: Temp Import
Validate On Set: No medicare amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 18
Required: No
Source Field: medicare amount
Source Table: Temp Import
Validate On Set: No tax wh amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 19
Required: No
Source Field: tax wh amount
Source Table: Temp Import
Validate On Set: No fica equivalent Type = Currency Size = 8 amount
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 20
Required: No
Source Field: fica equivalent amount
Source Table: Temp Import
Validate On Set: No industry amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 21
Required: No
Source Field: industry amount
Source Table: Temp Import
Validate On Set: No supplemental Type = Currency Size = 8 amount
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default Data Updatable: No
Decimal Places: Auto
Ordinal Position: 22
Required: No
Source Field: supplemental amount
Source Table: Temp Import
Validate On Set: No irs#l 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
Ordinal Position: 23
Required: No
Source Field: irs#l
Source Table: Temp Import
Validate On Set: No irs amount 1 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 24
Required: No
Source Field: irs amount 1
Source Table: Temp Import
Validate On Set: No irs#2 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
Ordinal Position: 25
Required: No
Source Field: irs#2
Source Table: Temp Import
Validate On Set: No irs amount 2 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 26
Required: No
Source Field: irs amount 2
Source Table: Temp Import
Validate On Set: No irs#3 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
Ordinal Position: 27
Required: No
Source Field: irs#3
Source Table: Temp Import
Validate On Set: No irs amount 3 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 28
Required: No
Source Field: irs amount 3
Source Table: Temp Import
Validate On Set: No irs#4 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
Ordinal Position: 29
Required: No
Source Field: irs#4
Source Table: Temp Import
Validate On Set: No irs amount 4 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 30
Required: No
Source Field: irs amount 4
Source Table: Temp Import
Validate On Set: No irs#5 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
Ordinal Position: 31
Required: No
Source Field: irs#5
Source Table: Temp Import
Validate On Set: No irs amount 5 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 32
Required: No
Source Field: irs amount 5
Source Table: Temp Import Validate On Set: No irs#6 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
Ordinal Position: 33
Required: No
Source Field: irs#6
Source Table: Temp Import
Validate On Set: No irs amount 6 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 34
Required: No
Source Field: irs amount 6
Source Table: Temp Import
Validate On Set: No irs#7 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
Ordinal Position: 35
Required: No
Source Field: irs#7
Source Table: Temp Import
Validate On Set: No irs amount 7 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 36
Required: No
Source Field: irs amount 7
Source Table: Temp Import
Validate On Set: No irs#8 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
Ordinal Position: 37
Required: No
Source Field: irs#8
Source Table: Temp Import
Validate On Set: No irs amount 8 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 38
Required: No
Source Field: irs amount 8
Source Table: Temp Import
Validate On Set: No irs#9 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
Ordinal Position: 39
Required: No
Source Field: irs#9
Source Table: Temp Import Validate On Set: No irs amount 9 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 40
Required: No
Source Field: irs amount 9
Source Table: Temp Import
Validate On Set: No irs#10 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
Ordinal Position: 41
Required: No
Source Field: irs#10
Source Table: Temp Import
Validate On Set: No irs amount 10 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 42
Required: No
Source Field: irs amount 10
Source Table: Temp Import
Validate On Set: No sent Type = Number Size = 2 (Integer)
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Default Value: 0
Ordinal Position: 43
Required: No
Source Field: sent
Source Table: Temp Import
Validate On Set: No stage Type = Number Size = 2
(Integer)
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Default Value: 0
Ordinal Position: 44
Required: No
Source Field: stage
Source Table: Temp Import
Validate On Set: No error Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 45
Required: No
Source Field: error
Source Table: Temp Import
Validate On Set: No acknowledgment Type = Text Size = 15 number
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default Column Width: Default
Data Updatable: No
Ordinal Position: 46
Required: No
Source Field: acknowledgment number
Source Table: Temp Import
Validate On Set: No user field 1 Type = Text Size = 25
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 47
Required: No
Source Field: user field 1
Source Table: Temp Import
Validate On Set: No user field 2 Type = Text Size = 25
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 48
Required: No
Source Field: user field 2
Source Table: Temp Import
Validate On Set: No errorl 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
Ordinal Position: 49
Required: No
Source Field: errorl
Source Table: Temp Import
Validate On Set: No Table: Temp Import Indexes tax type # of Fields = 1
Clustered: No
Distinct Count: 0
Foreign: No
Ignore Nulls: No
Name: tax type
Primary: No
Required: No
Unique: No
Fields: tax type code, Ascending tin # of Fields = 1 Clustered: No Distinct Count: 0 Foreign: No Ignore Nulls: No Name: tin Primary: No Required: No Unique: No Fields: tin, Ascending
Table: work_swm_temp Columns
User ID Type = Text Size = 20
Allow Zero Length: No Attributes: Variable Length Collating Order: General Column Hidden: No Column Order: Default Column Width: Default Data Updatable: No Ordinal Position: 1 Required: No Source Field: User ID Source Table: work_swm_temp Validate On Set: No tin 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 Ordinal Position: 2
Required: No
Source Field: tin
Source Table: work_swm_temp
Validate On Set: No tax type code Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 3
Required: No
Source Field: tax type code
Source Table: work swm temp
Validate On Set: No reason code Type = Text Size = l
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 4
Required: No
Source Field: reason code
Source Table: work_swm_temp
Validate On Set: No tax period Type = Text Size = 4
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 5
Required: No
Source Field: tax period
Source Table: work_swm_temp
Validate On Set: No amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 6
Required: No
Source Field: amount
Source Table: work_swm_temp
Validate On Set: No verification code Type = Text Size = 2
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 7
Required: No
Source Field: verification code
Source Table: work swm temp
Validate On Set: No requested Type = Date/Time Size = 8 settlement date
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 8
Required: No
Source Field: requested settlement date
Source Table: work swm_temp
Validate On Set: No override tax type Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 9 Required: No
Source Field: override tax type
Source Table: work_swm_temp
Validate On Set: No override threshold Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 10
Required: No
Source Field: override threshold
Source Table: work_swm_temp
Validate On Set: No override duplicate Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 11
Required: No
Source Field: override duplicate
Source Table: work_swm_temp
Validate On Set: No futa override Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 12
Required: No
Source Field: futa override
Source Table: work_swm_temp
Validate On Set: No filing period Type = Yes/No Size = l override
Allow Zero Length: No
Attributes: Fixed Size Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 13
Required: No
Source Field: filing period override
Source Table: work swm temp
Validate On Set: No subcategory count Type = Text Size = 2
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 14
Required: No
Source Field: subcategory count
Source Table: work_swm_temp
Validate On Set: No ss amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 15
Required: No
Source Field: ss amount
Source Table: work_swm_temp
Validate On Set: No medicare amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 16 Required: No
Source Field: medicare amount
Source Table: work swm temp
Validate On Set: No tax wh amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 17
Required: No
Source Field: tax wh amount
Source Table: work_swm temp
Validate On Set: No fica equivalent Type = Currency Size = 8 amount
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 18
Required: No
Source Field: fica equivalent amount
Source Table: work swm_temp
Validate On Set: No industry amount Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 19
Required: No
Source Field: industry amount
Source Table: work_swm_temp
Validate On Set: No supplemental Type = Currency Size = 8 amount
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 20
Required: No
Source Field: supplemental amount
Source Table: work_swm_temp
Validate On Set: No irs#l 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
Ordinal Position: 21
Required: No
Source Field: irs#l
Source Table: work swm_temp
Validate On Set: No irs amount 1 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 22
Required: No
Source Field: irs amount 1
Source Table: work_swm_temp
Validate On Set: No irs#2 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
Ordinal Position: 23
Required: No
Source Field: irs#2
Source Table: work_swm temp
Validate On Set: No irs amount 2 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 24
Required: No
Source Field: irs amount 2
Source Table: work swm temp
Validate On Set: No irs#3 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
Ordinal Position: 25
Required: No
Source Field: irs#3
Source Table: work swm temp
Validate On Set: No irs amount 3 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 26
Required: No
Source Field: irs amount 3 Source Table: work swm temp
Validate On Set: No irs#4 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
Ordinal Position: 27
Required: No
Source Field: irs#4
Source Table: work swm_temp
Validate On Set: No irs amount 4 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 28
Required: No
Source Field: irs amount 4
Source Table: work_swm_temρ
Validate On Set: No irs#5 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
Ordinal Position: 29
Required: No
Source Field: irs#5
Source Table: work_swm_temp
Validate On Set: No irs amount 5 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 30
Required: No
Source Field: irs amount 5
Source Table: work_swm temp
Validate On Set: No irs#6 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
Ordinal Position: 31
Required: No
Source Field: irs#6
Source Table: work_swm_temp
Validate On Set: No irs amount 6 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 32
Required: No
Source Field: irs amount 6
Source Table: work swm temp
Validate On Set: No irs#7 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
Ordinal Position: 33
Required: No
Source Field: irs#7 Source Table: work swm temp
Validate On Set: No irs amount 7 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 34
Required: No
Source Field: irs amount 7
Source Table: work_swm_temp
Validate On Set: No irs#8 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
Ordinal Position: 35
Required: No
Source Field: irs#8
Source Table: work_swm_temp
Validate On Set: No irs amount 8 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 36
Required: No
Source Field: irs amount 1
Source Table: work swm temp
Validate On Set: No irs#9 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
Ordinal Position: 37
Required: No
Source Field: irs#9
Source Table: work swm temp
Validate On Set: No irs amount 9 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 38
Required: No
Source Field: irs amount 9
Source Table: work_swm_temp
Validate On Set: No irs#10 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
Ordinal Position: 39
Required: No
Source Field: irs#10
Source Table: work_swm_temp
Validate On Set: No irs amount 10 Type = Currency Size = 8
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 40
Required: No Source Field: irs amount 10
Source Table: work_swm_temp
Validate On Set: No stage Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 41
Required: No
Source Field: stage
Source Table: work_swm temp
Validate On Set: No user field 1 Type = Text Size = 25
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 42
Required: No
Source Field: user field 1
Source Table: work swm temp
Validate On Set: No user field 2 Type = Text Size = 25
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 43
Required: No
Source Field: user field 2
Source Table: work_swm_temp
Validate On Set: No
Figure imgf000093_0001
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 44
Required: No
Source Field: pin
Source Table: work_swm_temp
Validate On Set: No actual settlement Type = Date/Time Size = 8 date
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 45
Required: No
Source Field: actual settlement date
Source Table: work swm temp
Validate On Set: No sent Type = Number Size = 2
(Integer)
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Decimal Places: Auto
Ordinal Position: 46
Required: No
Source Field: sent
Source Table: work swm_temp
Validate On Set: No error Type = Yes/No Size = l
Allow Zero Length: No
Attributes: Fixed Size
Collating Order: Unknown or Undefined
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 47
Required: No Source Field: error
Source Table: work_swm temp
Validate On Set: No acknowledgment Type = Text Size = 15 number
Allow Zero Length: No
Attributes: Variable Length
Collating Order: General
Column Hidden: No
Column Order: Default
Column Width: Default
Data Updatable: No
Ordinal Position: 48
Required: No
Source Field: acknowledgment number
Source Table: work_swm_temp
Validate On Set: No errorl 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
Ordinal Position: 49
Required: No
Source Field: errorl
Source Table: work_swm_temp
Validate On Set: No
Table: work_swm_temp Indexes tax type # of Fields = 1
Clustered: No
Distinct Count: 0
Foreign: No
Ignore Nulls: No
Name: tax type
Primary: No
Required: No
Unique: No
Fields: tax type code, Ascending tin # of Fields = 1
Clustered: No
Distinct Count: 0
Foreign: No Ignore Nulls: No
Name: tin
Primary: No
Required: No
Unique: No
Fields: tin, Ascending
Appendix C: Import/Export Data Files Import Data File
Figure imgf000096_0001
Figure imgf000097_0001
Note: If certain data elements are not applicable or are to be excluded, completely omit those data elements from the string.
Export Data File
Figure imgf000097_0002
Figure imgf000098_0001

Claims

What is claimed is: 1. A method for facilitating the input of tax data into a computer, said tax data including one or more data entries, comprising the steps of: requesting that a user enter said data entries into one or more data entry fields; receiving said data entries from said data entry fields; and determining whether one or more of said data entries satisfies a corresponding validity criterion.
2. The method of claim 1, further comprising the step of notifying said user if one of said data entries does not satisfy a validity criterion corresponding to said data entry.
3. The method of claim 2, further comprising the step of receiving a new data entry to replace one of said data entries.
4. The method of claim 1 , further comprising the step of submitting said tax data for processing if said user indicates that said tax data is ready for submission.
5. The method of claim 1 , wherein at least one of said data entry fields has an associated set of choices from which said user selects an item.
6. The method of claim 5, wherein said set of choices is presented to said user as a drop-down list.
7. The method of claim 1 , wherein said tax data is stored in a table.
8. The method of claim 7, wherein a relational database contains said table.
9. The method of claim 1 , wherein said step of determining whether one or more of said data entries satisfies a corresponding validity criterion is performed as each of said data entries is received.
10. The method of claim 1 , wherein said step of determining whether one or more of said data entries satisfies a corresponding validity criterion is performed after all of said data entries are received.
11. The method of claim 1 , wherein a validity criterion corresponding to at least one of said data entries is pre-defined.
12. The method of claim 1 , wherein a validity criterion corresponding to at least one of said data entries is dependent upon another of said data entries.
13. The method of claim 1 , wherein a validity criterion corresponding to at least one of said data entries is a data format edit.
14. The method of claim 13, wherein said data format edit is a nine digit taxpayer identification number (TIN).
15. The method of claim 13 , wherein said data format edit is a four digit personal identification number (PIN).
16. The method of claim 1 , wherein a validity criterion corresponding to at least one of said data entries is a data content edit.
17. The method of claim 16, wherein said data content edit is a valid settlement date.
18. The method of claim 16, wherein said data content edit is a verification code based on an amount entered by said user.
19. The method of claim 16, wherein said data content edit is a valid tax form.
20. The method of claim 16, wherein said data content edit is a valid tax period for a valid tax form.
21. The method of claim 16, wherein said data content edit is a valid reason code for a valid tax form.
22. The method of claim 16, wherein said data content edit is a valid personal identification number (PIN) for a valid taxpayer identification number (TIN).
23. A system for facilitating the input of tax data into a computer, said tax data including one or more data entries, comprising: control logic configured to request that a user enter said data entries into one or more data entry fields; control logic configured to receive said data entries from said data entry fields; and control logic configured to determine whether one or more of said data entries satisfies a corresponding validity criterion.
24. The system of claim 23, further comprising control logic configured to notify said user if one of said data entries does not satisfy a validity criterion corresponding to said data entry.
25. The system of claim 24, further comprising control logic configured to receive a new data entry to replace one of said data entries.
26. The system of claim 23, wherein said control logic configured to determine whether one or more of said data entries satisfies a corresponding validity criterion is executed as each of said data entries is received.
27. The system of claim 23, wherein said control logic configured to determine whether one or more of said data entries satisfies a corresponding validity criterion is executed after all of said data entries are received.
28. The system of claim 23, wherein a validity criterion corresponding to at least one of said data entries is pre-defined.
29. The system of claim 23, wherein a validity criterion corresponding to at least one of said data entries is dependent upon another of said data entries.
PCT/US1998/016741 1997-08-20 1998-08-11 Interactive tax payment system WO1999009504A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU87808/98A AU8780898A (en) 1997-08-20 1998-08-11 Interactive tax payment system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US91507397A 1997-08-20 1997-08-20
US08/915,073 1997-08-20

Publications (1)

Publication Number Publication Date
WO1999009504A1 true WO1999009504A1 (en) 1999-02-25

Family

ID=25435171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/016741 WO1999009504A1 (en) 1997-08-20 1998-08-11 Interactive tax payment system

Country Status (2)

Country Link
AU (1) AU8780898A (en)
WO (1) WO1999009504A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6743802B2 (en) 2001-08-29 2004-06-01 Merck Frosst Canada & Co. Alkyne-aryl phosphodiesterase-4 inhibitors
US7603301B1 (en) * 2000-04-26 2009-10-13 Accenture Llp Verification and printing of a tax return in a network-based tax architecture
US20140180883A1 (en) * 2000-04-26 2014-06-26 Accenture Llp System, method and article of manufacture for providing tax services in a network-based tax architecture
US11314621B2 (en) 2019-06-13 2022-04-26 International Business Machines Corporation Software application validation

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Our fifth annual 1040 tax prep face-off", ACCOUNTING TECHNOLOGY, NOV. 1996, FAULKNER & GRAY, USA, vol. 12, no. 10, ISSN 0883-1866, pages 20 - 76, XP002088260 *
HOWLETT D: "Death and taxes tax software reviews", WHAT PERSONAL COMPUTER, AUG. 1997, EMAP COMPUTING, UK, no. 97, ISSN 0956-5248, pages 96 - 97, XP002088262 *
HOWLETT D: "The taxman cometh Software review", WHAT PERSONAL COMPUTER, JULY 1996, EMAP COMPUTING, UK, no. 84, ISSN 0956-5248, pages 132 - 133, XP002088261 *
SCOTT R W: "Don't fret over Web tax prep", ACCOUNTING TECHNOLOGY, JULY 1997, FAULKNER & GRAY, USA, vol. 13, no. 6, ISSN 0883-1866, pages 14, 16, XP002088263 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603301B1 (en) * 2000-04-26 2009-10-13 Accenture Llp Verification and printing of a tax return in a network-based tax architecture
US20140180883A1 (en) * 2000-04-26 2014-06-26 Accenture Llp System, method and article of manufacture for providing tax services in a network-based tax architecture
US6743802B2 (en) 2001-08-29 2004-06-01 Merck Frosst Canada & Co. Alkyne-aryl phosphodiesterase-4 inhibitors
US11314621B2 (en) 2019-06-13 2022-04-26 International Business Machines Corporation Software application validation

Also Published As

Publication number Publication date
AU8780898A (en) 1999-03-08

Similar Documents

Publication Publication Date Title
US6507826B1 (en) Remote electronic invoice entry and validation system and method therefor
US5424938A (en) Method and apparatus for providing access to a plurality of payment networks
US8332310B2 (en) System and method for facilitating the handling of a dispute using disparate architecture
US5530848A (en) System and method for implementing an interface between an external process and transaction processing system
US6856970B1 (en) Electronic financial transaction system
US7249113B1 (en) System and method for facilitating the handling of a dispute
US7523058B2 (en) Systems and methods for processing negotiable instruments
US7630989B2 (en) Transaction management system
US20030167229A1 (en) Modular business transations platform
US20020198798A1 (en) Modular business transactions platform
US20020198828A1 (en) Modular business transactions platform
US20020198829A1 (en) Modular business transactions platform
US20030004874A1 (en) Electronic bill presentment system with client specific formatting of data
US20040225603A1 (en) System and method for web access to financial data
US20080010200A1 (en) Systems and methods for processing payments with payment review features
US20060074799A1 (en) Method and system for integrated payment processing
US20080250078A1 (en) Method and system for server-based error processing in support of legacy-based usage and billing systems
US20020128954A1 (en) Electronic trade confirmation system and method
KR100803942B1 (en) Journalizing system and method of accounting information
WO1999009504A1 (en) Interactive tax payment system
WO2008005017A1 (en) Systems and methods for processing payments with payment review features
US7120649B2 (en) Systems and methods for recovery audit scope determination
JP3152354B2 (en) Paperless accounting system
US20050228987A1 (en) Method and apparatus for providing audit certificate for investor-relations-information disclosed in computer network
WO1999006931A1 (en) Electronic tax payment system

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: 1999513345

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