Software for a perfume and cosmetics shop

In a perfume shop, stock keeping starts with the code rather than the name: your phone camera reads the barcode on the bottle or box, the stock drops straight away, and in the evening you get the day’s sales and net profit. Millilitre is one of the units, and you can quote the price per 100 or 500 ml.

Try 7 days freeNo payment card needed
Try tapping it

The perfume-shop till — open it yourself

The unit is a piece, a millilitre or a box. You quote the price per 1, 100 or 500 ml.

  • Millilitres are a unit
  • Price per 100 or 500 ml
  • Intake asks for the expiry date
Tap the screen
9:41
Kassa
Atir Sauvage 100 ml
qoldiq: 6 dona
890 000 so’m
Atir Sauvage 60 ml
qoldiq: 4 dona
640 000 so’m
Dezodorant 150 ml
qoldiq: 18 dona
45 000 so’m
Savat 1
Jami1 575 000 so’m
NaqdKartaQarzga
Sotuvni yakunlash
Mahsulot nomi
Atir Sauvage 100 ml
Shtrix-kodixtiyoriy
3614272104488
Qancha keldi (dona)
6
Srokixtiyoriy
kk.oo.yyyy
Sotuv narxi (1 dona)
890 000
Kirimni saqlash
Asosiy
Bugungi savdo
842 000 so‘m
Sof foyda
210 ming
Sotuv
37
Qarzga
120 ming
Qarzdorlar
1,2 mln
Qarzim
380 ming
Sof balans
820 ming
Eslatma
Postavshik
Hisobot
Xarajatlar
Ombor
AI yordamchi
Ombor
Coca-Cola 1.5L
14 000 so‘m
23 dona
Non
4 000 so‘m
40 dona
Choy Ahmad 100g
22 000 so‘m
12 dona
Guruch Lazer 1 kg
18 000 so‘m
31 dona
Paxta yog‘i 1 l
24 000 so‘m
17 dona
Makaron 400g
9 500 so‘m
54 dona
Shakar 1 kg
12 000 so‘m
3 dona
Guruch Lazer 1 kg
18 000 so‘m
4 dona
Sut 1 l
Srok: 2 kun qoldi
9 dona
Tvorog 250g
Srok: 5 kun qoldi
6 dona
AI yordamchi
Bugungi savdo va foyda qancha?
Telegramga yubor
Kim qarzdor va kim kechiktiryapti?
Nima tugayapti, nima buyurtma qilay?
Telegramga yubor
Savdoni hisoblayapman...
Kim qarzdor?Nima buyurtma qilay?Qaysi tovar yotib qolgan?
Savolingizni yozing...
Mijozlar
Aziz aka
+998 90 123 45 67
420 000 so‘m
Dilnoza opa
+998 93 555 12 34
85 000 so‘m
Bek aka
telefon kiritilmagan
150 000 so‘m
Nodira opa
+998 91 777 08 22
0 so‘m
Sardor aka
+998 94 210 33 15
260 000 so‘m
Malika opa
+998 99 604 77 41
45 000 so‘m
Qarz yozish
Bosing va gapiring
Masalan: “Karim akaga 120 ming so‘m, shanbagacha”
0so‘m
Mijoz ismi
Karim aka
Qarzdor telefoni
+998 90 123 45 67
Muddatixtiyoriy
kk.oo.yyyy
Izohixtiyoriy
Qarz yozish
Profil
Balans150 000 so‘m · 12 kun
Do‘kon ma’lumotlari
TilO‘zbekcha (lotin)
Karta raqami•••• 9012
Skaner ovoziKod o‘qilganda “bip” chiqadi.
Chek printeri80 mm
Yorliq printeri40×30 mm
Kechki hisobot22:00
Xodimlar (sotuvchilar)

Every bottle tracked by its barcode

A perfume shop carries many items with names that look alike. So at the till you tap the scanner button and the item goes into the basket by its code — no searching by name.

Millilitres, price and volume — how it works

You choose the shop type “Perfume” when you register (it can be changed later in Profile > Shop details). The unit list then matches that type: piece, millilitre and box.

The millilitre unit

You can keep an item by the piece or in millilitres — you pick the unit on each product card.

Price per 100 or 500 ml

Quote the price per 1 ml, 100 ml or 500 ml. The app works out the unit price itself, while still showing it the way you said it.

There is no separate volume field

To be straight with you: the product card has no separate “volume” field. You put the volume in the name — the 60 ml and the 100 ml of one fragrance become two separate items, so you see how many of each size are left.

Markup is visible at intake

You enter the cost and sale price of what arrived. You can also enter “I paid this much in total” — the app derives the price per bottle and shows your markup.

