How to edit a receipt in 1s. How to cancel a check at an online cash register? Changing sales details
















Setting up directories

To work with retail, you must additionally fill out the following directories:

  • Points of sale- add outlets through which retail trade is carried out.
  • Box office- we create a cash register - a place for receiving and storing cash during a shift (a cash register, a simple cash drawer, and the seller’s cats can be conventionally called a cash register).
  • Warehouses- add a warehouse from which goods will be released (this could be a store hall, an additional warehouse, a specific department, etc.).
  • Terminals- if cashless payment is possible in the store, then we add a terminal for accepting bank cards.
  • Price types- if necessary, create a price type that will be used for retail sales or in a specific store.

One store may have several cash registers, terminals, warehouses or price types.

Creating users (sales accounting by sellers)

If you want to keep records of sales by seller, insert the full name of a specific seller into checks and assign each seller their own access rights, then you first need to register each seller as an individual user of the system.
Users are added in the following way: Menu > Administration > Users > Add.

Filling out the fields with the user's full name is mandatory; this is where data about the seller will be taken when printing a receipt. Here you set access rights to the main system and/or the seller interface and assign the roles of the seller interface. One salesperson can be assigned any number of roles.



Setting up access rights (seller interface roles)

Setting up roles (or rights) is necessary so that the seller has access only to those system objects (stores, warehouses, cash desks, cashless payment terminals, price types) that you define for him. Role settings are in Menu > Administration > Merchant Interface Roles.

The system allows you to create any required number of roles.

On the "Settings" tab, you define default values ​​that will be automatically set when entering the seller's interface, as well as a number of settings for printing a sales receipt, discounts, etc. If the seller works with a cash register to which the ATOL cash register is connected, then the sales receipt settings can be ignored (since the cash receipt is printed, not the sales receipt).

On the tabs "Companies", "Points of sale", "Warehouses", etc. indicate the objects to which you want to give the user access. You can allow access to all objects, or you can select specific options, for example, only one cash register and one specific warehouse. When working with ATOL cash register systems, it is recommended to allow access in one role only to one specific cash register, point of sale and company.


Login to the seller interface

Login to the seller interface is located in Menu > Documents > Retail. For convenience, you can remove the login icon

to the Quick Launch Toolbar.

If the seller does not have access to the main interface, then when he enters his login and password into the standard login form, he will go directly to the seller’s interface.
If the merchant's interface role gives him access to more than one object (for example, two warehouses at the same time), he will be prompted upon login to confirm the default settings.

Opening shift

Retail work is carried out in shifts. A shift is a period during which sales are made and at the end of which the salesperson hands over the proceeds. In order to open a shift, just create the first sale or select “Open shift” in the “Actions” menu. There are no restrictions on shift duration.

Registration of sales, printing of sales receipt

The “Sale” operation writes off goods from the store’s warehouse and simultaneously accepts cash from the buyer. When registering a sale, a “Receipt” document is created in the main interface.
Registration of a sale takes place in several steps:

Step 1. Set the operation type to “Sale” (always specified by default).

Step 2. We select the goods in the document.
You can do this in several ways:

  • scan the barcode. To do this, a barcode scanner must be connected to the system.
  • Enter a few characters from the product name, article number, code or barcode into the search bar and press the Enter key. The selection of search options is configured by turning on/off the checkboxes below the search bar.

All selected products are placed in common list. The quantity of each type of product can be changed using buttons

.
The total cost of the resulting check is reflected in the “Total” column. Product price (button

) can be changed by the seller to arbitrary only if the corresponding permission is set in the assigned seller interface role.
If a product has several units of measurement, then when selecting a product without using a barcode scanner, the default unit of measurement will be substituted. You can change it to the desired one using the button

Step 3. We accept payment.
Payment can be made either in cash or using a bank card. When choosing the “Cash” option, in the “Received” field you must enter the amount received from the buyer, after which the system will automatically calculate the change. When choosing the “Terminal” option, the check amount will always be equal to the amount received.

Step 4. We are completing the sale.
To do this, enable or disable the “Print sales receipt upon payment” checkbox (depending on whether you issue a sales receipt to the buyer) and click the “Pay” button. The sales receipt will contain the name of the seller who is currently “logged in” to the system. Once the sale is completed, the screen clears and you can create a new sale.


Registration of return to the current shift

Making a return through the seller interface is only possible if the item being returned is one that was sold during the current (not yet closed) shift. Refunds for other shifts must be processed through the main interface.
The “Return to current shift” operation takes the goods back to the store warehouse and reduces the revenue for the shift.
To carry out a return, you need to change the operation type by setting the “Return to current shift” operation instead of the “Sale” operation.

You can add a product to the list through a barcode, search or selection, similar to selling.
If the payment for the goods was made in cash, then cash should be returned, if through the terminal, the return should be made through the terminal.

