EP1285389A1 - Real-time global tariff and import data system and method - Google Patents
Real-time global tariff and import data system and methodInfo
- Publication number
- EP1285389A1 EP1285389A1 EP01947712A EP01947712A EP1285389A1 EP 1285389 A1 EP1285389 A1 EP 1285389A1 EP 01947712 A EP01947712 A EP 01947712A EP 01947712 A EP01947712 A EP 01947712A EP 1285389 A1 EP1285389 A1 EP 1285389A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- duty
- import
- tax
- transaction
- subject
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q99/00—Subject matter not provided for in other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Definitions
- the present invention generally relates to systems and methods for providing tariff and import data. More specifically, the present invention relates to computer systems that determine and make such data available over a network.
- the Web World Wide Web
- World markets are becoming more intenelated and the demands for the importation of goods and services is growing accordingly. Part of the increased demand may also be attributed to the growth of the Web.
- the Web allows consumers, whether businesses, organizations, or private individuals, to shop the world on-line, from the convenience of a home or office computer.
- the present invention is a system and method for providing real-time tariff and import data over a computer network, preferably including the calculation of total landed cost.
- a duty calculation engine accesses relevant tariff rates and applies the rate that is applicable to arrive at a duty calculation.
- An import tax calculation engine accesses relevant databases of country
- a total landed cost calculation engine calculates a total landed cost from the calculated duty (or tariff) and import tax, along with other transaction related costs, such as freight and insurance costs.
- a real-time tariff and import data system in accordance with the present invention may be implemented as a business-to-business (“B2B”) system, a business-to-consumer (“B2C”) i o system, or as some combination thereof.
- B2B business-to-business
- B2C business-to-consumer
- the system may be accessed over one or more of any of a variety of networks, such as local area networks (LANs), wide area networks (WANs), virtual private networks (VPNs), intranets, extranets, the World Wide Web (the "Web”), the Internet, telephone networks or some combination thereof.
- LANs local area networks
- WANs wide area networks
- VPNs virtual private networks
- intranets intranets
- extranets extranets
- the World Wide Web the World Wide Web
- the Internet telephone networks or some combination thereof.
- the real-time tariff and import data system includes databases having cunent duty and
- the databases are coupled to a set of servers, for example, which host the duty calculation, tax calculation, and total landed cost calculation engines.
- the servers are accessible by any of a number of types of network enabled devices, such as personal computers (PCs), workstations, other (third party) servers or systems, personal digital assistants (PDAs), telephones, or other such devices.
- the data in the databases may be i o automatically updated by remote third party sources or they may be updated locally, or some combination thereof.
- the real-time tariff and import data system servers may link to third party sources of such tariff and tax information.
- the databases are kept substantially current, to provide accurate information to customers.
- the content of the databases may embody trade restrictions imposed between countries. That is, where a country prohibits trade with another country, the real-time tariff and import data system may include a transaction validity checker that alerts the customer that the input transaction is forbidden by one of the countries (e.g., destination country) involved.
- a transaction validity checker that alerts the customer that the input transaction is forbidden by one of the countries (e.g., destination country) involved.
- the inputs may include one or more electronic devices (e.g., PC, workstation, PDA, and/or other network enabled devices configured for user input).
- the inputs may include one or more of
- PIN access is controlled
- access code origin country, shipment (or export) country, destination (or import) country
- input code type product code
- transaction value number of units being bought
- unit code cost of transportation
- insurance cost other (ancillary) costs
- transaction currency conversion cunency, and output format code
- the access code input specifies whether the duties and taxes are calculated within or over
- the origin country is the country from where the product is considered to be manufactured.
- the shipment country is the country from where the products are sent.
- the destination country is the country to where the products are to be sent, also refened to as the country of importation.
- the input code type represents the type of input given for the product code (e.g., HS code or user defined product code).
- o code identifies the category of the product.
- the unit code specifies the units (e.g., pounds, liters and so on) associated with the products, and the number of units tells how many units are being imported (e.g., 10, 000).
- a desired output format from a predetermined set of output formats can be specified by the user through entry of an output format code.
- Output formats include duty rate, duty amount, detailed duty, tax rate, tax amounts, detailed taxes, duty and tax rates, duty and
- the inputs are entered into an on-line request form, which may be an XML (extensible Markup Language) document, for example.
- an on-line request form which may be an XML (extensible Markup Language) document, for example.
- the present invention includes a Web- based interface that allows users to interact with the system and get duty tariff and import data system servers to produce an output, in accordance with the chosen output format.
- a Web- based interface that allows users to interact with the system and get duty tariff and import data system servers to produce an output, in accordance with the chosen output format.
- the real-time tariff and import data system is configured to provide real-time import duty, tax, and total landed cost information for shipments among the various countries represented in the databases.
- the real-time tariff and import data system maybe accessed by any of a variety of client device configurations, such as Web user client, a Java client 102B, and an XML client. Regardless of the configurations of the client device, communication between the client device and the real-time tariff and import data system is preferably accomplished using standard communication and format protocols and languages, such as the Internet Protocol and XML. Additionally, communication using encryption and access control mechanisms may be
- the present invention may include functionality or links to insurance providers for obtaining insurance cost figures and/ or to transportation providers for obtaining transportation figures. Additionally, the present invention may also facilitate or enable the purchasing of such insurance and transportation, hi such embodiments, the user need not
- L0 input insurance or transportation cost information as the case may be, and the outputs may variously include the system calculated insurance and transportation costs.
- the real-time tariff and import data system may provide for customer account and billing, based on use, transactions, or flat fee structures.
- the system may serve as a back-end system for a third party, or as a front end system that is directly accessible by customers.
- FIG. 1 is a representative architecture of the real-time tariff and import data system, in accordance with the present invention
- FIG. 2 is an architecture of a distributed real-time tariff and import data system, in accordance with the present invention
- FIG. 3 is a software architecture for the real-time tariff and import data system of FIG.1 !5 or FIG. 2;
- FIG. 4 is a block diagram showing the primary functional components of the software architecture of FIG. 3;
- FIG.s 7 A, 7B and 7C are diagrams depicting XML request string exchange and processing by the real-time tariff and import data system of FIG. 1 and FIG. 2;
- FIG.s 8A, 8B and 8C are diagrams depicting Web-based request exchange and processing by the real-time tariff and import data system of FIG. 1 and FIG. 2;
- FIG. 9A and 9B are diagrams depicting Java-based request exchange and processing by the real-time tariff and import data system of FIG. 1 and FIG. 2
- the present invention is a system and method for providing real-time tariff and import data over a computer network, including the calculation of total landed cost.
- a duty calculation engine accesses relevant tariff rates and applies the rate that is applicable to arrive at a duty calculation.
- An import tax calculation engine accesses relevant databases of country specific import tax rates, charges and fees and applies them to arrive at import tax costs.
- a total landed cost calculation engine determines the total landed cost from the duty calculation and the import tax calculation, along with other transaction related costs, such as transaction L5 value, freight and insurance costs, type of good(s), import, shipment, and export countries.
- a real-time tariff and import data system in accordance with the present invention may be implemented as a business-to-business ("B2B") system, a business-to-consumer (B2C) system, or as some combination thereof.
- B2B business-to-business
- B2C business-to-consumer
- the system maybe accessed over one or more of any of a variety of networks, such as local area networks (LANs), wide area networks (WANs), virtual i o private networks (VPNs), intranets, exfranets, the World Wide Web (the "Web"), the Internet, telephone network, or some combination thereof.
- the real-time tariff and import data system may serve as a front-end system, directly accessible by those seeking tariff, import tax and/or total landed cost data for a transaction.
- the real-time tariff and import data system may serve as a back-end system, coupled to a front-end international transaction 25 system, for example.
- FIG. 1 shows a representative architecture 100 implementing the present invention.
- Architecture 100 includes a set of client devices 102 configured to access the real-time tariff and import data system 120 via the Internet 104. Access to the real-time tariff and import data i o system may be provided via a standard router 106 and firewall 108.
- the real-time tariff and import data system 120 makes information accessible regarding tariffs in approximately 225 countries for approximately 5,800 products listed in the Harmonized Coding System (HCS), which are represented as established country-based product Harmonized System (HS) codes.
- HCS Harmonized Coding System
- HS product Harmonized System
- applicable tax rate information is provided for a plurality of products, and vital information necessary or useful for doing business in various countries.
- Such information is stored and managed by a database management system 140.
- the real-time tariff and import data system 120 includes the following 5 characteristics:
- the system is preferably accessible for substantially 24 hours a day, 7 days a week, for a total availability rate of approximately 99%, or more.
- the system architecture accommodates a minimal mean-time-to-recovery (i.e., not
- the system can not be down for more than 88 hours per year (i.e., up for 8,672), and for an availability rate of 100% the system is down for 0 hours per year (i.e., up for 8,760).
- client-users are substantially unable to detect that a system fault has occuned.
- response time of the system is only prolonged by a few seconds, rather than producing enor messages or terminating jobs.
- Table 1 presents the number of concunent users that can be supported, depending on the kind of bandwidth used (calculated for a connection lasting in the order of 15 seconds):
- the hardware architecture shown in FIG. 1 embodies the characteristics outlined above.
- the real-time tariff and import data system architecture 120 includes a cluster of front end application servers 130, as a first logic or application layer, coupled to a back end database management system 140, as a data layer.
- the application servers 130 are clusters of front end application servers 130, as a first logic or application layer, coupled to a back end database management system 140, as a data layer.
- the application servers 130 as a first logic or application layer
- back end database management system 140 as a data layer.
- the application servers 130 as a first logic or application layer
- L5 132 and 134 are accessible via the Internet through a local network 112, which includes router 106 and firewall 108.
- Firewall 108 protects servers 132 and 134 from Internet attacks by filtering and controlling access to the servers, which is discussed in more detail below.
- Each of application servers 132 and 134 serve as intelligent
- FIG. 1 shows the application layer to include two application servers, a greater number of servers may be used and they may be located at geographically local or remote locations, or some combination thereof.
- the architecture of FIG. 1 offers scalability, in that
- the load-balancing module is replicated on both (or all) application servers, which allows the application servers to ensure continuous request distribution, regardless of which server(s) go down. To ensure system fault tolerance, status information is also replicated on each application server. Thus, even minor faults can be hidden from users, leaving application processing
- the application layer clustered servers 130 are coupled to the data layer 140 via a local network 122 that includes a switch 124 and firewall 126.
- the database management system 140 or data layer, includes the data servers 142 and 144 and the databases 146 that include all of the tariff and other import data.
- database 146 includes a set
- the data layer servers 142 and 144 of FIG. 1 are Microsoft SQL servers, clustered using standard clustering technology (e.g., such as that provided by Microsoft Corporation of Redmond WA).
- the architecture of the data layer 140 is designed to provide maximum data availability.
- Both servers 142 and 144 share a "heartbeat" connection, are part of a local network, are linked to the Internet, and require the use of dual Ethernet network interface cards, in the
- the database servers 142 and 144 have public IP addresses in order to facilitate data updating operations, but this can expose the servers 142 and 144 to attacks from the Internet.
- firewall 126 is used to filter requests to the database servers 142 and 144.
- the logical layer servers 132 and 134 i.e., the servers used for updating data (replication)
- server 132 and 134 are also protected by firewall 108.
- the databases 146 of database management system 140 includes the following information or databases:
- real-time tariff and import data system 120 may include multiple application servers in different locations to provide a more robust fail-over solution, in case of major disaster at one site, as is shown in FIG. 2.
- the real-time 5 tariff and import data system 120 is preferably a Web-accessible system. Therefore, a request may be submitted to a Domain Name Server (DNS) 250 which then returns up to two specific IP addresses. Since the real-time tariff and import data system 120 has multiple servers in different locations, in this embodiment, the DNS server 250 returns the optimal address 252 and the second best address 254.
- the optimal address 252 can be defined as the one with the lowest LO latency and with an acceptable load.
- a toolkit or client application 260 is configured support the .5 following:
- the DNS server 250 always returns up to two JJP addresses, so if the optimal so application server 130A (with DB management system 140A) is down, the client application 260 (or device) redirects the request to the second best application server 130B (with DB management system 140B), after an acceptable timeout as been expired.
- the client application 260 or toolkit does not support this feature, only the optimal IP address will be available to the client application 260.
- the !5 timeout is preferably set to be about 10 seconds. Also, when the timeout expires, the client application 260 is configured to re-send the request, alternating from the optimal server 130A to the second best server 130B.
- FIG. 3 serves as the system's logical structure.
- This i o logical structure allows for optimal use of resources from different servers.
- the application servers 132 and 134 support transparent replication, load balancing and fail-over for both the dynamic generation of Web pages (i.e., at the presentation layer) and components (i.e., at the logical layer components).
- the real-time tariff and import data system 120 main application object components 400 are shown in FIG. 4 and described below.
- a TFeedClient object component 402 includes all relevant information for customers (e.g., corporate customers) known to the system and provides methods for accessing specific customer information, which maybe stored in customer accounts.
- TFeedMsgPKCS object component 404 is configured to customize security levels to client specifications. Data exchanges may be conducted in encrypted or plain-text format. For encrypted transactions, this object component 404 can encrypt and decrypt messages, however, this function requires that public and private access keys be installed in both the customer's system (or client device) and on the application servers 130.
- TFeedReqMsg object component 406 prepares received client requests for the other system components. Requests may use the HTTP protocol, may be made directly from the components Java installed in the customer's system or may use an XML format, as described in greater detail below. The TFeedReqMsg object component may be instantiated using any one of these sources.
- TFeedRespMsg object component 408 prepares a response to a client request and transmits the response to the client (via TFeed-Servlet, if needed). Responses are directly delivered using HTTP protocol or using an XML format from the TFeedRespMsg object component 406, as described in further detail below with respect to the data exchange process.
- TFeedXMLMgr object component 410 manages the exchange of information between 2 o the real-time tariff and import data system 120 Web site and clients using an XML format.
- TFeedDFeeCalc object component 412 calculates duty fees (i.e., customs charges). This component is also refened to as the duty calculation engine.
- TFeedHSCtryData object component 414 provides the tariff for a country and for a specific conesponding HS code. This object component is used by TFeedDFeeCalc 412 to
- TFeedHSCtryTax object component 416 provides the tax rate for a country and for a specific HS code. This object component is used by TFeedTaxCalc 418 below.
- TFeedTaxCalc object component 418 applies the tax rate for a product, according to the HS code provided and the country of import, to determine the tax charges This component is i o also refened to as the import tax calculation engine.
- TFeedBilling object component 420 manages the customer account billing process.
- TFeedLog object component 422 keeps a running log of all client requests fed into the database. This information may be used as a reference for operating difficulties reported by clients or for cases in which a customer wishes to contest a bill.
- TFeedServlet object component 424 manages incoming requests sent via a Web browser and outgoing responses, using HTTP protocol.
- TFeedTTLCalc object component 426 calculates the total landed cost for a transaction, using the calculated duty from the duty calculation engine 412 and the import tax
- the content of the databases may embody trade restrictions imposed between countries. That is, where a country prohibits trade with another country, the real-time tariff and import data system may include a transaction validity checker (e.g., a TFeedValidTrans component, not
- the real-time tariff and import data system may be configured to alert the customer to the trade restriction or may refuse to perform the requested calculations.
- the present invention may include functionality or links to insurance providers for obtaining insurance cost figures and/ or to transportation providers for providing transportation figures. Additionally, the present invention may also facilitate or enable the purchasing of such insurance and transportation. In such embodiments, the user need not input insurance or transportation cost information, as the case may be, and the outputs may i o variously include the system calculated insurance and transportation costs.
- Database security requires that customer (or user) security measures be established. Therefore, security audits may be conducted on a regular basis to verify access to the database and authentication may be required for access
- SQL Server offers two authentication modes:
- Windows NT Authentication Mode SQL Server can use Windows NT to authenticate users. User accounts are managed and defined in Windows NT and the access rights (and roles) are defined on the SQL Server.
- Previous modes can be used along with the authentication mode above, i o which requires that an account be created, with username and password, on the SQL Server.
- the mixed mode is used, since it requires no control over the network and its clients (e.g., NT accounts and client network management).
- users who have different roles may also be defined on the SQL Server.
- roles it is meant that a group of users is treated as a single unit, to which access permissions can be applied. The access permission attributed and/or deleted for one role is applied to all of the users who share that role.
- Table 2 shows a list of predefined roles on the SQL Server. New roles may be defined to control access to the tables and/or procedures of any database.
- SQL Server also has a powerful "Profiler” that records and analyzes all of the operations executed by the SQL Server (i.e., database management servers 142 and 144). The resulting reports can be saved in a text file or in an SQL Server table. Audits regarding access to the servers 142 and 144 may therefore be conducted by recording the following information: access granted; access denied; procedures used; sessions established; and user accounts used. All of this information provides an excellent support tool in establishing who has done what and when.
- backup operations are preferably conducted.
- option 3 above is used, since it allows backup during normal operations without interruption. This option also allows around-the-clock access. Although this operation minimally increases the server load, it is still advisable to carry out these operations during the hours when the load is at its most stable.
- L5 allows users to replicate data from one SQL Server to another SQL Server, or to several other types of databases by different makers (e.g., Oracle, Sybase or IBM DB2).
- the SQL Server replication function is based on the "publish and subscribe” model in which one database infonnation server plays the role of a "publisher” while the others play the role of "subscribers", as is shown in FIG. 5.
- a publisher is the database system or server that makes data available for
- database changes may be sent from a client device 102, for example, to a publisher database system 502.
- Publisher 502 maintains a list of publications (i.e., data for distribution) and subscribers for the publications.
- a subscriber may be a database server (e.g., servers 142 and 144) that receives and updates (or replicates) its own database data with the updated publication.
- 5 2 506 may be systems, clients, or servers which are not directly a part of the real-time tariff and import data system 120.
- the "pull” subscription in which the subscriber (e.g., 142, 504, or 506) requests regular updates from publisher 502. i o
- the "push” subscription in which publisher 502 distributes the changes to various subscribers (e.g., 142, 504 and 506) when changes occur or according to a predefined plan.
- Database management system 140 supports at least three types of replication between a publisher and subscribers:
- Snapshot Replication As its name indicates, this type of replication takes a photo or a snapshot of the data to be published at a given moment in time. These snapshots can be taken according to a plan or upon request. Snapshot replication uses very few system resources.
- Definition of subscribers e.g., database servers and in client database servers
- FIG. 6 The flow diagram of FIG. 6 illustrates a process 600 used to manage users that access services provided by the real-time tariff and import data system 120.
- a user operating client device 120A that wishes to use the services completes request form 802 (see FIG. 8A), which is made available on the real-time tariff and import data system 120 Web site.
- the form 802 is sent to the Web server, 132 or 134, and processed by a dynamically generated page using the i o TFeedClient object 402 (see FIG. 4).
- a customer manager using device 602 accesses the reformed request 604 and validates the request by verifying the user properly entered required infonnation contained in request form 802 (e.g., username and PIN 606).
- infonnation contained in request form 802 e.g., username and PIN 606
- the application server 130 sends a user authorization 608 to client 102 A.
- Customer manager 602 may open a customer (or user) account using device 602 via, for example, a Web interface.
- Customer manager 602 preferably, e-mails confirmation to the customer that an account has been opened. Thereafter, the customer can carry out transactions using the real-time tariff and import data system 120 by logging in, without interaction with the customer manager 602.
- installation of client components maybe required on the customer's client device, as described with respect to
- the real-time tariff and import data system 120 maybe configured to bill its customers for usage, based on, for example, number of Web site hits, transactions processed, or requested outputs.
- Customer account related information (or billing data) may be stored in databases 146 (or other databases) and a mechanism maybe established for customer
- the billing data maybe use or fee information contained in customer account-related tables.
- the real-time tariff and import data system 120 Web site includes a management section where access to billing data is password restricted, but with proper access allows account access for billing, payment or status.
- An activity log is preferably generated to monitor server operations, which may be used for billing, as well as other purposes. Activities logged with respect to server operations may
- a log file may contain information concerning the sources of requests (e.g., IP Addresses, PIN numbers), requested product data, the date of the request and the date and type of infonnation responses sent to clients. This file could be used by network operations or information technology personnel to resolve operations problems.
- the activity log e.g., IP Addresses, PIN numbers
- 25 functionality may also include importing and maintenance information.
- the application servers 132 and 134 used in the prefened embodiment provide the best security technology of its kind, with secure, flexible, and easy-to-conf ⁇ gure architecture.
- the application server secures network applications through known, optional encryption, authentication and authorization functions, based on secured SSL RSA sockets, X.509 digital certificates and access control lists (ACLs). Together, all of these security functions allow the system to determine the user of the provided services.
- Access to some application server 132 or 134 services is controlled through user and user group definition.
- the term "user” refers to a human (e.g., a customer), a computer application, client device or a remote server. This security technology maybe extended to all types of devices and users that access server resources.
- ACLs are data structures that control access to resources. Each control list entry contains a set of access permission parameters associated with a user or a user group. Access permission allows the system to carry out certain kinds of operations on server resources. Access permission maybe positive (i.e., authorization for certain kinds of operations on specific objects) or negative (i.e., prohibition of some operations on specific objects).
- the application servers may be configured for a variety of levels of authentication.
- application servers 132 and 134 are configured to use at least one of two processes to authenticate the users: passwords and encryption certificates.
- passwords For minimal authentication, the process based on the password allows users to provide a password and their user name to access server resources. This process is based on the authentication process defined
- encryption is used in the form of encryption certificates. These certificates are issued by a Certificate Authority (CA), such those certificates issued by Verisign, Inc. of Mountain View, California. so It is important to ensure that the mformation that passes through the Internet network circulates in an encrypted channel, and thus cannot be seen or altered. Therefore, application servers 132 and 134 include an SSL implementation used in distributed applications, such as 128-bit SSL Global Server IDs by Verisign. SSL Version 3 allows for connection encryption and is the standard default protocol used to establish private and encrypted communications between
- a digital certificate (or digital ID) is required on the server (e.g., server 132 or 134) for this protocol.
- a digital certificate allows the server to prove its identity with clients or other servers before a private connection is established.
- application servers 132 and 134 can be configured to provide two- way authentication for clients and browsers. In those cases, two-way authentication requires that i o the client system to have a digital certificate. Digital certificates are then cross-authenticated. Part II - Preparing and Processing Requests
- a prefened set of transaction related inputs are required.
- a request is sent from a client (e.g., client device 102) to the real-time tariff and import data system 120 via a Web site interface.
- the real-time tariff and import data system 120 guides the user to enter all needed inputs of the client by providing a well-structured request template or form with syntactic and semantic validation.
- Table 3 provides the prefened input requirements and their definitions for the request. (See also Appendix H for more information about input validation).
- the client's request is processed by application servers 132 and 134 of the real-time tariff and import data system 120. After processing, the real-time tariff and import data system 120 returns a response to the client.
- Access Code A code that specifies whether the duties and taxes are calculated within or over a volume quota for a specific product in a specific country. If the specific quota is not known by the client, the client choose
- Origin Country The country where the product is considered to be manufactured. If the product(s) are classified by the real-time tariff and import data system 120, this input is optional since it already resides in database
- Appendix A B for a sample of countries and conesponding country codes.
- Unit Code If a user-defined product code is entered, a unit code (see Appendix C) and conesponding unit type (see Appendix D) specified by real-time tariff and import data system 120 must be entered. If an HS code was entered, the appropriate unit code and conesponding unit type are required. The user may be requested to send up to 10 different Unit
- Cost of Transport The cost of transportation, in the cunency specified for the transaction cunency parameter.
- this parameter may be
- Insurance Cost The cost of insurance, in the cunency specified for the transaction cunency parameter.
- this parameter may be generated upon request by the real-time tariff and import data system
- a user can obtain the duty, tax and total landed cost associated with an international sale and shipment of one or more products by entering the above i o inputs.
- the real-time tariff and import data system 120 guides the user to properly enter inputs.
- the user determines whether to use its own product codes or standard HS codes in the request. If the user uses its own product codes in requests, those product codes can be entered into the system during a classification phase, as part of a user/customer account setup, so that they will be recognized when forming requests. Thereafter, the user can send requests using its own set of codes or the HS codes, either will be valid for the specified unit type.
- real-time tariff and import data system 120 also requires a weight unit for the entered product, the request can contain any valid unit code representing a weight: grams, kilograms, pounds, and so on.
- the real-time tariff and import data system 120 requires all measurement units to precisely calculate duties and taxes. Even when using HS codes in the request, the user must include all required units. If a unit is omitted, real-time tariff and import data system 120 returns an enor message indicating that a unit is missing. For example, certain countries require more than one measurement unit to calculate duties and taxes, or have "multiple units". For example,
- the real-time tariff and import data system 120 provides a default unit code for each unit
- the "Unit Base" column represents the default unit code. All other unit codes from the same unit type have a conversion factor based on the default unit code. Specifying the default unit code in the request typically reduces the response time, since the real-time tariff and import data system 120 will not need to perform a units conversion.
- a client may be a Web user client 102A, a Java client 102B, and/or a client using XML stringl02C, as examples. Because of its open-ended, flexible
- the prefened embodiment uses XML technology to exchange infonnation with each type of client device.
- XML format for the information exchanged between the clients and the real-time tariff and import data system 120 Web site is defined. That is, XML is used as a universal data exchange format, regardless of the type of client, as defined below.
- i o 1.
- XML technology is used because it is supported by a variety of programming languages and by Web scripts, such as VBscript or Javascript.
- XML technology is derived from SGML, a relative of HTML, and defines a syntax for understanding and a format for data processing information.
- XML syntax includes a series of tags used to insert markers into a document, and is generally known in the art. For example ⁇ Product> marks the beginning of the definition of a product and ⁇ /product> marks the end.
- a product definition in XML can be written as follows:
- this XML block will be interpreted as an entity containing three attributes: "hscode,” "country,” and “quantity.”
- An application can directly retrieve the value of a particular attribute without taking into account the order of the attributes within the document.
- DTD Document Type' Definition
- the DTD document is used to validate its conesponding XML documents, thus ensuring that the XML format respects the format specified in the DTD document, so is much less prone to having or
- An XML document can be defined without using a DTD document, but use of a DTD document is prefened.
- applications access an XML document using a series of functions defined in a DOM (Document Object Model).
- a DOM is an XML application that provides a standard programming interface that allows an application to use the information defined within an XML document.
- FIG. 7A illustrates, at a top level, the interaction between the
- An XML request message including an XML request string 702 is sent to and processed by server cluster 130 (including servers 132 and 134).
- Server cluster 130 returns an XML response message including an XML response string 704, as discussed in further detail below.
- FIG. 7C shows a detailed view of the components involved in carrying out the steps of flowchart 710.
- a client application 780 of client 102C gathers user input data to generate one or more client application request messages 742.
- the client application 780 uses the data, the client application 780 generates a plurality of requests, i.e., Request 1 716A, Request 2 716B, and Request n 716C.
- Request 1 716A i.e., Request 1 716A, Request 2 716B, and Request n 716C.
- i o generating multiple requests allows for more efficient, parallel processing.
- An XML generator 756 uses a request message DTD 740 and the client application request message 742 to generate an XML request message 754.
- an XML request string 702 is created, in step 718.
- the XML request string 702 is encrypted in step 720 and, in step 722, XML request message 754 is formed.
- a sender 768 transmits XML request message 768 to server cluster 130.
- Server cluster 130 receives the XML request message 754 from sender 768.
- the received XML request message 754 is parsed 5 by an XML server parser 744.
- a parser is a tool used for grammatical analysis, which includes a syntax analyzer, that can interpret tags and retrieve information from them.
- the parser performs on a document in accordance with a conesponding DTD, which contains a tag description used in the XML document being parsed.
- a DTD document (e.g., DTD request message document 740) specifies the particular XML format for XML request message 754,
- XML server parser 744 decrypts the XML request string 702 contained within XML request message 754 and then parses XML request string 702. Parser 744 extracts input values and security attributes from the request XML request string 702, assuming security mechanisms are used. After the security attributes have been approved, the real-time tariff and import data L5 system 120 matches the user input product code with the appropriate HS code in database 146, assuming a user-defined product code was not entered. If using an HS code, system 120 validates that the HS code is conect for the specified destination country. If an enor occurs, an XML response string containing the enor message is sent back to the client 102C. Enors may be caused by invalid XML request values, invalid XML request node names, invalid inputs or
- Parsing XML request string 702 allows a request message object 764 to be created and passed to the real-time tariff and import data system application 138.
- the user's values, and any other needed values, are extracted and the duty calculation engine 412, tax calculation engine 418, and total landed cost engine 426 process the request, as required, in step 726, to produce a
- XML generator 758 generates an XML response message 752 from the response message object 762 and a DTD response message document 746.
- a sender 770 transmits the XML response message 770 to client device 102C.
- client device 102C receives the XML response message 752, in step 728.
- XML client parser 766 on client 102C parses the XML response i o message 752, in step 730, to obtain the XML response string 704 and then decrypts the XML response string, in step 732.
- XML client parser 766 creates a response message 744 from XML response string 704 and DTD response message document 746 (which is also available to client 102C).
- Response message 744 includes the requested duty, tax, and/or total landed cost data and is passed to client application 780. Implementation of the prefened approach to processing XML documents (i.e., requests and responses) takes place in several steps:
- a DTD document 740 is used to create the structure of the XML request string (see Appendix L).
- the DTD document 740 ensures that the request is properly formed for L o processing by the real-time tariff and import data system 120.
- the Text attribute ([CDATA[...]]) in the TariffMessage request contains a valid XML request string encrypted with a secret key that is provided to clients.
- An example of a valid XML i o request string (before it is encoded) is as follows:
- An example of XML response string is as follows:
- the real-time tariff and import data system 120 accommodates Web clients 102 A using ActiveX/COM components, as shown in FIG.s 8A-C.
- a standard Web browser 806 is used by the client 102A, as is shown in L5 FIG. 8 A.
- a client 102A uses a browser, a client 102A generates a request 802, e.g., an HTML form, and transmits the request 802 to the real-time tariff and import data system 120.
- Request 802 is serviced by the application servers 130.
- Request 802 contains all of the required information for conducting duty, import tax, and/or total landed cost calculations, depending on the user's selected output.
- Request 802 is well formed, since the client is prompted to enter all inputs
- a servlet 424 on server cluster 130 picks up request 802, retrieves the data (i.e., inputs) and processes the request by calculating the requested duty, import tax and/or total landed cost.
- FIG. 8B A more detailed view of the configuration of client 102 A is shown in FIG. 8B.
- An ActiveX/COM component 810 is loaded onto client device 102A to make the functionality of the
- component 810 acts as a translator between the client's Web-based application 820 and the real-time tariff and import data system 120 functionality.
- Component 810 simplifies processing by translating client application requests into XML requests 802. All of the XML formatting and encryption is done by component 810.
- Loading component 810 on i o client 102A may require registration with the real-time tariff and import data system 120, depending on the embodiment.
- an encryption method is set internally, when encryption is used. The encryption method defines the encryption key to be used for communication with the real-time tariff and import data system 120. Setting the encryption method is accomplished using the appropriate "set" methods of component 810.
- inputs 812 entered via the client's Web-based application 820 are incorporated into XML request 802 using appropriate set methods of component 810. Use of such set methods for assigning attribute values is known in the art, so not discussed in detail herein.
- interface ISingleRequestSession IDispatch
- HRESULT PerUnitCusTarif([out,retval] BSTR* PerUnitCusTarif); HRESULT getProductBaseUnit([out,retval] BSTR *
- HRESULT getTaxAmount([in] int index, [out,retval] BSTR* TaxAmount); i o HRESULT getTaxName([in] int index, [out,retval] BSTR* TaxName);
- HRESULT getInsuranceCost([out,retval] BSTR* hisuranceCost); HRESULT getOtherCosts([out,retval] BSTR* OtherCosts); HRESULT getTotalLandedCost([out,retval] BSTR* TotalLandedCost); HRESULT getServerAddress([out,retval] BSTR* ServerAddress); HRESULT setPinNumber([in] BSTR PinNumber); 5 HRESULT setShi ⁇ mentCountry([in] BSTR ShipmentCountry);
- HRESULT setOriginCountry ([in] BSTR OriginCountry); HRESULT setDestinationCountry([in] BSTR DestinationCountry); HRESULT setOutputFormat([in] BSTR OutputFormat); HRESULT setProductCode([in] BSTR ProductCode); L o HRESULT setValue([in] BSTR Value);
- HRESULT setUnit([in] BSTR NbOfUnit, [in] BSTR UnitCode, [in] int Unitfridex);
- HRESULT setCostOfTransport ([in] BSTR CostOfTransport); HRESULT seth ⁇ suranceCost([in] BSTR hisuranceCost); L5 HRESULT setOtherCost([in] BSTR OtherCost);
- HRESULT setCunency ([in] BSTR Cunency); HRESULT setConversionCunency([in] BSTR ConversionCunency); HRESULT setInputCodeType([in] BSTR InputCodeType); HRESULT setAccessCode([in] BSTR AccessCode); i o HRESULT getNotes([out,retval] BSTR* Notes);
- FIG. 8C illustrates a client-side view of a method 850 of interaction between client 120A (with the ActiveX/COM component 810) and the real-time tariff and import data system 120.
- Component 810 receives inputs 812 and creates one or more conesponding requests 856A-C, in 25 step 854, according to the appropriate DTD.
- DTD minimizes the potential for XML enors, because the XML request string 802 built is inherently valid and well formed. Encryption and decryption will also be valid, minimizing the potential for encryption enors.
- the request 856A in step 858, is formed into an XML request string 802, using a ProcessRequest() method of component 810.
- Component 810 sends XML request string 802 to 10 server 132 and/or 134.
- the real-time tariff and import data system 120 processes the requests and returns an XML response to component 810.
- the response will be in the form of an XML response string 804 that provides duty, tax, and/or total landed cost values, in accordance with the user's selected output.
- Component 810 decrypts the XML response 804 with an appropriate encryption key (i.e., the public key of system 120).
- the XML response string 804 is then parsed by component 810. All values are extracted from the XML response string and set in the component.
- the client application retrieves desired values from the response by using the appropriate "get" method 814 for each value needed.
- Each response value has its appropriate
- step 864 The values are combined in step 864 and provided to the client application 820, in step 866.
- the real-time tariff and import data system 120 provides a set of Java classes, embodied in Tariff.jar 910, loaded on the client 102B that prepares and sends an XML request 902 to the server 132 or 134, as is shown in FIG. 9A.
- An application e.g., client
- LO application 920 uses the Java classes 910 by calling one method to pass a request object 912 and by receiving a reply object 914.
- Using Java to prepare and send XML request string 902 is similar to the use of ActiveX/COM component 810 discussed above.
- Tariff.jar 910 acts as a translator between client application 920 and the real-time tariff and import data system 120. That is, Java classes 910 allow XML requests to be sent by client 102B and XML responses to be
- the classes must first be added to the client's class path or project environment, which makes the Java classes available to the client application 920.
- An encryption method and encryption key must also be set in the Tariff.jar 910 classes to facilitate secure communications. Thereafter, processing a request merely requires calling one method,
- the ProcessRequest() method of Tariff.jar 910 builds a valid XML request string from the user's inputs. This approach minimizes XML enors, since the XML request string will necessarily be valid and well formed according to its DTD. Also, given that the
- ProcessRequest() method builds the request, encryption and decryption will also be valid, minimizing encryption enors.
- the Java classes 910 send the XML request to servers 132 andl34, receives the XML response message, and decrypts the XML response string 904 therefrom.
- the Java classes 910 decrypt the XML response string 904 with the appropriate encryption key (e.g., system 120's public key). i o
- the Java classes 910 parse the XML response string. All values are extracted from the
- FIG. 9B shows a client-side view of a method 950 of interaction between a client application 920 and server cluster 130.
- the client application 920 gathers the inputs from the user and generates one or more request objects, 956A-C.
- the Java classes 910 receive the request object 912 (or 956A) and gets the needed inputs from the request object and
- the request string 902 is then sent (in an XML request message) to the real-time tariff and import data system 120 servers 132 and 134, which processes the request, in step 960.
- An XML response string (in a response message) is then returned to the Java classes 910 from the servers 132 and 134.
- the Java classes 910 get data from the XML response string and form response objects 914, in step 962.
- the response includes the duty, tax,
- the client application 920 retrieves values from the response objects 914 by calling the appropriate "get” methods and combines the values, in step 964. The values are then output to the client application 920, in step 966. Part III - Calculations
- the methods are implemented by the duty calculation engine 412, import tax calculation engine 418, and total landed cost calculation engine 426, previously discussed with respect to FIG. 4.
- the duty calculation engine 412 accesses relevant tariff rates for a specified product and destination country from the database 146 and applies the lowest of such applicable rates to arrive at a duty calculation.
- the 2 o calculation engine 418 accesses relevant databases of country specific import tax rates, charges and fees and applies them to arrive at import tax costs.
- the total landed cost calculation engine 426 determines the total landed cost from the duty calculation and the import tax calculation, and any other relevant costs (e.g., transportation and insurance costs).
- the inputs for the various engines are gathered from the XML request process previously
- Validation of the inputs is performed as the data is input into appropriate fields of, for example, a Web-based request form.
- the validation occurs by testing inputs against field-based validation criteria, described in Appendix H.
- Appendix I identifies the returned values for each of the ten (10) possible output formats of the prefened embodiment. so
- the following tables identify the steps taken by the duty calculation engine 412 to calculate the duty (or tariffs) for a given international transaction.
- the steps include selecting a duty rate, converting currencies, and calculating the duty fee.
- the tables include object oriented pseudo code describing calls and method steps used in the process and also describes enor codes applicable to the various steps.
- Table 4 shows the steps for selecting a duty rate for a given set of inputs.
- Table 5 shows the steps for converting between cunencies among countries, which is useful in the calculations, since typically the origin country, shipment country, and destination country may have different cunencies.
- Table 6 shows the steps for calculating the duty (or tariff), which incorporates the steps in
- Table 4 for selecting a duty (or tariff) and the steps of Table 5 for converting cunencies.
- DutyFee PerUnitFee Else If the tariff calculation method is "Applied Smallest"
- the following tables identify the steps taken by the import tax calculation engine 418 to calculate the tax for a given international transaction.
- the steps include selecting a tax rate and calculating the applicable taxes.
- the tables include object oriented pseudo code describing calls and method steps, and also describes enor codes for the various steps.
- Table 7 shows the steps for selecting a tax rate for a given set of inputs.
- ConvertedPerUnitTax Conversion of USDPerUnitTax to the conversion cunency of the request (See Table 5)
- Table 8 shows the steps for calculating the import tax, which incorporates the steps in Table 6 for selecting a tax rate and the steps of Table 5 for converting cunencies.
- TLC Total Landed Cost Calculation
- the TLC engine uses the output from the duty calculation engine and the tax calculation engine, along with user inputs described in Part ⁇ , to arrive at a total landed cost, as follows: TLC — Duty Fee + Import Taxes + Price of Goods + Cost of Transport + Insurance Costs + Other Costs
- Customs Tariff Rate is equal to 999999, the product is prohibited in the specified country.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Technology Law (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
Claims
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20778800P | 2000-05-30 | 2000-05-30 | |
US207788P | 2000-05-30 | ||
US23208800P | 2000-09-12 | 2000-09-12 | |
US232088P | 2000-09-12 | ||
US25040700P | 2000-11-30 | 2000-11-30 | |
US250407P | 2000-11-30 | ||
US27964101P | 2001-03-29 | 2001-03-29 | |
US279641P | 2001-03-29 | ||
PCT/IB2001/001204 WO2001093125A2 (en) | 2000-05-30 | 2001-05-29 | Real-time global tariff and import data system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1285389A1 true EP1285389A1 (en) | 2003-02-26 |
Family
ID=27498685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP01947712A Withdrawn EP1285389A1 (en) | 2000-05-30 | 2001-05-29 | Real-time global tariff and import data system and method |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1285389A1 (en) |
JP (1) | JP2003535401A (en) |
AU (1) | AU2001269356A1 (en) |
CA (1) | CA2410424A1 (en) |
WO (1) | WO2001093125A2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783536B2 (en) * | 2002-07-26 | 2010-08-24 | Oracle International Corporation | Apparatus and method configurable for local jurisdictions that facilitates determining taxes |
JP3725838B2 (en) | 2002-04-30 | 2005-12-14 | 本田技研工業株式会社 | Customs code selection support system |
US10475109B2 (en) * | 2015-08-24 | 2019-11-12 | Rakuten, Inc. | Information processing device, information processing method, and information processing program |
CN110889741B (en) * | 2019-11-07 | 2023-08-08 | 广西中烟工业有限责任公司 | Cigarette retail integrated system |
-
2001
- 2001-05-29 WO PCT/IB2001/001204 patent/WO2001093125A2/en not_active Application Discontinuation
- 2001-05-29 EP EP01947712A patent/EP1285389A1/en not_active Withdrawn
- 2001-05-29 JP JP2002500270A patent/JP2003535401A/en active Pending
- 2001-05-29 AU AU2001269356A patent/AU2001269356A1/en not_active Abandoned
- 2001-05-29 CA CA002410424A patent/CA2410424A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CA2410424A1 (en) | 2001-12-06 |
WO2001093125A2 (en) | 2001-12-06 |
JP2003535401A (en) | 2003-11-25 |
AU2001269356A1 (en) | 2001-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2002027570A9 (en) | Master universal tariff system and method | |
US20020091574A1 (en) | Master universal tariff system and method | |
US7490050B2 (en) | Method and system for furnishing an on-line quote for an insurance product | |
CA2384436C (en) | Systems and method for insuring correct data transmission over the internet | |
US7237037B2 (en) | Combined message broker | |
US7761306B2 (en) | icFoundation web site development software and icFoundation biztalk server 2000 integration | |
US6856970B1 (en) | Electronic financial transaction system | |
US7797452B2 (en) | Method and system for facilitating the integration of a plurality of dissimilar systems | |
US5970475A (en) | Electronic procurement system and method for trading partners | |
US20030167229A1 (en) | Modular business transations platform | |
US20020198798A1 (en) | Modular business transactions platform | |
US20020198828A1 (en) | Modular business transactions platform | |
US20020198829A1 (en) | Modular business transactions platform | |
US20080033853A1 (en) | System and method for facilitating appraisals | |
US9058630B2 (en) | Coverage for transmission of data method and apparatus | |
US10848541B2 (en) | Method and system for facilitating the integration of a plurality of dissimilar systems | |
JP2003522342A (en) | Integrated customer interface for web-based data management | |
WO2001080132A2 (en) | A system and method for online delivery of investor documents and tabulation and processing certain investor instructions | |
US20040064331A1 (en) | Web-base financial reporting system and method | |
US20020128954A1 (en) | Electronic trade confirmation system and method | |
US20030065725A1 (en) | Verified message broker | |
WO2001093125A2 (en) | Real-time global tariff and import data system and method | |
Maris | Network-Based Information System Model for Research |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20021125 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
17Q | First examination report despatched |
Effective date: 20040930 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20050511 |