Shelf label

Each fragrance gets a label with its name and a linear EAN-13 code — 1, 4, 8, 12 or 24 copies per tap. Printing the price is optional and off by default: prices change, but the label stays on the bottle.

Fill in from a photo of the label

At intake, the camera button next to the name photographs the label: the name is filled in, along with the barcode, sale price and expiry date if they are visible. Only empty fields are filled. It needs internet and AI enabled for your shop, so check the fields before saving.

Expiry dates, stock and items running out

Perfume is one of the shop types where an expiry date is asked for, so the intake form shows an expiry field and you can sort your stock by it.

The credit ledger and your customers

Perfume often goes to people you know, sometimes paid in parts. So credit is recorded at the till itself, not in a separate notebook, and lands in the credit book.

Selling on credit at the till

Choose “On credit” as the payment type and the sale lands in the credit ledger at once. It is a separate permission: withhold it and the seller can only take cash and card.

Half now, half later

If the customer pays part of it, you enter what you actually received and the rest is calculated into the debt. Only the unpaid part goes into the ledger. One condition: if a discounted item is in the basket, a split payment is not saved yet — finish that sale with a single payment type.

Recognised by phone number

A credit sale asks for the phone number first: an existing customer’s name and open balance appear straight away, and a new one gets a name field.

Limit and a trust marker

You can cap a customer with a “no more credit than this” limit or block them entirely. The coloured dot beside each customer is computed from their real payment history.

Daily sales and net profit in front of you

A perfume shop has a healthy markup but expensive stock. So the question that matters is not “how much did we sell today” but “how much profit is left today”.

A cosmetics shop runs on the same type

A cosmetics shop runs on this same type: units are pieces, ml and boxes, and there is an expiry field. There is no separate colour or shade field — each shade goes in as its own product card (for example “Lipstick, shade 12”).

What it costs for a perfume or cosmetics shop

The shop type sets the price, and it is the same for every shop of that type. In this type AI assistant requests are charged separately (also during the trial): a question — 100 UZS, label reading — 10 UZS. Prices for every type and what they include are on the pricing page; what other programs charge is in our shop software price research.

BuySaleUs
Price
6 666 UZS/day — 199 980 UZS per 30 days
What the price includes

Billed daily with no monthly contract; nothing added for staff, tills or product counts; setup costs nothing; 7 days free. Not a fiscal cash register.

The figure above is the current price for this shop type. Published prices of other programs are collected on the “Shop software prices” page, with source links and the date each was checked.

What perfume shop owners ask most

Where do I record the volume (50 ml, 100 ml)?

There is no separate “volume” field on the product card — we will not pretend otherwise. You put the volume in the name: the 60 ml and the 100 ml of one fragrance become two separate items, and the stock list shows how many of each remain. Millilitre is available as a unit, and the price can be quoted per 100 or 500 ml.

Will it read the tiny barcode on a bottle or box?

The scanner has zoom (1×, 1.5×, 2×, 3×), a torch and a camera switch — exactly what small glossy boxes need. A wrong number from a blurry frame will not reach the basket: the check digit is verified and the same code must be read several times in a row. If it still will not read, type it by hand — at least 6 digits. On a computer you can also attach a USB scanner that types the code and finishes with Enter or Tab.

What about a fragrance with no factory code?

The app generates an EAN-13 code in one tap. It starts with “20”, so it can never clash with a real factory code. You print a label for it immediately and the item scans at the till like any other. The bars are drawn only for a 13-digit code; for any other length the number itself is printed.

How do I write off a tester or a broken bottle?

Straight answer: there is no separate “write-off” button yet. You remove such a bottle by correcting the stock on the product card or through a stocktake, which compares the shelf with the records, shows the differences and fixes the stock. An item that has been sold cannot be deleted, as that would break past sales and reports, but you can set its stock to zero.

How do I set a due date when I sell on credit?

A credit sale made at the till carries no due date — a dated debt is entered on the “Add debt” screen or from the customer’s card, where you set the name, amount, due date and a note. Overdue debts are flagged automatically and listed on the home screen. Reminder texts are prepared and logged, but no SMS service is connected yet: nothing reaches the customer’s phone, so the reminding is still done by you.

Do I need a computer, and does it work without internet?

No computer is required: BuySale runs in your phone browser, the Android app downloads from a link on the site, and on iPhone you add it to the home screen from the browser. The Android and Windows apps work offline for up to 7 days; the browser version needs internet. You sign in with your phone number and the one-time code arrives through the Telegram bot.

Related pages

BuySale

Try it today and see the difference tomorrow.

7 days free, no payment card needed. Then from 6 630 UZS a day, depending on the shop type.

Start for free