Operation “Delay check”

Called from the “Actions” menu or by using the hotkey combination ALT+V.
Designed for situations in which it is necessary to preserve the goods train collected in the check without making a sale (for example, when the buyer asked to put aside several items). If there are pending checks when closing a shift, the system will issue a warning. A deferred check can be transferred and “punched” in another shift, and it will be assigned the next serial number from the new shift.


Operation “Cancel check”

Called from the “Actions” menu or the hotkey combination - Alt+C.
Designed for quick cleaning of loaded freight trains. You cannot cancel an already saved receipt in the seller's interface - you must use a product return or delete the receipt through the main interface.


List of checks, search by checks

The list of checks is located in the “Actions” menu and shows all issued or deferred checks. Using special filters, you can find receipts for a specific cash register, store, seller, warehouse, terminal, payment method, type of transaction, product, select only pending receipts, receipts for a certain period or only for the current shift.


Viewing Interim Reports

If during a shift a salesperson needs to obtain information about current revenue or view a list of sales and returns by product, this can be done using two reports called from the “Actions” menu: “Cashier Report” and “Sales Report (with Returns).”
Reports are generated in pdf and can be printed.




Closing a shift

Closing a shift is an operation similar to taking a z-report on a cash register. Depending on the seller’s rights, as a result of closing a shift, revenue may be withdrawn from the current cash register and entered into the company’s main cash register, and appropriate reports may be generated.

In order to close a shift, you must:

1. Click on the “Actions” button and select “Close shift”.

2. In the window that appears, check the sales data for the shift. If necessary, enable printing of the cashier's revenue report and/or sales report, and also determine the procedure for handling revenue within the framework of the rights established for the cashier.

3. Click on the “Close shift” button.

After this, the shift is formally closed, but if the store has a cashless payment terminal, the money for it is withdrawn in a separate operation. To withdraw money from the terminal account and transfer it to the company’s account, you must draw up a document Bank > Receipt to account with the transaction type “Acquiring Agreement”.

Changing sales details

If the seller’s settings allow him to sell, for example, from different warehouses, use several terminals for accepting bank cards or price types, then in the process of work it may be necessary to change the parameters for a specific sale. To do this, click the “Actions” button, select “Details”, specify the required value and apply the changes. The hotkey combination for this action is Alt+A.



Show details

If the seller does not need to constantly monitor the sales details (company, warehouse, cash desk, terminal, etc.), the line with the details located at the top of the screen can be hidden. To do this, in the “Actions” menu, click on the “Show details” item.

This line will disappear from the screen:

Change of seller

To change the seller, select the “Change seller” item in the “Actions” menu or use the hotkey combination Alt+U. Changing the seller is necessary if you keep records of sales by seller and/or want to insert the surname and initials of the person who completed the sale into the sales receipt.


Choosing a Merchant Interface Role

If one seller is assigned several roles in his settings, then he can switch between them without leaving the seller’s interface and without closing the shift (the “Interface Roles” item in the “Actions” menu).

Hotkeys for frequent operations

ALT+ENTER - Pay
ALT+A - Change details
ALT+U - Change seller
ALT+C - Cancel check
ALT+V - Postpone check
ALT+W - Close modal window

ALT+Q - Change quantity
ALT+P - Change price
Alt+M - Change unit of measurement

How to change the quantity of an item on a receipt?

Select the line with the product and click the "Quantity" button. In the window that appears, enter desired value. You can also use the “Quantity +” and “Quantity-” buttons, which change the value in increments of one.

How to change the unit of measurement of a product?

By default, the item with the default unit of measurement is inserted into the receipt. If you need to change the unit of measurement, select the line with the desired product and click the "Unit" button.

How can I change the price?

Select the line with the product and click the "Price" button. In the window that appears, enter the desired value. The prohibition on editing the price is determined by the role of the seller interface.

How to set a discount on a receipt?

Discounts can be set on a receipt manually or automatically.
To set a discount manually, click the "Discounts" button and indicate where to get the value from: from the "Discounts" directory or enter it from the keyboard. To cancel the discount, select "Cancel discount". Rights to work with manual discounts are determined at the role level of the seller interface. For example, the seller can be completely prohibited from setting discounts manually.

Automatic substitution of discounts is configured immediately for the main interface and the seller interface. Kinds current discounts and priority are determined at the administrator or user settings level on the "Automatic discounts" tab.

Canceling a KKM check is the cancellation of an operation to accept cash from a buyer and related manipulations with the check. If a check is canceled before it is closed, then, as a rule, the cash register registers this fact and prints the inscription “Check Canceled” on the check. The canceled sales amount is not included in the cumulative totals.

If the check has already been closed, then the steps are as follows:

  • The buyer returned the check on the same day - the check is stamped “Canceled” and the signature of the responsible person; at the end of the shift, a report is drawn up in form KM-3, to which the erroneous check is attached.
  • The error was discovered after the shift was closed - then this fact is reflected in the KM-4 log.

