Sales management system, sales management device, and program thereof
The sales management system automates sales reporting in commercial facilities by using access tokens to authenticate and process sales data, addressing errors and reducing the burden on developers through accurate and efficient data processing.
Patent Information
- Application Number
- JP2024028800
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-28
- Publication Date
- 2025-09-09
AI Technical Summary
The manual reporting of sales data by tenants in commercial facilities leads to errors and a significant burden on both tenants and developers, who must review and correct these reports.
A sales management system comprising a tenant terminal and a sales management server that automates the sales reporting process by using access tokens to authenticate and generate sales report data, which is then processed and stored centrally, reducing human error and review burden.
The system improves the accuracy and efficiency of sales reporting by minimizing errors and reducing the workload on developers, enabling automated and accurate data processing and storage of sales data.
Smart Images

Figure 2025131206000001_ABST
Abstract
Description
[Technical Field]
[0001] An embodiment of the present invention relates to a sales management system, a sales management device, and a program therefor. [Background technology]
[0002] In commercial facilities known as shopping centers or shopping malls, where various types of stores, including retailers, restaurants, and service providers, are located, each store is referred to as a tenant and enters into a lease agreement with a developer who is responsible for the ownership, development, and management of the facility. In these types of commercial facilities, developers typically charge rent to each tenant based on their sales. Because it is necessary to track each tenant's sales, the developers require each tenant to report their sales at the end of each day's business. Each tenant reports their sales to the developer by, for example, entering the day's sales into a dedicated sales reporting terminal based on settlement receipts printed from a POS (Point of Sales) terminal, or by transcribing the sales into a paper daily report.
[0003] This type of reporting work places a heavy burden on tenant employees, and improvements are needed. Furthermore, because reports are done manually by employees, input errors, calculation errors, transcription errors, and other errors are likely to occur. The developer carefully reviews the reports received from each tenant, but any errors must be corrected, placing a heavy burden on the reviewers. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2002-366518 Summary of the Invention [Problem to be solved by the invention]
[0005] The problem that the embodiments of the present invention aim to solve is to provide a sales management system and a sales management device that can improve the sales reporting process for each tenant and reduce the burden on developers required to carefully examine the report contents. [Means for solving the problem]
[0006] In one embodiment, the sales management system includes a sales management server that manages the sales of tenants, and a tenant terminal that settles the sales of the tenants for a predetermined period. The tenant terminal includes a requesting unit and a data generating unit. The requesting unit requests the sales management server to issue an access token. The data generating unit generates sales report data from the access token issued by the sales management server and data on the settlement of the tenant's sales for a predetermined period. The sales management server includes a token generation means, a providing means, an acquiring means, and a processing means. The token generation means generates an access token including unique information of the tenant whose sales are settled by the tenant terminal in response to an issuance request from the tenant terminal. The providing means provides the access token generated by the token generation means to the tenant terminal that issued the issuance request. The acquiring means acquires sales report data generated by the tenant terminal. The identifying means identifies the tenant from the unique information of the tenant included in the access token used to generate the sales report data. The processing means processes sales data for a predetermined period of the tenant identified by the identifying means based on the sales report data. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 is a schematic diagram of a sales management system according to an embodiment. [Figure 2] FIG. 2 is a schematic diagram showing the main data structure of a tenant record. [Figure 3] FIG. 3 is a flow diagram showing the main data structures of a sales record. [Figure 4] FIG. 4 is a block diagram showing the main circuit configuration of the tenant terminal. [Figure 5] FIG. 5 is a block diagram showing the main circuit configuration of the sales management server. [Figure 6] FIG. 6 is a schematic diagram showing the data structure of the token table. [Figure 7] FIG. 7 is a schematic diagram showing the main functions of the tenant terminal and the sales management server. [Figure 8] FIG. 8 is a sequence diagram showing the relationship between the functions of the tenant terminal and the functions of the sales management server. [Figure 9] FIG. 9 is a flowchart showing the main steps of information processing executed by the processor of the tenant terminal in accordance with the first business program. [Figure 10] FIG. 10 is a flowchart showing the main steps of the information processing executed by the processor of the sales management server in accordance with the second business program. [Figure 11] FIG. 11 is a flowchart showing the main steps of the information processing executed by the processor of the sales management server in accordance with the second business program. [Figure 12] FIG. 12 is a flowchart showing the main steps of the information processing executed by the processor of the sales management server in accordance with the second business program. DETAILED DESCRIPTION OF THE INVENTION
[0008] Below, we will explain, using drawings, embodiments of a sales management system and sales management device that can improve the sales reporting process for each tenant in commercial facilities such as shopping centers or shopping malls and also reduce the burden on developers required to scrutinize the report contents.
[0009] [Sales Management System Explanation] FIG. 1 is a schematic diagram of a sales management system 100 according to one embodiment. The sales management system 100 includes a tenant terminal 10 provided in each tenant, a sales management server 20 functioning as a sales management device, and a business PC 30 provided in the developer that manages the commercial facility. The sales management system 100 connects each tenant terminal 10, the sales management server 20, and the business PC 30 via a communications network 40. The communications network 40 is a wide area network such as the Internet or an intranet. A mobile communications network, a public communications network, or the like may also be used as part of the communications network 40.
[0010] A tenant is a store that opens in a commercial facility such as a shopping center or shopping mall and has signed a lease agreement with a developer. The type of store is not particularly limited. The store may be a retail store, a restaurant, or any of a variety of service businesses such as a travel agency, a barber shop, a beauty salon, or a fitness gym. Tenants report their daily sales to the developer. The reports are made using tenant terminals 10. The developer reviews the reports from each tenant. The review is performed using a business computer 30.
[0011] The tenant terminal 10 has a sales file (F / L) 50. The sales file 50 compiles data related to the tenant's sales. The sales file 50 compiles data related to sales, such as sales amount and number of customers for each transaction type, such as cash transaction, credit card transaction, and electronic money transaction. The sales file 50 also compiles data related to sales, such as payment amount and number of payment for each type of voucher, such as gift certificate or gift card, used in payment. Note that the sales data is not limited to the above. The types of sales data to be compiled are a matter that can be decided arbitrarily by the developer or the like.
[0012] The tenant terminal 10 executes settlement operations each day at the end of business hours. The settlement operation involves issuing a settlement receipt based on the sales data compiled in the sales file 50 and clearing the sales file 50. In this way, the sales file 50 is cleared after the settlement operation. Therefore, the data compiled in the sales file 50 is data related to one day's worth of sales. In other words, the tenant terminal 10 has the function of settling the tenant's sales for a predetermined period, that is, for one day. Note that the predetermined period, that is, the timing of settlement carried out by each tenant, is not limited to every day (one business day). For example, in the case of a commercial facility that is open 24 hours a day, it may be every 12 hours or every 48 hours.
[0013] This type of tenant terminal 10 is typically a POS terminal equipped with a product sales data registration function and a transaction settlement function. The tenant terminal 10 may be a registration-only terminal that has a product sales data registration function but no settlement function, or a settlement-only terminal that has a transaction settlement function but no registration function. Furthermore, when two or more POS terminals are installed in one tenant, one of them is designated as a master machine and the rest are designated as satellite machines. The master machine collects data related to sales processed by each satellite machine and tallying it in a sales file 50. In this case, the master machine is the tenant terminal 10.
[0014] The sales management server 20 is a server computer that can be accessed by the tenant terminals 10 of each tenant and the developer's business PC 30 via a communication network 40. The sales management server 20 typically provides services to the tenant terminals 10 and the business PCs 30 in a cloud computing environment. The sales management server 20 may also provide services in an on-premise environment.
[0015] The sales management server 20 has the function of managing the sales of each tenant. To realize this function, the sales management server 20 has a tenant file 60 and a sales management file 70. The sales management server 20 also has an API (Application Programming Interface) 80 for importing sales report data from the tenant terminals 10. The API 80 is publicly available, and each tenant terminal 10 generates sales report data from the data in the sales file 50 in accordance with the definition of the API 80. The sales management server 20 imports the sales report data generated by each tenant terminal 10 via the communication network 40.
[0016] The tenant file 60 is a collection of tenant records 61 (see FIG. 2) generated for each tenant. The sales management file 70 is a collection of sales records 71 (see FIG. 3) generated based on sales report data imported from each tenant terminal 10.
[0017] FIG. 2 is a schematic diagram showing the main data structure of a tenant record 61. The tenant record 61 includes a tenant code, a user name, a password, an attribute code, a device code, etc. The tenant code is an identification code assigned to each tenant to identify each tenant individually. Tenant codes are never duplicated between tenants. Therefore, a tenant can be identified by the tenant code. The user name and password are user identifiers required for each tenant terminal 10 to access the sales management server 20. User names and passwords are never duplicated between users of the tenant terminal 10. The attribute code is an identification code assigned to the commercial facility to which the tenant belongs. The attribute code has the same value between tenants in the same commercial facility. The device code is an identification code assigned to the tenant terminal 10. The device code is unique within a commercial facility such as a shopping center and is never duplicated between tenants. Therefore, a tenant can be identified by the device code alone, not the tenant code.
[0018] FIG. 3 is a flow chart showing the main data structure of a sales record 71. The sales record 71 includes a tenant code, a report date and time, and sales data by item (item A·sales, item B·sales, item C·sales, ...). The tenant code is an identification code of the tenant that has the tenant terminal 10 that generated the sales report data. The report date and time is the date and time when the sales management server 20 retrieved the sales report data. The sales data by item is data that compiles the sales amount, number of customers, etc. by transaction item, such as cash transaction, credit card transaction, electronic money transaction, etc. The sales data by item may also include data that compiles the payment amount, number of payment, etc. by voucher type, such as gift certificate, gift card, etc. The API 80 defines the items of the sales data by item.
[0019] [Tenant terminal configuration explanation] 4 is a block diagram showing the main circuit configuration of the tenant terminal 10. The tenant terminal 10 includes a processor 11, a main memory 12, an auxiliary storage device 13, a clock 14, a communication interface 15, an input device 16, a display device 17, a printing device 18, and a system transmission path 19. The system transmission path 19 includes an address bus, a data bus, a control signal line, and the like. The system transmission path 19 connects the processor 11 to each of the other components directly or via a signal input / output circuit, and transmits data signals exchanged between them.
[0020] The tenant terminal 10 constitutes a computer by connecting a processor 11, a main memory 12, an auxiliary storage device 13, a clock 14, and a communication interface 15 via a system transmission path 19. The tenant terminal 10 then connects devices such as an input device 16, a display device 17, and a printing device 18 to the computer via the system transmission path 19.
[0021] The input device 16 is, for example, a keyboard, scanner, card reader, touch panel, etc. The display device 17 is, for example, an operator display, a customer display, etc. The printing device 18 is, for example, a receipt printer, a ticket printer, a slip printer, etc. It goes without saying that the devices possessed by the tenant terminal 10 are not limited to those mentioned above.
[0022] The processor 11 corresponds to the central part of the computer. The processor 11 controls each part to realize various functions of the tenant terminal 10 in accordance with an operating system or an application program. The processor 11 is, for example, a CPU (Central Processing Unit). The processor 11 is preferably a multi-core processor that includes multiple processor cores and is capable of executing multiple processes in parallel.
[0023] The main memory 12 corresponds to the main storage portion of the computer. The main memory 12 includes a nonvolatile memory area and a volatile memory area. The main memory 12 stores an operating system or application programs in the nonvolatile memory area. The main memory 12 may store data required for the processor 11 to execute processes for controlling each part in either the nonvolatile or volatile memory area. The main memory 12 uses the volatile memory area as a work area where data is rewritten by the processor 11 as appropriate. The nonvolatile memory area is, for example, ROM (Read Only Memory). The volatile memory area is, for example, RAM (Random Access Memory).
[0024] The auxiliary storage device 13 corresponds to the auxiliary storage portion of the computer. For example, the auxiliary storage device 13 may be an EEPROM (registered trademark) (Electric Erasable Programmable Read-Only Memory), an HDD (Hard Disc Drive), or an SSD (Solid State Drive). The auxiliary storage device 13 stores data used by the processor 11 when performing various processes, data created by the processes in the processor 11, etc. The auxiliary storage device 13 may also store the application programs described above.
[0025] The clock 14 keeps track of the date and time. The processor 11 processes the date and time kept by the clock 14 as the current date and time.
[0026] The communication interface 15 connects to the communication network 40. The tenant terminal 10 performs data communication via the communication interface 15 with the sales management server 20 and the like connected to the communication network 40.
[0027] In the tenant terminal 10 configured as above, a part of the storage area in the main memory 12 or the auxiliary storage device 13 is used as the area for the sales file 50.
[0028] [Sales management server configuration explanation] 5 is a block diagram showing the main circuit configuration of the sales management server 20. The sales management server 20 includes a processor 21, a main memory 22, an auxiliary storage device 23, a clock 24, a communication interface 25, and a system transmission path 26. The system transmission path 26 includes an address bus, a data bus, and a control signal line. The system transmission path 26 connects the processor 21 to each of the other components directly or via a signal input / output circuit, and transmits data signals exchanged between them.
[0029] The sales management server 20 is configured as a computer by connecting a processor 21, a main memory 22, an auxiliary storage device 23, a clock 24, and a communication interface 25 via a system transmission line 26.
[0030] The processor 21 corresponds to the central part of the computer. The processor 21 controls each part to realize various functions of the sales management server 20 in accordance with an operating system or application program. The processor 21 is, for example, a CPU. The processor 21 is preferably a multi-core processor that includes multiple processor cores and can execute multiple processes in parallel.
[0031] The main memory 22 corresponds to the main storage portion of the computer. The main memory 22 includes a nonvolatile memory area and a volatile memory area. The main memory 22 stores an operating system or application programs in the nonvolatile memory area. The main memory 22 may store data required for the processor 21 to execute processes for controlling each part in either the nonvolatile or volatile memory area. The main memory 22 uses the volatile memory area as a work area where data is rewritten by the processor 21 as appropriate. The nonvolatile memory area is, for example, ROM. The volatile memory area is, for example, RAM.
[0032] The auxiliary storage device 23 corresponds to the auxiliary storage portion of the computer. For example, an EEPROM, HDD, or SSD can be the auxiliary storage device 23. The auxiliary storage device 23 stores data used by the processor 21 when performing various processes, data created by the processes in the processor 21, etc. The auxiliary storage device 23 may also store the application programs described above.
[0033] The clock 24 keeps track of the date and time. The processor 21 processes the date and time kept by the clock 24 as the current date and time.
[0034] The communication interface 25 connects to the communication network 40. The sales management server 20 performs data communication via the communication interface 25 with the tenant terminals 10, business personal computers 30, and the like connected to the communication network 40.
[0035] The sales management server 20 configured as above uses part of the storage area in the auxiliary storage device 23 as an area for the tenant file 60 and the sales management file 70. In addition, the sales management server 20 uses part of the storage area in the main memory 22 as an area for the token table 221.
[0036] 6 is a schematic diagram showing the data structure of the token table 221. The token table 221 has a column Ca for numbers (No), a column Cb for tokens, a column Cc for tenant information, a column Cd for expiration dates, and a column Ce for invalid flags F. Column Ca describes consecutive numbers from "1" to "N (N>1)."
[0037] Column Cb describes the access token generated by the sales management server 20. The access token is information that proves that access to the API 80 is legitimate. The access token is also called an API token.
[0038] Column Cc describes tenant information included in the access token described in the same row of column Cb. The tenant information is information specific to a tenant that has a tenant terminal 10. Each tenant is identified by the specific information. For example, the tenant information includes a tenant code, an attribute code, and a device code. The tenant information may also include other information. Alternatively, the tenant code may be a combination of the tenant code and the attribute code, or may be the tenant code alone.
[0039] Column Cd describes the expiration date of the access token described in the same row of column Cb. The expiration date is, for example, six hours. The expiration date may be any time shorter than six hours or any time longer than six hours.
[0040] In column Ce, an invalid flag F is written. The invalid flag F is one-bit data for identifying whether the access token written in the same row of column Cb is invalid or not. An access token becomes invalid when its expiration date has passed. For an access token that is not invalid, an invalid flag F with a value indicating valid is written. For an access token that has passed its expiration date and has become invalid, an invalid flag F with a value indicating invalid is written. In this embodiment, the invalid flag F has a value of "0" indicating valid and a value of "1" indicating invalid.
[0041] [Functional explanation of the sales management system 100] Fig. 7 is a schematic diagram showing the main functions of the tenant terminal 10 and the sales management server 20 that constitute the sales management system 100. Fig. 8 is a sequence diagram showing the relationship between each function of the tenant terminal 10 and each function of the sales management server 20.
[0042] The tenant terminal 10 has the functions of a request means 101, a holding means 102, a settlement means 103, and a data generation means 104. The sales management server 20 has the functions of a token generation means 201, a storage means 202, a provision means 203, an acquisition means 204, a matching means 205, an identification means 206, and a processing means 207.
[0043] The request means 101 of the tenant terminal 10 is a function that requests the issuance of an access token from the sales management server 20. As shown in Figure 8, the request means 101 outputs an issuance request that requests the issuance of an access token from the sales management server 20. The issuance request includes the user name and password that the tenant terminal 10 obtained from the sales management server 20 through a prior activation process.
[0044] The issuance request is transmitted to the sales management server 20 via the communication network 40. When the sales management server 20 receives the issuance request, the functions of the token generating means 201, the storage means 202, and the providing means 203 become active.
[0045] The token generation means 201 is a function that generates an access token in response to an issuance request from the tenant terminal 10. The token generation means 201 searches the tenant file 60 using the username and password included in the issuance request as search keys. The token generation means 201 acquires, for example, a tenant code, an attribute code, and a device code as tenant information from a tenant record 61 that includes the username and password that are the search keys. The token generation means 201 generates an access token that includes the tenant information acquired from the tenant file 60, that is, the tenant code, the attribute code, and the device code.
[0046] The storage means 202 has a function of storing an access token generated by the token generation means 201 and tenant information included in the access token in association with each other. The storage means 202 stores the access token and the tenant information using a token table 221. Specifically, the storage means 202 writes the access token generated by the token generation means 201, the tenant information included in the access token, that is, the tenant code, attribute code, and device code, the expiration date of the access token, and an invalid flag F with a value of “0” indicating validity, in columns Cb, Cc, Cd, and Ce corresponding to number n in the token table 221. The number n is the smallest number in a series of numbers written in column Ca for which no data is written in columns Cb, Cc, Cd, and Ce in the same row.
[0047] The function of an access token to prove that access is legitimate becomes invalid when a predetermined validity period has elapsed since the access token was generated by the token generation means 201. The validity period is the time after the validity period has elapsed from the time the access token was generated. The storage means 202 records the validity period in column Cd.
[0048] An access token is valid until the current date and time reaches its expiration date, at which point it becomes invalid. Therefore, the access token is valid at the time it is generated. Therefore, the storage means 202 writes an invalid flag F with a value of "0" indicating validity in column Ce.
[0049] The providing means 203 is a function that provides the access token generated by the token generating means 201 to the tenant terminal 10 that has requested the issuance. As shown in Fig. 8, the providing means 203 transmits the access token to the tenant terminal 10 that has sent the issuance request as the destination. The access token is written in column Cb of the token table 221 by the storage means 202.
[0050] The access token is transmitted to the tenant terminal 10 set as the destination via the communication network 40. When the tenant terminal 10 receives the access token, the function as the holding means 102 is enabled.
[0051] The holding means 102 is a function for holding an access token obtained from the sales management server 20. The holding means 102 holds the access token by storing it in a volatile memory area of the main memory 12. The holding means 102 may also hold the access token by storing it in the auxiliary storage device 13.
[0052] In this way, when the tenant terminal 10 obtains the access token for which issuance has been requested by the request means 101 from the sales management server 20, the tenant terminal 10 retains the access token. By using the retained access token, the tenant terminal 10 can access the sales management server 20 equipped with the API 80.
[0053] On the other hand, access tokens have an expiration date. Therefore, the tenant terminal 10 enables its function as the request means 101 before the access token expires. That is, the tenant terminal 10 periodically outputs an issuance request to the sales management server 20 to obtain a valid access token, and overwrites and saves it in the main memory 12. In this way, the tenant terminal 10 can always hold a valid access token. However, if a communication error occurs when outputting the issuance request, the tenant terminal 10 will not be able to obtain a valid access token. In that case, the access token held by the tenant terminal 10 may expire.
[0054] The settlement means 103 is a function that executes settlement operations each time business hours end. When business hours end for the day, a tenant employee commands the tenant terminal 10 to execute settlement operations. In response to this command, the settlement means 103 generates print data for a settlement receipt based on the data stored in the sales file 50. The settlement means 103 prints the print data on receipt paper using the printing device 18 and issues it as a settlement receipt. The settlement means 103 then clears the sales file 50.
[0055] The data generation means 104 has a function for generating sales report data from an access token issued by the sales management server 20 and settlement data of the tenant's sales for a predetermined period. The data generation means 104 generates sales report data from the access token held by the holding means 102 and sales data compiled in the sales file 50. Specifically, the data generation means 104 collects sales data by item for items defined in the API 80 based on the sales data compiled in the sales file 50. The data generation means 104 then generates sales report data including the sales data by item and the access token stored in the main memory 12. The sales report data may also include a username and password set in the tenant terminal 10. As shown in FIG. 8, the sales report data generated by the data generation means 104 is imported into the sales management server 20 via the communication network 40.
[0056] The importing means 204 of the sales management server 20 imports sales report data generated by the tenant terminals 10. Specifically, the importing means 204 imports sales report data from the tenant terminals 10 at a predetermined time when all business hours for each tenant are closed for the day. For example, upon receiving a notification from a tenant terminal 10 that sales report data has been generated, the importing means 204 imports the sales report data from the tenant terminal 10 via the communication network 40. In other words, the tenant terminal 10 sends a notification to the sales management server 20 that sales report data has been generated, and the sales management server 20, upon receiving the notification, imports the sales report data. Alternatively, the importing means 204 may automatically import sales report data from each tenant terminal 10 at a predetermined time after the daily settlement process is performed on that tenant terminal 10. After importing the sales report data, the sales management server 20 activates the functions of the collating means 205, the identifying means 206, and the processing means 207.
[0057] The matching means 205 has a function of matching whether the tenant's unique information included in the access token used to generate the sales report data imported by the import means 204 matches the unique information stored in association with the access token. The access token used in the tenant terminal 10 to generate the sales report data includes a tenant code, an attribute code, and a device code as the tenant's unique information. Meanwhile, the token table 221 stores tenant information, that is, the tenant code, attribute code, and device code included in the access token, in association with the access token provided to the tenant terminal 10. The matching means 205 acquires the tenant code, attribute code, and device code from the access token included in the sales report data. The matching means 205 then matches whether the tenant code, attribute code, and device code match the tenant code, attribute code, and device code associated with the access token in the token table 221.
[0058] The identification means 206 is a function for identifying a tenant from the tenant's unique information included in the access token used when generating the sales report data imported by the import means 204. The identification means 206 identifies a tenant when the tenant's unique information matches as a result of the comparison by the comparison means 205. Specifically, the identification means 206 acquires a tenant code included in the tenant's unique information as information for identifying the tenant.
[0059] The identification means 206 responds with the result of the matching by the matching means 205 to the tenant terminal 10 identified by the tenant code. Specifically, as shown in Fig. 8, when the matching means 205 matches the tenant's unique information, the identification means 206 transmits a result response signal indicating an acceptance response to the tenant terminal 1. On the other hand, when the tenant's unique information does not match, the identification means 206 transmits a result response signal indicating an error response to the tenant terminal 1. The result response signal is transmitted via the communication network 40 to the tenant terminal 10 that generated the sales report data.
[0060] The processing means 207 has a function of processing sales data for a predetermined period of the tenant identified by the identification means 206, based on the sales report data imported by the import means 204. The processing means 207 acquires sales data by item from the sales report data imported by the import means 204. The processing means 207 then creates a sales record 71 using the tenant code of the tenant identified by the identification means 206, the current date and time measured by the clock 24 (i.e., the report date and time), and the sales data by item acquired from the sales report data. The processing means 207 writes the sales record 71 to the sales management file 70.
[0061] Thus, a sales record 71 for each tenant is generated based on the sales report data imported from the tenant terminal 10 of each tenant and is saved in the sales management file 70. The developer's inspector can inspect the sales records 71 saved in the sales management file 70 by operating the business computer 30 as needed.
[0062] [Tenant terminal program explanation] The functions of the tenant terminal 10 as the request means 101, the holding means 102, the settlement means 103 and the data generation means 104 are all realized by the information processing executed by the processor 11 in accordance with the first business program.
[0063] The first business program is a type of application program stored in the main memory 12 or the auxiliary storage device 13. There are no particular limitations on the method for installing the first business program in the main memory 12 or the auxiliary storage device 13. The first business program can be installed in the main memory 12 or the auxiliary storage device 13 by recording it on a removable recording medium or by distributing it via communication over a network. The recording medium can be in any form, such as a CD-ROM or memory card, as long as it can store a program and is readable by a device.
[0064] Figure 9 is a flowchart showing the main steps of the information processing executed by processor 11 in accordance with the first business program. For example, when the first business program is started at the start of business for the day, processor 11 starts the information processing of the steps shown in the flowchart of Figure 9. Processor 11 controls communication interface 15 to output an issuance request as ACT1. This control causes the issuance request to be sent from communication interface 15 to sales management server 20 via communication network 40.
[0065] After controlling the transmission of the issuance request, processor 11 proceeds to ACT2. In ACT2, processor 11 waits to receive an access token. When the access token is received via communication interface 15, processor 11 proceeds to ACT3. In ACT3, processor 11 overwrites and saves the access token in main memory 12 and retains it.
[0066] Processor 11, which has the access token, proceeds to ACT4. Processor 11 checks whether a predetermined time T has elapsed since sending the issuance request in ACT4. The predetermined time T is any time shorter than the expiration date of the access token. If the predetermined time T has not elapsed, processor 11 proceeds to ACT5. Processor 11 checks whether a command to perform a settlement operation has been issued in ACT5. If a command to perform a settlement operation has not been issued, processor 11 returns to ACT4. In this way, processor 11, which has the access token, waits in ACT4 and ACT5 for the predetermined time T to elapse or for a command to perform a settlement operation to be issued.
[0067] When a predetermined time T has elapsed in the standby state for ACT4 and ACT5, the processor 11 returns to ACT1. The processor 11 executes the processes from ACT1 onwards in the same manner as described above. That is, the processor 11 sends an issuance request, retains the access token returned in response to the request, and returns to the standby state for ACT4 and ACT5.
[0068] When a command to execute a settlement operation is issued in the standby state of ACT4 and ACT5, the processor 11 proceeds to ACT6. The processor 11 executes the settlement process in ACT6. That is, the processor 11 controls the printing device 18 based on the data stored in the sales file 50 to control the issuance of a settlement receipt.
[0069] The processor 11 also generates sales report data as ACT 7. That is, the processor 11 generates the sales report data from the access token stored in the main memory 12 and sales data by item obtained in accordance with the definition of the API 80 based on the sales data aggregated in the sales file 50.
[0070] After generating the sales report data, processor 11 proceeds to ACT 8. In ACT 8, processor 11 clears sales file 50. With this, processor 11 ends information processing in accordance with the first business program. Note that once processor 11 has generated the sales report data in ACT 7, it may output a signal to sales management server 20 notifying it of the completion of generation of the sales report data (notification means).
[0071] Here, processor 11 realizes the function of request means 101 by executing the processing of ACT1. Processor 11 realizes the function of holding means 102 by executing the processing of ACT3. Processor 11 realizes the function of settlement means 103 by executing the processing of ACT6. Processor 11 realizes the function of data generation means 104 by executing the processing of ACT7.
[0072] [Sales management server program explanation] The functions of the sales management server 20 as a token generation means 201, a storage means 202, a provision means 203, an acquisition means 204, a matching means 205, an identification means 206 and a processing means 207 are all realized by information processing executed by the processor 21 in accordance with a second business program.
[0073] The second business program is a type of application program stored in the main memory 22 or the auxiliary storage device 23. There are no particular limitations on the method for installing the second business program in the main memory 22 or the auxiliary storage device 23. The second business program can be recorded on a removable recording medium, or can be distributed by communication via a network and installed in the main memory 22 or the auxiliary storage device 23. The recording medium can be in any form, such as a CD-ROM or memory card, as long as it can store a program and is readable by a device.
[0074] 10 to 12 are flowcharts showing the main steps of the information processing that the processor 21 executes in accordance with the second business program.
[0075] <About Figure 10> The processor 21 waits for an issuance request in ACT11. When the processor 21 receives an issuance request from any of the tenant terminals 10, the processor 21 proceeds to ACT12. The processor 21 performs password authentication in ACT12. The issuance request includes a tenant code set in the sending tenant terminal 10, and a username and password acquired by the tenant terminal 10 through activation processing. The processor 21 searches the tenant file 60 for the tenant code included in the issuance request. The processor 21 checks whether the username and password described in the tenant record 61 that includes the same tenant code match the username and password included in the issuance request. If they match, the processor 21 approves password authentication.
[0076] The processor 21 determines whether or not the password authentication is approved in ACT 13. If the user name and password do not match and approval is not granted, the processor 21 proceeds to ACT 14. In ACT 14, the processor 21 transmits an invalid response signal notifying that the issuance request is invalid to the tenant terminal 10 that sent the issuance request.
[0077] On the other hand, if the password authentication is approved, the processor 21 proceeds to ACT 15. The processor 21 acquires tenant information in ACT 15. That is, the processor 21 acquires a tenant code, an attribute code, and a device code as tenant information from the tenant record 61 used in the password authentication.
[0078] After acquiring the tenant information, the processor 21 proceeds to ACT 16. In ACT 16, the processor 21 generates an access token including the tenant information. In ACT 17, the processor 21 writes and stores the access token together with the tenant information and expiration date data in the token table 221. In ACT 18, the processor 21 also sets the invalid flag F associated with the access token to the value "0" indicating validity.
[0079] After storing the access token, the processor 21 proceeds to ACT 19. In ACT 19, the processor 21 controls the communication interface 25 to transmit the access token to the tenant terminal 10. By this control, the access token is transmitted via the communication network 40 to the tenant terminal 10 that sent the issuance request.
[0080] When the processor 21 transmits an access token or an invalid response signal to the tenant terminal 10 that sent the issuance request, the processor 21 ends the information processing procedure shown in the flowchart of Fig. 10. That is, the processor 21 repeatedly executes the processes of ACT11 to ACT19 every time it receives an issuance request from the tenant terminal 10. Here, the processor 21 realizes the function of token generation means 201 by executing the processes of ACT15 and ACT16. The processor 21 realizes the function of storage means 202 by executing the processes of ACT17 and ACT18. The processor 21 realizes the function of provision means 203 by executing the process of ACT19.
[0081] <About Figure 11> The processor 21 starts the interrupt process shown in the flowchart of Fig. 11 every time the time measured by the clock 14 elapses, for example, every one minute. The processor 21 acquires the date and time measured by the clock 14 as the current date and time in ACT21. The processor 21 also resets a counter n to "0" in ACT22. The counter n is, for example, built into the processor 21.
[0082] The processor 21 counts up the counter n by "1" in ACT23. Then, the processor 21 checks whether the counter n has exceeded the maximum value N of the numbers written in the column Ca of the token table 221 in ACT24.
[0083] If counter n does not exceed the maximum value, the processor 21 proceeds to ACT25. In ACT25, the processor 21 acquires the information (table information) written in columns Cd and Ce corresponding to the number matching counter n in the token table 221, that is, the expiration date and invalid flag F. In ACT26, the processor 21 checks whether the invalid flag F is the value "0" indicating valid. If the invalid flag F is "0", the processor 21 checks whether the current date and time is outside the expiration date in ACT27. If the current date and time is outside the expiration date, the processor 21 proceeds to ACT28. In ACT28, the processor 21 changes the invalid flag F from the value "0" indicating valid to the value "1" indicating invalid. After that, the processor 21 returns to ACT23.
[0084] On the other hand, if the invalid flag F is set to the value "1" indicating invalid in ACT 26, or if the current date and time is within the expiration date in ACT 27, the processor 21 returns to ACT 23 without executing the processing in ACT 28. The processor 21 counts up the counter n by "1" and executes the processing from ACT 24 onwards in the same manner as described above. That is, the processor 21 repeatedly executes the processing from ACT 23 to ACT 28 until the counter n exceeds the maximum value N. When the counter n exceeds the maximum value N, the processor 21 ends the interrupt processing of the procedure shown in the flowchart of FIG. 11.
[0085] As a result of the above interrupt processing, the invalid flag F associated with the access token stored in the token table 221 remains at the value "0" indicating validity until a predetermined time has elapsed from the time the access token was generated, but becomes the value "1" indicating invalidity once the predetermined time has elapsed. In other words, the access token is valid until the predetermined time has elapsed, but becomes invalid once the predetermined time has elapsed.
[0086] If the expiration date information cannot be obtained from column Cd in ACT25, the interrupt processing of the procedure shown in the flowchart of Fig. 11 may be terminated at that point. If the expiration date information cannot be obtained, it means that an access token is not written in the same row of the token table 221, and therefore the time required for the interrupt processing can be shortened.
[0087] <About Figure 12> In ACT 31, the processor 21 waits for the timing to import the sales report data. For example, when the processor 21 receives a signal from one of the tenant terminals 10 notifying that generation of the sales report data has been completed, the processor 21 determines that it is the timing to import the sales report data. The processor 21 proceeds to ACT 32. In ACT 32, the processor 21 acquires the sales report data from the tenant terminal 10. Then, in ACT 33, the processor 21 acquires an access token from the sales report data.
[0088] After acquiring the access token, the processor 21 proceeds to ACT 34. In ACT 34, the processor 21 refers to the token table 221 and checks the invalid flag F that is written in association with the access token acquired from the sales report data.
[0089] If the invalid flag F is set to the value "0" indicating validity, the processor 21 proceeds to ACT 35. In ACT 35, the processor 21 refers to the token table 221 and acquires the tenant information described in association with the access token acquired from the sales report data. Then, in ACT 36, the processor 21 compares the acquired tenant information with the tenant information included in the access token acquired in ACT 33. The processor 21 confirms whether the two pieces of tenant information match.
[0090] If the two pieces of tenant information match, the processor 21 proceeds to ACT 38. In ACT 38, the processor 21 acquires a tenant code from the tenant information. In ACT 39, the processor 21 also acquires sales data by item from the sales report data. Then, in ACT 40, the processor 21 generates a sales record 71 from the acquired tenant code and sales data by item.
[0091] After generating the sales record 71, the processor 21 proceeds to ACT 41. In ACT 41, the processor 21 saves the sales record 71 in the sales management file 70. In ACT 42, the processor 21 also transmits an approval response signal to the tenant terminal that transmitted the sales report data.
[0092] On the other hand, if the invalid flag F is set to the value "1" indicating invalidity in ACT 34, or if the two pieces of tenant information do not match in ACT 37, the processor 21 proceeds to ACT 43. In ACT 43, the processor 21 transmits an error response signal to the tenant terminal that transmitted the sales report data.
[0093] When the processor 21 transmits an acceptance response signal or an error response signal to the tenant terminal 10 from which the sales report data was acquired, the processor 21 ends the information processing procedure shown in the flowchart of Fig. 12. That is, the processor 21 repeatedly executes the processing of ACT31 to ACT43 every time sales report data is acquired from the tenant terminal 10. Here, the processor 21 realizes the function of the acquisition means 204 by executing the processing of ACT31 and ACT32. The processor 21 realizes the function of the matching means 205 by executing the processing of ACT35 to ACT37. The processor 21 realizes the function of the identification means 206 by executing the processing of ACT38. The processor 21 realizes the function of the processing means 207 by executing the processing of ACT39 to ACT41.
[0094] [Effects of the embodiment] As described above in detail, according to this embodiment, the tenant terminal 10 of each tenant periodically requests the sales management server 20 to issue an access token. In response to the issuance request from the tenant terminal 10, the sales management server 20 generates an access token including unique information of the tenant for whom the tenant terminal 10 settles sales. The sales management server 20 then: The access token is provided to the tenant terminal 10 that requested the issuance. Each time the daily settlement process is completed, the tenant terminal 10 generates sales report data from the access token issued by the sales management server 20 and the settled sales data. The sales management server 20 imports the sales report data generated by the tenant terminal 10, identifies the tenant, and processes the sales data for that tenant for a specified period. In doing so, the sales management server 20 compares the tenant information of the tenant terminal 10 that provided the access token with the tenant information included in the sales report data acquired from the tenant terminal 10, allowing the sales management server 20 to accurately identify the tenant.
[0095] Thus, the burden on employees of each tenant is reduced because they no longer need to report sales to the developer. Also, costs can be reduced because tenants no longer need terminals dedicated to sales reports. Furthermore, because reports are not manually done by employees, there is no risk of input errors, calculation errors, transcription errors, etc. This also reduces the burden on developers' reviewers who scrutinize the contents of reports.
[0096] Furthermore, there is no risk of sales data being omitted from reports. Moreover, the itemized sales data included in the sales report data is obtained in accordance with the definitions in the API 80. Therefore, even if the tenant terminals 10 installed in each tenant, such as POS terminals, are of different models or manufacturers, the standardized sales data is imported into the sales management server 20 as sales report data. Therefore, the sales management server 20 can import and process sales data from each tenant terminal 10 in a unified manner.
[0097] [Other embodiments] In the above embodiment, the processor 11 of the tenant terminal 10 executed the settlement process in ACT 6 of FIG. 9 and then generated sales report data in ACT 7. That is, the settlement means 103 that executes the settlement process and the data generation means 104 that generates the sales report data were described as working together. In this regard, the settlement means 103 and the data generation means 104 do not necessarily need to be linked together. The settlement process is carried out after closing time on a closed business day, but the closing time of a tenant is generally determined in advance. Therefore, the processor 11 may execute information processing as the data generation means 104 at any time after closing time when the settlement process is expected to be completed.
[0098] In the sales management server 20, the matching means 205 does not need to match all of the tenant code, attribute code, and device code. The matching means 205 may simply match whether or not at least the tenant code matches.
[0099] Although several embodiments have been described above, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope of the invention and the scope of the inventions and their equivalents as defined in the claims. [Explanation of symbols]
[0100] 10...tenant terminal, 20...sales management server, 30...business PC, 40...communication network, 50...sales file, 60...tenant file, 70...sales management file, 80...API, 101...request means, 102...holding means, 103...settlement means, 104...data generation means, 201...token generation means, 202...storage means, 203...provision means, 204...import means, 205...matching means, 206...identification means, 207...processing means, 221...token table.
Claims
1. A sales management server that manages sales of tenants, and a tenant terminal that settles sales of the tenants for a predetermined period, The tenant terminal a request means for requesting the sales management server to issue an access token; a data generation means for generating sales report data from the access token issued by the sales management server and data on the settlement of sales for the tenant during the predetermined period; Equipped with The sales management server a token generating means for generating an access token including unique information of a tenant whose sales are settled by the tenant terminal in response to an issuance request from the tenant terminal; providing means for providing the access token generated by the token generating means to the tenant terminal that has requested issuance of the access token; an import unit for importing the sales report data generated by the tenant terminal; an identification means for identifying a tenant based on the tenant's unique information included in the access token used when generating the sales report data; a processing means for processing sales data for a predetermined period of the tenant identified by the identifying means based on the sales report data; A sales management system equipped with:
2. The sales management server a storage means for storing the access token generated by the token generation means and the tenant's unique information included in the access token in association with each other; a verification means for verifying whether the tenant's unique information included in the access token used when generating the sales report data matches unique information stored in association with the access token; Further comprising: The sales management system according to claim 1 , wherein the identification unit identifies the tenant when the unique information of the tenant matches as a result of the comparison.
3. The sales management server has an API for importing the sales report data, The tenant terminal generates the sales report data based on the API. The sales management system according to claim 1 or 2,
4. In a sales management device for managing tenant sales, a token generating means for generating an access token including unique information of a tenant whose sales are settled by the tenant terminal in response to an issuance request from the tenant terminal that settles the sales of the tenant for a predetermined period; providing means for providing the access token generated by the token generating means to the tenant terminal that has requested issuance of the access token; an import means in the tenant terminal for importing sales report data generated from the access token provided by the sales management device and data on the settlement of sales for the tenant for a predetermined period; an identification means for identifying a tenant based on the tenant's unique information included in the access token used when generating the sales report data; a processing means for processing sales data for a predetermined period of the tenant identified by the identifying means based on the sales report data; A sales management device comprising:
5. a storage means for storing the access token generated by the token generation means and the tenant's unique information included in the access token in association with each other; a verification means for verifying whether the tenant's unique information included in the access token used when generating the sales report data matches unique information stored in association with the access token; Further comprising: The sales management device according to claim 4 , wherein the identification means identifies the tenant when the unique information of the tenant matches as a result of the comparison.
6. A computer for a sales management device that manages tenant sales, a token generating means for generating an access token including unique information of a tenant whose sales are settled by the tenant terminal in response to an issuance request from the tenant terminal that settles the sales of the tenant for a predetermined period; providing means for providing the access token generated by the token generating means to the tenant terminal that has requested issuance of the access token; an import means in the tenant terminal for importing sales report data generated from the access token provided by the sales management device and data on the settlement of sales for the tenant for a predetermined period; Identification means for identifying a tenant from the tenant's unique information included in the access token used when generating the sales report data; and a processing means for processing sales data for a predetermined period of the tenant identified by the identifying means based on the sales report data; A program to function as a
Citation Information
Patent Citations
Management device for browsing data
JP2002366518A
Account management method, account management system, and program
JP2022057900A
Secure management of user information using tokenization and token states
US20200233975A1
Method, system and apparatus for unified plug-in micro-service access control
WO2024025509A1