IMPORTANT! All of the above manipulations were relevant for cash desks with ECLZ. The introduction of online cash registers and the cancellation of checks has changed .

If you haven't heard of online checkout yet, read about them.

Is it possible to cancel an online cash register receipt?

In online cash registers, cancellation of a check is possible at the stage when it has not yet been cleared. Software Online cash register, as a rule, allows you to cancel a check before it is printed and transferred to the OFD. For example, the firmware for the online cash register system "Evotor" allows you to return to the procedure for selling goods (entering them into a check), as well as adjust the list of goods and cancel the check altogether.

If the check has already been issued, then it cannot be canceled using the methods listed above for cash desks with ECLZ. The reason for this is changes in the law “On the application of cash register systems” dated May 22, 2003 No. 54-FZ. The current version of this law involves the use of a correction check to correct erroneous checks (Clause 4, Article 4.3 of Law No. 54-FZ). You need to punch such a check between the opening and closing of the shift. In this case, you can run the correction check on any other day: it is not necessary that the date of the correction check must coincide with the date of the erroneous calculation.

A correction check can contain 2 calculation features:

  • 1—receipt correction, that is, the business entity records unaccounted revenue if, for example, the check was not cleared at all or was cleared for a smaller amount than required;
  • 3 - expense correction, when a business entity adjusts fiscal documents for issuing money from the cash register, since a smaller amount was initially issued than was necessary.

Canceling a check can be an operation carried out on the initiative of a business entity - when errors are independently identified. Then the check indicates the date and number of the accounting document on the basis of which the calculations are adjusted. This could be, for example, an explanatory note from the cashier. The type of correction in this case is “independent surgery.”

If a violation is identified by a tax inspector, then you need to indicate the type of correction “operation by order” and the details of the order itself.

In addition, online cash registers have a payment feature called “receipt return.” With its help, you can adjust calculations at the online cash register in the presence of the client. If you find that you have punched an incorrect check to a buyer who deposited money into the cash register, then you need to knock out new check for the same amount as in the erroneous check, but with the calculation sign “return of receipt”. On such a check the fiscal sign of the primary check with an error will be indicated. That is, you are, as it were, canceling a bad check. Then a new check is punched out for the correct amount and issued to the buyer.

Results

Cancellation of an online cash register receipt is possible only until it is punched and entered into fiscal memory cash register. After this, the online cash register receipt can only be corrected using a correction check.

There are three ways:

  1. If you have 1C: Retail 2.2, then everything is standard.
  2. Editing a template using the template editor from ATOL (only unchanged text)
  3. Programmatic output of the required fields from 1C.

First way

First, I will respectively tell you about the existing functionality of 1C. In Retail 2.2 1C added functionality for editing cash register receipt templates. It is located in Administration - Printable forms, reports and processing - Templates for labels, price tags and cash register receipts.

How to work with this?

First, we need to determine which fields we will need, in the template click “Edit SKD” and “Edit data layout scheme”, add what we need and save, do not forget to move the field from available to selected on the fields tab.

After we have chosen what we want to additionally display in the receipt, write down the template and click “Edit Layout”, we can download two standard templates “default” and “advanced”, the first is just a standard option, and the second shows an example of an edited template .

In the layout, we already have the opportunity to add our own fields above and below the table of goods in the receipt, as well as display what we want as a non-fiscal document after the receipt, just drag and drop the fields from the possible ones to the place where we want to see them and edit them presentation format, you can simply add a text string.

And let's see what settings the fields have, I think everything is clear here from the screenshot: The field name is either text or the name of the field from the available ones (the calculated field checkbox must be checked), the prefix and postfix allow you to display an additional phrase in front of the field.

Some more information can be found here https://its.1c.ru/db/kkt#content:80:retail22

Everything seems great and nothing else is needed, but what to do if the company does not work in 1C: Retail, purchasing it and setting up exchanges just for this is not very convenient.

Second way

The second option is to edit the template in the cash register itself. This method is suitable for those who do not have many cash registers and need to display some kind of header and footer, i.e. fixed text.

Atol released a KKT template editor.

Unfortunately, I didn’t take screenshots during setup, so I’ll borrow them from Atol’s instructions.

After launching the editor through the menu - cash register - configure the connection, we connect our cash register as in the cash register driver.

This is what our template will look like


Editing a template through this program is of course not as easy as in Retail 2.2, but still not difficult.

By clicking on the template line on the right and left there are buttons “+” (add a line below) or “-” (delete a line)

On the right we display the available fields and the field properties window.

Moving and adding fields is done mainly through the properties window.

Having selected the field we need in the template or in the list of available fields, we need to indicate in which block it will be located, on which line, starting with which character, and its length, after we indicate all this, it will be displayed in our template .


To add arbitrary text, you need to add “Free Line” fields. After we have placed our field, we need to indicate what will be displayed there; for this, there is a line editor button in the menu.

The field name contains the number of this free line: 1, 2, 3, etc. To change the label of a specific field, you need to count the number of lines by the field number starting from the 7th line, for example, if we have free line 1, then its text is in the line editor in line 8.

After all our manipulations, you can test the receipt (menu - cash register - test receipt) and load the template and free lines into the cash register (menu cash register - test receipt).

Before starting the manipulations, I advise you to save the check template via File - Save so that you can restore the template.

More details about this can be found in the template editor user manual.

You can download the editor from the Atol download center.

The disadvantage of this method is that you will have to download the template to each checkout, and you can’t add variable text this way, although the list of fields has fields such as “Custom Tag”, perhaps you can transfer your data through them, but how to transfer this in the documentation not indicated. I would be glad if someone knows and supplements this article with such information.

Third way

Well, the last way is to improve the 1C functionality.

Programmatically, it is possible to display your own lines in the same way as in the functionality of the receipt editor in Retail 2.2, i.e. before the table of goods, after it and as a separate non-fiscal document.

This limitation exists because 1C sends an xml file with check parameters to the cash register and, accordingly, the cash register will not accept any of our fictitious variables.

Where can all this be added?

I am describing my solution based on UT 10.3, but I think the principle of generating a receipt is the same in all 1C solutions and differs only in where these functions are located.

We will need the function Prepare Data for Fiscalization of a Check in the CheckKKM object module.

(For UT 11 this is the Check Parameters function in the form module of the DocumentFormRMK document CheckKKM)

In this function, we can replace the value that 1C substitutes with our own (for example, replace the seller or display a different item name, etc.)

We are looking for a loop of iterating over strings in this function PM Products

// Product Items For Each Product Line From ReceiptKKM.Products Cycle

If we look at “Requirements for the development of drivers for connected equipment 2.1”, we will see that in the table of goods, not only goods can be transferred to the cash register, but also text strings and a barcode, this is what we will use.

First we need to get the structure of our string:

For the product line it looks like this

Receipt Line = EquipmentManagerClientServer.Receipt Fiscal Line Parameters();

For text like this

Receipt Line = Equipment ManagerClientServer.Receipt Text Line Parameters("My text");

If you look at the standard function Receipt Text Line Parameters, you can see that 1c does not give us the opportunity to perform our own alignment and set line breaks, but this can be corrected.

This is what a standard function looks like

Function ReceiptTextStringParameters(Text = Undefined) ExportStringParameters = New Structure(); LineParameters.Insert("TextString"); // String type. Outgoing service parameter. LineParameters.Insert("Text", Text); // Line, Required - text string LineParameters.Insert("LineWrap", False); // Boolean - Line break, default value is set. Row Parameters.Insert("Alignment" , "Left"); // Line - Text alignment, Values: "Left", "Right", "Center". ReturnStringParameters; EndFunction

Here's a little edited

Function ReceiptTextLineParameters(Text = Undefined, Alignment = "Left", LineWrap = False) ExportLineParameters = New Structure(); LineParameters.Insert("TextString"); // String type. Outgoing service parameter. LineParameters.Insert("Text", Text); // Line, Required - text string LineParameters.Insert("LineWrap", LineWrap); // Boolean - Line break, default value is set. RowParameters.Insert("Alignment", Alignment); // Line - Text alignment, Values: "Left", "Right", "Center". ReturnStringParameters; EndFunction

Now by adding a text string we can specify alignment and wrapping.

To add a text string we need to write the following:

Receipt Line = Equipment ManagerClientServer.Receipt Text Line Parameters("My text", "Center", False); GeneralParameters.ReceiptItems.Add(ReceiptLine);

Accordingly, instead of “My text” you can write anything using arbitrary data from the information base.

Now let's decide where we want to add the line:

  • Before the product table

To do this, we need to add insert our code before the product loop.

Receipt Line = Equipment ManagerClientServer.Receipt Text Line Parameters("My text", "Center", False); GeneralParameters.ReceiptItems.Add(ReceiptLine); // Product Items For Each Product Line From ReceiptKKM.Products Cycle

  • After the product table

To do this, insert our code after the loop

GeneralParameters.ReceiptItems.Add(ReceiptLine); EndCycle; Receipt Line = Equipment ManagerClientServer.Receipt Text Line Parameters("My text", "Center", False); GeneralParameters.ReceiptItems.Add(ReceiptLine);

EquipmentManagerClientServer.PerformFormatLogicalControl(GeneralParameters);

  • When withdrawing each product

In this case, we add our code inside the loop, before or after the product our line will be displayed, determined by when you add the code, immediately after the start of the loop or before its completion.