راهنمای HorecaPOS
این راهنما سه بخش دارد: اول برای کارکنان (سالن)، بعد برای مدیر و در آخر برای مدیر سیستم. هر بخش بر پایهٔ بخش قبلی است: مدیر هر کاری که سالن میتواند انجام میدهد، و مدیر سیستم همهکار میتواند بکند.
اینکه نقش شما دقیقاً چه کارهایی مجاز است را مدیر سیستم در تنظیمات ← دسترسیها تعیین میکند. اگر دکمهای را نمیبینید، نقش شما (هنوز) اجازهٔ آن را ندارد.
این راهنما داخل صندوق هم هست: روی دکمهٔ © پایین سمت راست هر صفحه بزنید و راهنما را انتخاب کنید، یا http://<kassa-pc>:3000/handleiding را باز کنید. همچنین معرفی و مستندات API را ببینید.
بخش 1 · کارکنان
شروع کار
ورود. صندوق را روی صندوق، تبلت یا گوشی باز کنید و پینکد خود را وارد کنید (4 تا 8 رقم). بعد نقشهٔ میزها را میبینید.
باز کردن میز. روی یک میز بزنید. میز خالی یک سفارش جدید میگیرد؛ در میز پر، سفارش موجود را ادامه میدهید. در بالای صفحه بین سالنها جابهجا میشوید (مثلاً سالن و تراس). برای پیشخوان از فروش سریع و برای سفارش بیرونبر از بیرونبر استفاده کنید.
ثبت سفارش. یک گروه محصول انتخاب کنید و روی محصولات بزنید. محصولات در رسید سمت چپ میآیند. در صورت نیاز ابتدا مرحلهی سرو را انتخاب کنید (1 = فوراً، 2 و 3 منتظر میمانند تا آنها را فراخوانی کنید). روی ثبت سفارش بزنید: فیشهای سفارش به آشپزخانه و بار فرستاده میشوند. تا وقتی روی ثبت سفارش نزدهاید، میتوانید ردیفها را بهراحتی حذف کنید.
تسویه حساب. روی تسویه حساب بزنید، کارت / Bancontact، نقدی یا کارت هدیه را انتخاب کنید، در صورت تمایل انعام وارد کنید و تأیید کنید. در پرداخت با کارت، پرداخت خودکار روی دستگاه کارتخوان شروع میشود. رسید چاپ میشود؛ میتوانید آن را ایمیل هم کنید.
خروج از حساب. وقتی کارتان تمام شد از حساب خارج شوید تا کس دیگری با نام شما کار نکند. پس از 8 ساعت بهطور خودکار از حساب خارج میشوید.
اینترنت ندارید؟ صندوق بدون مشکل به کار ادامه میدهد. اگر بالای صفحه بدون اینترنت · پرداخت کارتی دستی نوشته شده، مبلغ را مستقیم روی دستگاه کارتخوان وارد کنید و در صفحهی تسویه حساب قبلاً روی کارتخوان پرداخت شده را انتخاب کنید.
چند گروه سر یک میز
سر یک میز میتوانند چند گروه بنشینند که هر کدام صورتحساب و رسید جداگانه دارند.
- روی یک میز بزنید: خالی = سفارش جدید؛ یک گروه = مستقیم همان گروه؛ چند گروه = اول انتخاب کنید، یا + گروه جدید (نام میتواند خالی بماند).
- در صفحهی سفارش، بالای صفحه نوار گروهها قرار دارد: جابهجایی بین گروهها، + گروه، نام گروه (مثلاً "Jansen") و تقسیم / جابهجایی.
- تقسیم / جابهجایی: برای هر ردیف انتخاب کنید چند عدد منتقل شود (مثلاً از 3× Pils، 1 عدد) و به کدام گروه، یا یک گروه جدید بسازید. به این ترتیب چیزی را که روی صورتحساب اشتباه ثبت شده جابهجا میکنید، یا بعداً صورتحساب را "هر کس سهم خودش را میپردازد" تقسیم میکنید. اگر گروهی خالی شود، حذف میشود.
- چند بخش با هم: با + یک بخش دیگر یک بخش را آماده میکنید و بخش بعدی را انتخاب میکنید (مثلاً ماهی و یک Dry Martini به میز 2، بقیه به میز 35). یک بخش میتواند به + میز دیگر هم برود (آنجا یک دستهٔ جدید). با جابهجایی همهچیز یکجا منتقل میشود. ½ یک ردیف را نصف میکند، حتی نصف بطری (0,667 میشود 2 × 0,3335).
- ادغام: همهٔ اقلام یک یا چند میز دیگر (یا دستههای دیگر همین میز) یکجا روی این حساب.
- بلژیک: تقسیم یا ادغام یکجا در جعبهٔ سیاه یک تعویض میز است، همانطور که FOD میخواهد (UC242، UC251، UC252، UC4119bis). اگر بعد از سفارش چیزی حذف شود یا روی ردیفی که قبلاً سفارش داده شده تخفیف بیاید، این با پیام بعدی آن میز میرود (سفارش، حساب موقت، تعویض میز) و در غیر این صورت در فروش: ردیف قدیمی منفی و ردیف جدید مثبت (UC226، UC4102، UC4104، UC4107، UC4110).
- در صفحهی میزها یک دایرهی نارنجی تعداد گروهها را نشان میدهد؛ مبلغ، جمع کل همهی گروههاست.
- رسید صندوق و فیش آشپزخانه "میز 5 - گروه 2" یا "میز 5 - Jansen" را نشان میدهند.
تقسیم صورتحساب هنگام پرداخت
تسویه حساب مثل همیشه کار میکند: همه با هم. حالا در صفحهی تسویه حساب میتوان صورتحساب را تقسیم هم کرد، با دکمههای زیر بازگشت و تسویه حساب (تا اینها همیشه در دید بمانند، بدون کشیدن صفحه):
- تقسیم مساوی: با − و + انتخاب کنید بین چند نفر (پیشفرض تعداد مهمانان، یا 2 اگر صندوق تعداد نفرات را ثبت نکند). صفحه مبلغ هر نفر را نشان میدهد؛ هر کس سهم خود را با کارت، نقد یا کارت هدیه میپردازد (در صورت تمایل با انعام). بعد از هر سهم شمارش معکوس میشود ("3 نفر دیگر")؛ نفر آخر دقیقاً باقیمانده را میپردازد.
- مبلغ دلخواه: یک نفر مبلغ مشخصی میپردازد (مثلاً € 20)؛ باقیمانده باز میماند.
- بر اساس محصول…: تقسیم / جابهجایی را باز میکند تا محصولات را به یک صورتحساب جداگانه ببرید و جدا تسویه کنید (مانند بالا).
پرداخت بخشی فقط پرداخت را ثبت میکند؛ صورتحساب باز میماند و در صفحهی سفارش "پرداختشده … · باقیمانده …" نمایش داده میشود. رسید (با همهی پرداختها) با آخرین پرداخت صادر میشود، مثل تسویه حساب معمولی. پرداخت کارتی از طریق اتصال دقیقاً برای همان مبلغ بخشی انجام میشود. اگر بخشی از صورتحساب پرداخت شده باشد، دیگر نمیتوان ردیفی را به گروه دیگری برد یا تخفیفی اضافه کرد؛ حذف فقط وقتی ممکن است که مبلغ باز کافی باشد. هر پرداخت بخشی در گزارش رویدادها ثبت میشود.
فروش سریع و بیرونبر (بدون میز)
بالا سمت راست صفحهی میزها فروش سریع و بیرونبر قرار دارند. هر دو فوراً یک سفارش بدون میز باز میکنند. فروش سریع، فروش پشت پیشخوان است (مالیات ارزش افزودهی مصرف در محل)؛ بیرونبر برای هر محصول نرخ مالیات بیرونبر را به کار میبرد. با "نام مشتری" یک نام اضافه میکنید؛ این نام روی رسید ("بیرونبر – Jansen") و بالای فیش سفارش میآید. سفارشهای باز بدون میز زیر دکمههای سالنها نمایش داده میشوند ("بدون میز: بیرونبر #12 – Jansen") تا دوباره پیدایشان کنید. اگر بدون فروش برگردید، سفارش خالی خودبهخود حذف میشود.
هر دو دکمه را میتوان برای هر کسبوکار در تنظیمات ← کسبوکار، درست زیر پوستهی روشن/تیره (پیشفرض روشن)، روشن یا خاموش کرد. خاموش = دکمه پنهان است؛ سفارشهای بدون میزی که از قبل باز هستند همچنان دیده میشوند.
ارسال و بازههای زمانی
سفارشهایی که خودتان در صندوق ثبت میکنید، مثلاً تلفنی یا پشت پیشخوان، با همان قواعد فروشگاه اینترنتی: مناطق ارسال و حداکثر تعداد سفارش در هر بازهٔ زمانی. روشن کردن در تنظیمات ← کسبوکار ← ارسال و بازههای زمانی، درست زیر دکمههای فروش سریع و بیرونبر (پیشفرض خاموش).
- دکمهٔ ارسال در صفحهٔ میزها (کنار بیرونبر): نام، تلفن و آدرس را وارد کنید (با روشن بودن ورود سریع آدرس: جستوجو با کد پستی و پلاک). صندوق منطقهٔ ارسال را پیدا میکند و هزینهٔ ارسال، حداقل و "رایگان از" را نشان میدهد. اگر آدرس خارج از مناطق باشد، امکانپذیر نیست.
- مناطق ارسال: بر اساس کد پستی (بازهها و کدهای تکی، مثلاً
5000-5049, 5051, 5052 AB)، درون یک شعاع به کیلومتر از کسبوکار (خط مستقیم) یا یک منطقه روی نقشه که خودتان ترسیم میکنید. شعاع و منطقه فقط با آدرسهای هلند کار میکنند (موقعیت از طریق PDOK). برای هر منطقه: هزینهٔ ارسال، حداقل، رایگان از و دقیقههای اضافه؛ اولین منطقهٔ مناسب از بالا اعمال میشود، پس میتوان انواع را با هم ترکیب کرد (مثلاً اول چند کد پستی، بعد یک منطقه، بعد یک شعاع برای بقیه). هیچ منطقهای تنظیم نشده = ارسال به همهجا، بدون هزینه یا حداقل. مناطق فروشگاه اینترنتی را جداگانه تنظیم میکنید (مدیریت فروشگاه اینترنتی). - منطقه روی نقشه: در یک منطقهٔ ارسال، نوع منطقه روی نقشه و سپس ترسیم روی نقشه را انتخاب کنید. برای گذاشتن نقطهها روی نقشه کلیک کنید (دستکم 3)؛ برای جابهجا کردن یک نقطه آن را بکشید، برای حذف آن رویش کلیک کنید و برای افزودن نقطهای در میان، دایرهٔ کوچک وسط یک ضلع را بکشید. نقشه مناطق شعاعی و کسبوکار را هم نشان میدهد. کاشیهای نقشه از OpenStreetMap میآیند، پس نقشه به اینترنت نیاز دارد؛ خودِ ارسال نه (به جز جستوجوی آدرس). اگر آدرس پیدا نشود، صندوق همین را اعلام میکند به جای "خارج از مناطق ارسال".
- هزینهٔ ارسال بهصورت ردیف "هزینهٔ ارسال" روی سفارش میآید و پس از هر تغییر دوباره محاسبه میشود (رایگان از، بدون محصول = بدون هزینه)، تا وقتی هنوز چیزی پرداخت نشده است. زیر حداقل تسویه حساب ممکن نیست؛ صفحهٔ سفارش نشان میدهد چقدر دیگر لازم است، همراه با دکمهٔ بیرونبر بهجای آن (هزینهٔ ارسال و حداقل حذف میشوند).
- زمان: در سریعترین زمان (اکنون + زمان ارسال، بهعلاوهٔ دقیقههای اضافهٔ منطقه) یا یک بازهٔ زمانی از امروز. اگر ساعات کاری در Thuisbezorgd تنظیم شده باشد، اینجا هم اعمال میشود.
- حداکثر برای هر بازهٔ زمانی (0 = بدون حداکثر؛ بازهٔ زمانی 5 تا 60 دقیقه): برای بیرونبر و ارسال روی هم؛ سفارشهای فروشگاه اینترنتی در صندوق هم شمرده میشوند. اگر حداکثری تعیین شده باشد، بیرونبر هم زمان میخواهد و بازههای پر قابل انتخاب نیستند. دو صندوق همزمان برای آخرین جای خالی: فقط یکی آن را میگیرد.
- روی فیش آشپزخانه آدرس، نام، تلفن و زمان میآید؛ در "بدون میز" و بالای فیش آشپزخانه مثلاً "ارسال – 18:30 Jansen".
افزودهها (همه پیشفرض خاموشاند؛ بدون این تنظیمات همه چیز دقیقاً مانند بالا کار میکند):
- ساعات کاری جداگانه برای بیرونبر و ارسال (برای هر روز هفته، مثلاً
16:00-21:00یا11:30-14:00, 17:00-22:00؛ بعد از نیمهشب هم مجاز است:17:00-01:00؛ خالی = آن روز تعطیل). خاموش = مثل قبل (زمانهای Thuisbezorgd، اگر وجود دارند، وگرنه تمام روز). - روزهای تعطیل (مثلاً
25-12-2026, 26-12-2026): در این روزها بیرونبر یا ارسال انجام نمیشود. - سفارش از قبل: 0 (فقط امروز، مثل قبل) تا 14 روز. در پنجرهٔ ارسال/بیرونبر ابتدا روز را انتخاب میکنید؛ روز دیرتر روی فیش آشپزخانه پیش از زمان نوشته میشود.
- شلوغ: این تعداد دقیقهٔ اضافه برای "هرچه زودتر" (صندوق و فروشگاه اینترنتی). با دکمهٔ فروشگاه اینترنتی در نوار بالا هم سریع تنظیم میشود.
- آدرسهای بلژیکی (کد پستی 4 رقمی): برای شعاع یا منطقه روی نقشه، صندوق موقعیت را از طریق OpenStreetMap پیدا میکند (Nominatim؛ خیابان و شهر لازم است).
- فروشگاه اینترنتی از صندوق پیروی میکند: صندوق ملاک است. در این حالت فروشگاه اینترنتی از مناطق ارسال، زمان ارسال و بیرونبر، بازهٔ زمانی، حداکثر برای هر بازهٔ زمانی، ساعات کاری (اگر اینجا تنظیم شده باشند)، روزهای تعطیل و روزهای سفارش از قبلِ صندوق استفاده میکند و سفارشهایی را که در صندوق پذیرفته شدهاند در بازهٔ زمانی حساب میکند. خاموش = فروشگاه اینترنتی تنظیمات خودش را دارد (مدیریت فروشگاه)، مثل قبل. روشن یا خاموش بودن بیرونبر/ارسال در اختیار فروشگاه اینترنتی میماند.
کد: lib/bezorgen.ts، routes/bezorgen.ts، BezorgDialoog.tsx، BezorgInstellingen.tsx، BezorgKaart.tsx و lib/kaart.ts (نقشه، بدون بستهٔ اضافی؛ همین کد بهصورت public/kaart.js در فروشگاه اینترنتی قرار دارد).
تلفن: شناسایی مشتری در سفارش تلفنی
تنظیمات → تلفن (پیشفرض خاموش؛ خاموش کردن همه چیز را حفظ میکند). دو کلید جداگانه:
- جستجوی مشتری با شماره تلفن در ارسال و بیرونبر: شماره را در صفحه ارسال وارد کنید تا صندوق مشتری را با آدرس و سفارشهای قبلی نشان دهد؛ برداشتن اطلاعات نام، ایمیل و آدرس را پر میکند. بدون سانترال تلفن هم کار میکند.
- شناسایی تماسگیرنده: وقتی مشتری تماس میگیرد، سانترال (یا گوشی رومیزی، FRITZ!Box، مودم یا گوشی Android) شماره را اعلام میکند. روی صفحهها اعلانی با مشخصات تماسگیرنده ظاهر میشود: نام، آدرس، آخرین سفارشها (با غذاها و مبلغ، از فروشگاه اینترنتی، Thuisbezorgd و پلتفرمهای ارسال هم)، جمع کل و یک رزرو. با گرفتن سفارش ارسال یا گرفتن سفارش بیرونبر صفحه ارسال با همه چیز پرشده باز میشود (با ارسال و بازههای زمانی روشن)؛ سفارش به تماس وصل میشود و اعلان از همه صفحهها حذف میشود. دکمه 📞 در نوار بالا: تماسهای 24 ساعت گذشته. برای هر صفحه قابل خاموش کردن است (نمایش اعلانها روی این صفحه).
جستجو در کارت مشتری، سفارشهای ارسال و بیرونبر صندوق، فروشگاه اینترنتی، Thuisbezorgd، پلتفرمهای ارسال و رزروها انجام میشود. شمارهها یکسانسازی میشوند (+31 6 1234 5678، 0031612345678 و 06-12345678 یکی هستند؛ شمارههای بلژیکی هم).
شماره چطور میرسد (چند منبع همزمان ممکن است؛ یک تماس یک بار شمرده میشود):
| منبع | برای | تنظیم |
|---|---|---|
| Webhook / action URL | 3CX (یکپارچهسازی CRM)، Aircall، Voys / VoIPGRID، Yeastar سری P، گوشیهایی با action URL برای تماس ورودی (Fanvil، Grandstream، Mitel 6800/6900، Snom، Yealink: با هر سانترال و اپراتوری کار میکند)، سرویسهای اتصال (Zapier، Make، n8n، Power Automate) | آدرس از تنظیمات → تلفن (/api/telefonie/oproep?sleutel=...&nummer=...)، GET یا POST، JSON، فرم یا query؛ همچنین از طریق پورتال: https://<portaal>/telefonie/<kassa-id>/oproep?sleutel=... |
| Asterisk (AMI) | Asterisk, FreePBX, Issabel, VitalPBX, Grandstream UCM | آدرس، پورت (5038؛ Grandstream UCM 7777)، کاربر AMI و رمز عبور (دسترسی call) |
| FRITZ!Box | FRITZ!Box با تلفن | آدرس (fritz.box) و پورت 1012؛ یک بار callmonitor را با #96*5* روشن کنید |
| مودم USB شناسایی تماسگیرنده | خط ثابت آنالوگ با نمایش شماره | پورت سریال (COM3، /dev/ttyACM0)، baud و دستور راهاندازی (پیشفرض AT+VCID=1) |
| گوشی Android | تلفن داخلی یک گوشی Android کسبوکار | اپ HorecaPOS روی آن گوشی، تنظیمات → تلفن → اتصال این تلفن (Android 10+: اپ را بهعنوان اپ نمایش شماره انتخاب کنید) |
پاسخ شامل تماسگیرنده است، به صورت contact هم (firstname، lastname، phone، email، address) برای قالب CRM در 3CX. تماسهای خروجی و داخلی نمایش داده نمیشوند؛ فقط این خطها به خطها یا گوشیهای مشخص محدود میکند. تماسها پس از مدت نگهداری پاک میشوند (پیشفرض 30 روز، GDPR). تماس آزمایشی تماس یک شماره را شبیهسازی میکند.
کد: apps/pos-server/src/lib/telefonie.ts، routes/telefonie.ts، packages/shared/src/telefonie.ts؛ صفحهها Telefonie.tsx، BezorgDialoog.tsx؛ Android android-app/native/java/Beller*.java. گزارش رویدادها: تلفن.
پیکهای خودمان: سرویسها، تحویل وجه نقد و Track & trace
برای کسبوکارهایی که پیک خودشان را دارند. آن را در تنظیمات ← کسبوکار ← ارسال ← پیکهای خودمان روشن کنید (بهطور پیشفرض خاموش). پیک به اپ نیاز ندارد: پیک از یک صفحه در مرورگر گوشی خودش استفاده میکند (هر کس بخواهد، از اپ Optimum Bezorger استفاده میکند: اپ پیک را در پایین ببینید).
ساختن سرویس. در صندوق دکمهٔ سرویسها هست (با تعداد ارسالهایی که هنوز باید بروند بهعلاوهٔ سرویسهایی که در راهاند).
- در آمادهٔ ارسال سفارشهایی را که همراه میروند تیک بزنید. اینها سفارشهای ارسالی از صندوق، فروشگاه اینترنتی و Thuisbezorgd هستند (فقط ارسال توسط خودمان؛ نه آنهایی که پیک Thuisbezorgd میبرد).
- پیک (یک کارمند) و پول خرد همراه را انتخاب کنید (بهطور پیشفرض مبلغ تنظیمات)، و ساختن سرویس را بزنید.
- یک کد QR نمایش داده میشود. پیک آن را با گوشی خودش اسکن میکند و برای هر آدرس نام، آدرس با دکمهٔ مسیر (مسیریابی)، تماس، توضیح، زمان دلخواه و مبلغ قابل دریافت را میبیند. یک ماشینحساب پول خرد هست (مشتری میدهد € 50 ← باقی € 31,50). ورود لازم نیست. لینک را فقط با پیک به اشتراک بگذارید: هر کس آن را داشته باشد آدرسهای این سرویس را میبیند. با کد QR برای پیک لینک جدیدی میسازید؛ لینک قبلی دیگر کار نمیکند.
- وقتی پیک میرود حرکت را بزنید. پول خرد از کشوی پول خارج میشود (برداشت پول، با دلیل). به مشتری اطلاع داده میشود که سفارش در راه است:
- برای سفارش از صندوق با پیامک و/یا ایمیل، اگر پیام به مشتری روشن باشد (ببینید ارسال و بازههای زمانی)؛
- برای فروشگاه اینترنتی طبق تنظیمات فروشگاه اینترنتی (ایمیل، پیامک یا اعلان)؛
- برای Thuisbezorgd از طریق Thuisbezorgd.
اگر سرویس هنوز حرکت نکرده باشد، هنوز میتوان آن را لغو کرد.
- در راه، پیک برای هر آدرس تحویل داده شد، نقدی، تحویل داده شد، کارت (دستگاه کارتخوان خودش) یا تحویل داده شد (قبلاً پرداخت شده) را میزند. صندوق آن را فوراً میبیند. اگر پیک نتواند گزارش دهد، در صندوق هم میشود. پیک پس از بازگشت به کسبوکار به کسبوکار برگشتم را میزند.
تحویل وجه نقد. پس از سرویس تسویه حساب را میزنید (مجوز مدیریت کشوی پول):
- برای هر سفارش نقدی، کارت دم در، قبلاً پرداخت شده یا تحویل نشد (برگشت) را انتخاب میکنید. آنچه پیک گزارش داده از قبل پر شده است.
- صندوق هر سفارشی را که مبلغ باز دارد، بدون رسید جدید تسویه میکند (مشتری رسید را دارد؛ چاپ دوباره از رسیدها ممکن است). سفارشی که تحویل نشده از سرویس خارج میشود و باز میماند تا در سرویس بعدی برود.
- آنچه انتظار میرود را میبینید: پول خرد بهعلاوهٔ آنچه نقدی دریافت شده. آنچه پیک تحویل میدهد را وارد کنید، یا آن را بر اساس اسکناس و سکه بشمارید (شمارش بر اساس اسکناس و سکه). صندوق نشان میدهد که درست است یا چقدر اضافه یا کسری دارد.
- پول خرد به کشوی پول برمیگردد (واریز پول). اختلاف در سرویس و در گزارش رویدادها ثبت میشود و بهعنوان اختلاف صندوق در گزارش Z هم میآید.
Track & trace (جداگانه در تنظیمات روشن میشود). مشتری هنگام در راه لینکی به یک صفحهٔ پیگیری روی پورتال دریافت میکند. این لینک در پیامک یا ایمیل، و در فروشگاه اینترنتی در صفحهٔ وضعیت (پیک خود را دنبال کن) است. در صفحهٔ پیگیری اینها هست:
- اینکه سفارش در حال آمادهسازی، در راه یا تحویلشده است؛
- زمان تخمینی: از موقعیت پیک از طریق آدرسهایی که زودتر هستند، وگرنه زمان دلخواه؛
- چند آدرس هنوز جلوتر هستند (بدون نشان دادن آدرسهای دیگر)؛
- با پیک بهصورت زنده روی نقشه همچنین پیک، کسبوکار و آدرس مشتری روی نقشه (OpenStreetMap). پیک خودش اشتراک موقعیت را در گوشی روشن میکند (اشتراک موقعیت من). موقعیت فقط تا وقتی صفحه باز است ارسال میشود؛ صفحه صفحهنمایش را روشن نگه میدارد.
صفحهها به زبان گوشی هستند (همهٔ زبانهای پورتال). در صندوق کنار سرویس میبینید آخرین بار موقعیت کی ارسال شده است (با لینک به نقشه).
حریم خصوصی. پورتال دادههای یک سرویس (نامها، آدرسها، شمارهتلفنها، موقعیت) را فقط تا وقتی سرویس جریان دارد نگه میدارد. هنگام تسویه همهچیز پاک میشود، وگرنه پس از 24 ساعت. مشتری فقط سفارش خودش را میبیند. موقعیت پیک فقط در طول سرویس دیده میشود و پس از بازگشت پیک دیگر نه.
برنامهریزی سرویسها (اختیاری)
آن را در تنظیمات ← کسبوکار ← ارسال ← برنامهریزی سرویسها روشن کنید (پیشفرض خاموش؛ با پیکهای خود کسبوکار کار میکند). آنگاه در پنجرهٔ سرویسها دکمهٔ پیشنهاد سرویسها هست. صندوق سفارشهایی را که هنوز باید بروند در سرویسها ترکیب میکند:
- سفارشهایی که نزدیک هم هستند و زمانهای خواستهشدهشان در بازهٔ زمانی (پیشفرض 30 دقیقه) میافتد، با هم میروند؛
- تا حداکثر تعداد آدرس در هر سرویس (پیشفرض 4)، به شرطی که سرویس (رفت، همهٔ آدرسها و برگشت به کسبوکار) از حداکثر (پیشفرض 45 دقیقه) بیشتر طول نکشد؛
- برای هر سرویس بهترین ترتیب، مسافت (کیلومتر)، زمان سفر رفت و برگشت و برای هر آدرس زمان رسیدن پیشبینیشده اگر همین حالا حرکت کند. اگر دیرتر از زمان خواستهشده باشد، کنارش دیرتر از زمان خواستهشده میآید.
با استفاده از این سرویس آن سفارشها به همان ترتیب علامت میخورند؛ پیک را انتخاب کنید و ساختن سرویس را بزنید. در سرویسی که هنوز حرکت نکرده، بهترین ترتیب آدرسها را به سریعترین ترتیب میچیند (روی گوشی پیک هم). کنار هر سرویس مسافت و زمان سفر نشان داده میشود.
تنظیمات: آدرس در هر سرویس، مدت مجاز یک سرویس، بازهٔ زمانی، سرعت پیک (دوچرخه ~15، موتور ~25، خودرو ~35 کیلومتر بر ساعت در شهر) و دقیقه برای هر آدرس (پارک کردن، زنگ زدن، تسویه؛ پیشفرض 2). این اعداد را مدیر هم میتواند تنظیم کند: در پنجرهٔ سرویسها با دکمهٔ تنظیم برنامهریزی سرویسها (دسترسی تنظیم برنامهریزی سرویسها، بهطور پیشفرض برای مدیر روشن؛ قابل تغییر در تنظیمات ← دسترسیها). روشن یا خاموش کردن برنامهریزی سرویسها و سرویس مسیریابی (آدرس، کلید API) نزد مدیر سیستم میماند.
مسافت و زمان سفر، به انتخاب مدیر:
- تخمین (پیشفرض): فاصلهٔ خط مستقیم ضربدر 1,35 (ضریب انحراف مسیر) با سرعت پیک. بدون اینترنت و بدون حساب کاربری کار میکند.
- OSRM: مسیرهای جادهای از طریق یک سرور OSRM. آدرس را وارد کنید (
https://، یاhttp://در شبکهٔ داخلی). سرور دموی عمومی (https://router.project-osrm.org) فقط برای استفادهٔ گاهبهگاه است؛ برای استفادهٔ روزانه سرور OSRM خودتان را راه بیندازید یا از یک ارائهدهنده استفاده کنید. - OpenRouteService: مسیرهای جادهای با کلید API خودتان (رایگان در openrouteservice.org، با سقف روزانه). آدرس بهطور پیشفرض
https://api.openrouteservice.orgاست و میتوان آن را به سرور خودتان تغییر داد. کلید روی صندوق میماند؛ صفحهها فقط نشان میدهند که وارد شده است.
با تست سرویس را امتحان میکنید. اگر سرویس کار نکند، برنامهریزی به تخمین برمیگردد و این را اعلام میکند. آدرسی که موقعیتش مشخص نیست (کد پستی و پلاک معتبر ندارد) در پیشنهاد زیر بدون موقعیت مشخص میآید و برنامهریزی نمیشود. خروجی پیکربندی تنظیمات را شامل میشود، اما کلید را نه.
کد: lib/ritplanning.ts.
اپ پیک (اختیاری)
آن را در تنظیمات ← کسبوکار ← ارسال ← اپ پیک روشن کنید (بهطور پیشفرض خاموش؛ با پیکهای خودمان و پورتال مدیریت کار میکند). آنوقت هر پیک گوشی خودش را یک بار متصل میکند، بهجای اینکه برای هر سرویس یک کد QR اسکن کند:
- در گوشیهای متصل پیک (یک کارمند) و در صورت تمایل نام گوشی را انتخاب کنید و روی اتصال گوشی بزنید.
- یک کد QR نمایش داده میشود. پیک آن را در اپ Optimum Bezorger (دکمهٔ اتصال) اسکن میکند، یا با دوربین گوشی: آنوقت صفحه در مرورگر باز میشود. این صفحه بدون اپ هم کار میکند و میتوان آن را به صفحهٔ اصلی افزود.
- اتصال تا وقتی آن را لغو کنید معتبر میماند؛ آنوقت گوشی بلافاصله دیگر چیزی نمیبیند. اتصال جدید برای همان کارمند جای قبلی را میگیرد (مثلاً با گوشی جدید).
در اپ یا روی صفحه همهٔ سرویسهای خود پیک هست (هر سرویسی که صندوق برای این پیک میسازد)، با همان دکمههای یک سرویس: مسیر، تماس، مبلغ قابل دریافت با ماشینحساب پول خرد، تحویل داده شد و به کسبوکار برگشتم. جداگانه قابل روشن کردن:
- برداشتن سفارش توسط خود پیک: پیک ارسالهایی را که هنوز باید در سرویسی قرار بگیرند میبیند، آنچه را با خود میبرد علامت میزند و روی بردن میزند. صندوق سرویس را میسازد (یا اگر آن پیک سرویسی دارد که هنوز حرکت نکرده، آنها را به آن اضافه میکند)؛ پول خرد پیشفرض همراه میرود. چیزی که دیگری قبلاً برداشته، دیگر ممکن نیست.
- حرکت توسط خود پیک: حرکت در اپ همان کار صندوق را میکند (پول خرد از کشو، مشتریان پیام میگیرند).
- نقشهٔ زنده: در سرویسها دکمهٔ نقشه هست با کسبوکار، همهٔ پیکهایی که سر کار هستند و آدرسهایی که هنوز باید تحویل شوند. پیک سر کار را خودش روشن و خاموش میکند. اپ موقعیت را حتی با صفحهٔ خاموش هم میفرستد (Android: یک اعلان در نوار تا وقتی اشتراکگذاری روشن است)؛ صفحهٔ وب فقط تا وقتی باز است. بدون این تنظیم، موقعیت فقط در طول سرویسی با track & trace به اشتراک گذاشته میشود.
اپ برای Android در Google Play و در صفحهٔ دانلود پورتال (/download/) هست. نسخهای برای iPhone آماده است، اما فقط وقتی منتشر میشود که حساب توسعهدهندهٔ Apple وجود داشته باشد؛ تا آن زمان iPhoneها از صفحهٔ وب استفاده میکنند. در سرویسی که پیک خودش برداشته، خودش در اپ برداشت نوشته میشود.
کد: lib/bezorgersapp.ts، در پورتال src/volgen.mjs و اپ در مخزن horecapos-bezorger.
در گزارش رویدادها ثبت میشود چه کسی سرویس را ساخت، راهی کرد، تحویل را گزارش داد و تسویه کرد، همراه با مبالغ. خاموش کردن: دکمهٔ سرویسها نیست؛ سرویسها و تنظیمات حفظ میشوند.
روی پورتال: /bezorger/<sleutel> و /volg/<code>. کد: lib/bezorgers.ts، routes/bezorgers.ts، Bezorgers.tsx و در پورتال src/volgen.mjs.
هشدار زمان آمادهسازی طولانی
سفارش بیرونبر یا ارسالی که دیرتر از وعده آماده شود: صندوق آن را میبیند و هشدار میدهد، و میتواند فوراً از مشتری عذرخواهی کند، در صورت نیاز با کارت اعتبار. آن را در تنظیمات → کسبوکار → ارسال → هشدار زمان آمادهسازی طولانی روشن کنید (پیشفرض خاموش).
- کدام سفارشها: بیرونبر و ارسال با زمان وعدهدادهشده، از صندوق (ارسال و بازههای زمانی)، فروشگاه اینترنتی و Thuisbezorgd.nl / Takeaway.com.
- دیر شده: این تعداد دقیقه (پیشفرض 10) بعد از زمان وعده هنوز آماده یا در راه نیست. آماده یا در راه یعنی: همه چیز در نمایشگر آشپزخانه آماده باشد، وضعیت آماده یا در راه در فروشگاه اینترنتی یا Thuisbezorgd، پیام ✉ آماده / ✉ در راه به مشتری، یا تسویه شده باشد. صندوق هر دقیقه بررسی میکند.
- هشدار: دکمهٔ دیر شده در نوار بالا با تعداد (با صدا برای مورد جدید)، و برای هر سفارش زمان وعده و چند دقیقه تأخیر. سفارش وقتی آماده یا در راه شود خودبهخود حذف میشود، یا با رسیدگی شد؛ زیر آن سفارشهای 24 ساعت گذشته با زمان آماده شدنشان. همه چیز در گزارش رویدادها ثبت میشود.
- فروشگاه اینترنتی: صفحهٔ وضعیت مهمان نشان میدهد که بیشتر طول میکشد، با زمان پیشبینیشدهٔ جدید.
- در Thuisbezorgd این ممکن نیست (مشتری متعلق به Thuisbezorgd است): آنجا فقط هشدار. متن دلخواه هم ممکن است؛
{naam}،{zaak}،{code}،{korting}و{geldig}پر میشوند. - کارت اعتبار (فقط وقتی کدهای تخفیف روشن است): همراه عذرخواهی یک کد تخفیف شخصی برای سفارش بعدی (مثلاً
SORRY-7K4Q2M)، مبلغ یا درصد، یکبارمصرف، چند روز معتبر، در صندوق و فروشگاه اینترنتی. این کدها در فهرست کدهای تخفیف نیستند. اگر ارسال ناموفق باشد، کد باطل میشود. با دکمهٔ صندوق فقط با مجوز دادن تخفیف. - خاموش: هشدارها و کدهای صادرشده حفظ میشوند (در پشتیبان هم)؛ این تنظیم در خروجی پیکربندی هم میآید.
کد: lib/telaat.ts، routes/telaat.ts، TeLaat.tsx و packages/shared/src/telaat.ts.
دکمه سفارش: چه کاری انجام میدهد و چه زمانی به آن نیاز دارید
لمس کردن یک محصول و لمس سفارش دو مرحله جداگانه هستند:
- لمس کردن محصول را فوراً بهعنوان جدید روی صورتحساب (در فهرست سمت چپ) قرار میدهد. فقط شما آن را میبینید: آشپزخانه و بار هنوز از آن خبر ندارند. یک ردیف جدید مثل پیشنویس است: حذف کردن یا تغییر تعداد یا گزینهها هنوز بهراحتی و بدون ابطال ممکن است.
- سفارش همه ردیفهای جدید را یکجا ارسال میکند: برگههای کار به چاپگرهای آشپزخانه و بار (و صفحهنمایش آشپزخانه) میروند و ردیفها پس از آن در وضعیت سفارش داده شده قرار میگیرند. از آن پس حذف فقط با ابطال ممکن است (نیاز به مجوز ابطال). روی دکمه نشان داده میشود چند ردیف جدید آماده است، مثلاً سفارش (3)؛ اگر ردیف جدیدی نباشد، دکمه خاکستری است.
چرا این دو مرحله؟ سر میز کل سفارش را میگیرید (نوشیدنی، پیشغذا، غذای اصلی)، اگر مهمان نظرش را عوض کرد کمی تغییر میدهید و بعد همه را یکجا به آشپزخانه میفرستید، با یک برگه برای هر ایستگاه بهجای یک برگه برای هر محصول. اینطور آشپزخانه میتواند خیلی پیش از پرداخت کار را شروع کند.
اتفاقات دیگری که با سفارش میافتد:
- مراحل سرو: مرحله 1 فوراً به آشپزخانه میرود؛ مراحل 2، 3 و 4 بهصورت انتظار همراه آن ارسال میشوند و آشپزخانه فقط وقتی شروع میکند که آن مرحله را فراخوانی کنید (به مراحل سرو مراجعه کنید).
- دورها: هر بار سفارش دادن یک دور است؛ ↻ یک دور دیگر بر همین اساس کار میکند.
- موجودی انبار کم میشود و یک شیر نوشیدنی با پیمانه مشخص آزاد میشود.
- All-you-can-eat: اگر برای بسته بیش از حد، خیلی زود یا خیلی دیر باشد، صندوق ابتدا میپرسد که آیا با این حال مجاز است.
- بلژیک (GKS 2.0): ردیفها ابتدا بهصورت پیشفاکتور (pro forma) به جعبه سیاه میروند؛ اگر این کار موفق نشود، چیزی به آشپزخانه نمیرود و ردیفها جدید باقی میمانند.
- بدون اتصال: سفارش ذخیره میشود و بهمحض برقراری دوباره اتصال به آشپزخانه میرود. چاپگر خاموش: سفارش با این حال انجام میشود و برگه کار در صف چاپ قرار میگیرد (به چاپگر آشپزخانه خاموش یا بدون صفحهنمایش آشپزخانه مراجعه کنید).
تسویه مستقیم هم ممکن است. اگر تسویه حساب را لمس کنید در حالی که هنوز ردیفهای جدید روی صورتحساب هست، صندوق ابتدا آنها را خودکار سفارش میدهد تا آشپزخانه و بار همیشه برگه خود را دریافت کنند. پس پشت بار یا برای بیرونبر لازم نیست اول «سفارش» را لمس کنید: محصول را لمس کنید و فوراً «تسویه حساب». اگر این سفارش خودکار موفق نشود (بدون اتصال، ردیف all-you-can-eat، جعبه سیاه)، صفحه پرداخت بسته میماند و دلیلش را میبینید.
ترجیح میدهید وقتی مستقیماً تسویه میکنید برای بار رسیدی چاپ نشود؟ در تنظیمات → کسبوکار → سفارش و تسویه حساب گزینه تسویه حساب مستقیم بدون برگه کار را روشن کنید. در این صورت فقط آنچه با سفارش میفرستید به آشپزخانه و بار میرود؛ آنچه مستقیماً تسویه میکنید برگه کار نمیگیرد.
دکمهٔ تسویه حساب بزرگ یا کوچک
با تیک دکمهٔ بزرگ "تسویه حساب"، صفحهٔ سفارش درست زیر محصولات سفارشدادهشده یک دکمهٔ بزرگ تسویه حساب دارد: پهن، بلند و با مبلغ روی آن، تا سریع زده شود. اگر بخشی از صورتحساب پرداخت شده باشد، دکمه مبلغ باقیمانده را نشان میدهد. دکمهٔ کوچک پایین کنار سفارش در این حالت پنهان میشود.
با دکمهٔ بزرگ، دکمههای صفحهٔ تسویه هم بزرگ میشوند: تسویه حساب (در کارت، کارت هدیه و روشهای پرداخت دیگر) و در نقدی، پرداخت نقدی دقیق و تسویه حساب پهن و بلندند و بهراحتی زده میشوند، حتی با انگشتان کثیف (مثلاً در قصابی). روشهای پرداخت کمی بزرگتر و دکمههای انعام کمی کوچکترند تا همهچیز روی صفحه بماند.
در نصب جدید تیک خاموش است: آنوقت دکمهٔ کوچک پایین کنار سفارش و صفحهٔ تسویه با دکمههای معمولی. بزرگ را ترجیح میدهید؟ در تنظیمات ← مجموعه، درست زیر پوستهٔ روشن/تیره، تیک دکمهٔ بزرگ "تسویه حساب" را روشن کنید. صندوقی که از قبل در حال استفاده بود، همان تنظیم قبلی را نگه میدارد. این انتخاب برای همهٔ صندوقها و تبلتهای مجموعه اعمال میشود.
علامتزدن محصول بهعنوان "تمام" (ناموجود)
همه میتوانند در صفحهی سفارش یک محصول را نگه دارند (یا با دکمهی راست ماوس روی آن کلیک کنند) و تمام شد (ناموجود) را انتخاب کنند. محصول خاکستری میشود و در هیچ صندوقی دیگر قابل سفارش نیست. به همین روش با دوباره موجود آن را برمیگردانید. هر تغییر در گزارش رویدادها ثبت میشود. مدیر سیستم همچنان میتواند این کار را در تنظیمات ← محصولات انجام دهد. سرور صندوق هم محصولی را که "تمام شده" است رد میکند ("Cola" تمام شده است)، حتی از تبلتی که هنوز تغییر را دریافت نکرده یا سفارشهای آفلاین ذخیره کرده؛ آن تبلت سپس "ارسال نشد" را نشان میدهد.
نمایشگر آشپزخانه (KDS)
آشپزخانه یا بار میتواند در کنار چاپگرهای فیش سفارش (نه بهجای آنها) از یک نمایشگر استفاده کند. روی یک تبلت/رایانه در آشپزخانه http://<kassaserver>:3000/keuken را باز کنید، با کد پین وارد شوید و ایستگاه را انتخاب کنید: اینها همان نامهای چاپگرها هستند (آشپزخانه، بار، ...)، پس روی صفحه دقیقاً همان چیزی است که روی آن فیش چاپ میشد. "همه" همهی ایستگاهها را نشان میدهد.
- برای هر سفارش یک فیش، قدیمیترین اول، با میز/بیرونبر، شماره و مدت انتظار (نارنجی پس از 10 و قرمز پس از 20 دقیقه).
- مراحل سرو جدا نمایش داده میشوند؛ مرحلهای که هنوز فراخوانی نشده خاکستری و با "منتظر فراخوانی" نشان داده میشود. ردیفهای لغوشده خطخورده هستند.
- روی یک ردیف بزنید تا آماده علامت بخورد، یا برای کل فیش روی آماده بزنید. آنوقت کارکنان سالن در نوار بالا "آشپزخانه: میز 5 آماده است" را میبینند. با تنظیمات ← کسبوکار ← نمایشگر آشپزخانه ← صدا برای کارکنان سالن (پیشفرض خاموش) صندوق یک بوق هم میزند ("دینگدانگ"، بدون فایل صوتی). مرورگر فقط پس از اولین لمس صفحه اجازهی پخش صدا میدهد؛ صدای تبلت را روشن کنید.
- بازگرداندن آنچه را در یک ساعت گذشته آماده اعلام شده نشان میدهد؛ چیزی که اشتباهی زده شده را میتوان اینطور برگرداند.
صفحه خودش فوراً بهروز میشود. فیشهای سفارش مثل قبل چاپ میشوند؛ کسی که از نمایشگر استفاده نمیکند متوجه هیچ تغییری نمیشود.
نمایشگر آشپزخانه: ارسال، ترتیب و مرحلهی سرو
تنظیمات → چاپگرها → نمایشگر آشپزخانه. هر بخش جداگانه روشن میشود و بهطور پیشفرض خاموش است؛ خاموش کردن همهچیز را نگه میدارد.
- ارسال بین ایستگاهها، مثلاً سرد → گرم → تحویل. برای هر ایستگاه یک ایستگاه بعدی ثابت تعیین میکنید؛ روی فیش دکمهی → گرم نمایش داده میشود (و همیشه ارسال به… برای انتخاب ایستگاه دیگر). فقط ردیفهای باز آن ایستگاه منتقل میشوند. ایستگاه نیازی به چاپگر ندارد: ایستگاههایی مثل تحویل را در ایستگاههای بدون چاپگر وارد کنید. آماده (و اعلان به گارسون) فقط در آخرین ایستگاه میآید. در "همه" کنار ردیف ارسالشده نشان داده میشود که الان کجاست. هر مرحله کنار ردیف و در گزارش ثبت میشود.
- تغییر ترتیب: فیشها را بکشید (ماوس) یا با ◀ ▶ جابهجا کنید (صفحهی لمسی). ترتیب برای هر ایستگاه و برای همهی نمایشگرهای آن ایستگاه اعمال میشود؛ فیشهای جدید در انتها قرار میگیرند.
- مرحلهی بعدی از نمایشگر آشپزخانه: کنار فیشی که مرحلهی منتظر دارد درخواست مرحلهی 2 نمایش داده میشود. گارسون سپس "آشپزخانه مرحلهی 2 را برای میز 5 درخواست میکند" (با صدا) دریافت میکند و مثل همیشه فراخوانی میکند؛ روی نمایشگر آشپزخانه "مرحلهی 2 درخواست شد · n دقیقه" تا فراخوانی مرحله نمایش داده میشود. یا فراخوان را انتخاب کنید: آنگاه نمایشگر آشپزخانه خودش مرحله را فراخوانی میکند، با فیش کاری "فراخوان مرحلهی 2"، درست مثل دکمه در صندوق.
چاپگر آشپزخانه خاموش یا بدون نمایشگر آشپزخانه
صندوق همیشه به کار ادامه میدهد، حتی وقتی چاپگر آشپزخانه یا بار خاموش است (یا کاغذ تمام شده، یا کابل جدا شده) و حتی بدون نمایشگر آشپزخانه:
- ثبت سفارش همیشه انجام میشود. ردیفها فوراً روی سفارش داده شده قرار میگیرند، صورتحساب درست است و تسویه حساب طبق معمول ممکن است. چاپگرها همزمان فراخوانده میشوند و هر چاپگر حداکثر حدود 4 ثانیه وقت دارد: چاپگری که خاموش است، بقیه (و کارکنان سالن) را مدت زیادی منتظر نمیگذارد.
- صف چاپ. فیش سفارشی که چاپ نشد، به صف چاپ میرود. سرور صندوق هر 30 ثانیه به مدت یک ربع دوباره تلاش میکند؛ به محض اینکه چاپگر دوباره کار کند، فیش با عنوان بعداً چاپ شد در بالای آن چاپ میشود. اگر فیش بعدی روی آن چاپگر موفق شود، فیشهای منتظر بلافاصله پشت سرش چاپ میشوند.
- پس از یک ربع، تلاش دوباره خودبهخود متوقف میشود؛ الان دوباره چاپ کن هنوز ممکن است.
- نمایشگر آشپزخانه. اگر سفارش روی نمایشگر آشپزخانه باشد، آشپزخانه آن را حتی وقتی چاپگر خاموش است آنجا میبیند. کسی که از نمایشگر آشپزخانه استفاده نمیکند چیزی از دست نمیدهد: صندوق هیچجا منتظر "آماده" از آشپزخانه نمیماند.
- صف فقط در حافظهی سرور صندوق است (پس از راهاندازی دوباره خالی است).
- رسید صندوق هم همینطور: اگر چاپ نشود، تسویه حساب انجام شده است (صندوق "چاپ ناموفق بود" را اعلام میکند) و بعداً میتوانید در رسیدها یک نسخهی دیگر چاپ کنید.
کورسها (پیشغذا، غذای اصلی ...)
دکمههای مرحلهی سرو فقط وقتی نمایش داده میشوند که لازم باشند: به محض اینکه یک منو (محصول ترکیبی) روی سفارش باشد، یا وقتی چیزی از قبل در مرحلهی 2 تا 4 باشد. با محصولات معمولی، مثل نوشابه کولا، آنها را نمیبینید و همهچیز مستقیم به آشپزخانه میرود. چیزی برای تنظیم وجود ندارد.
زیر فهرست سفارش مرحلهی سرو 1 2 3 4 قرار دارد. بهطور پیشفرض مرحلهی 1 فعال است و همهچیز مثل همیشه کار میکند: "ثبت سفارش" همهچیز را فوراً به آشپزخانه میفرستد، بدون عنوان مرحله روی فیش سفارش. اگر قبل از زدن محصولات مرحلهی 2 (یا بالاتر) را انتخاب کنید:
- این محصولات با "ثبت سفارش" به آشپزخانه فرستاده میشوند، اما زیر "-- مرحلهی 2 · منتظر فراخوانی --"، تا آشپزخانه بتواند آماده کند؛
- در فهرست سفارش "مرحلهی 2 · منتظر" با دکمهی فراخوانی نمایش داده میشود؛
- با فراخوانی، آشپزخانه یک فیش " فراخوانی مرحلهی 2 " دریافت میکند با آنچه اکنون باید آماده شود.
مرحلهی 1 همیشه فوراً ارسال میشود. اگر مرحلهی 2 قبلاً فراخوانده شده باشد، غذایی که بعداً در مرحلهی 2 سفارش داده شود هم فوراً ارسال میشود.
آلرژنها برای هر محصول
پیشفرض خاموش: در این حالت آلرژنها هیچجا دیده نمیشوند. روشن کردن از طریق تنظیمات ← کسبوکار ← وارد کردن و نمایش آلرژنها برای هر محصول.
- تنظیمات ← محصولات: برای هر محصول 14 آلرژن اتحادیهی اروپا را علامت بزنید (گلوتن، سختپوستان، تخممرغ، ماهی، بادامزمینی، سویا، شیر، مغزها، کرفس، خردل، کنجد، سولفیت، لوپین، نرمتنان). در فهرست محصولات، اختصارها پشت نام میآیند.
- صفحهی سفارش: روی هر دکمهی محصول اختصارها با خط کوچک (مثلاً
Gl Me)، و دکمهی ⚠ آلرژنها در نوار گروهها آلرژنهای هر محصول از گروه انتخابشده را کامل، همراه با توضیح اختصارها نشان میدهد. - تغییرات آلرژنها در گزارش رویدادها ثبت میشوند (قدیم ← جدید). اگر این تنظیم خاموش باشد، آلرژنهایی که قبلاً وارد شدهاند حفظ میشوند.
All-you-can-eat
پیشفرض خاموش. روشن کردن از تنظیمات ← کسبوکار ← All-you-can-eat (فقط مدیر سیستم). یک یا چند پکیج میسازید، مثلاً ماهی، گوشت و سوشی، هر کدام با:
- یک نام (روی رسید میآید: "ماهی بزرگسال"، "ماهی کودک")؛
- یک قیمت برای هر بزرگسال و برای هر کودک (با مالیات ارزش افزوده) و نرخ مالیات (پیشفرض NL
LAAG، BEB)؛ - غذاهای مربوط به آن (€ 0): کل گروههای محصول و/یا محصولات تکی (از گروههای دیگر هم، مثلاً سیبزمینی سرخکرده برای ماهی و گوشت)؛
- یک محدودیت زمانی به دقیقه (0 = بدون محدودیت)؛
- دورها: حداکثر این تعداد غذا برای هر نفر در هر دور (0 = نامحدود) و حداقل این تعداد دقیقه بین دو دور (0 = بدون فاصله)؛
- یک جریمهی هدر دادن غذا برای هر عدد (0 = بدون جریمه).
با ↑ ↓ ترتیب را تعیین میکنید. ترتیب وقتی مهم است که یک غذا به چند پکیج تعلق داشته باشد: آن غذا به بالاترین پکیجی میرود که گروه انتخاب کرده. حذف یک پکیج را برای میزهای جدید برمیدارد؛ میزهای در جریان ردیفهای قیمتشان را نگه میدارند (کم کردن نفرات آنجا هنوز ممکن است، اضافه کردن نه).
سر میز:
- در صفحه سفارش، بالای فاکتور + All-you-can-eat قرار دارد. برای هر بسته تعداد بزرگسالان و کودکان را انتخاب کنید؛ ترکیب مجاز است (مثلاً 2× ماهی و 2× گوشت). قیمت بهصورت ردیف روی صورتحساب میآید؛ این ردیفها به آشپزخانه نمیروند. تعداد نفرات گروه برابر کل شرکتکنندگان میشود (اگر صندوق تعداد نفرات را ثبت کند).
- نوار برای هر پکیج نشان میدهد: نفرات، زمان باقیمانده (قرمز وقتی زمان تمام شده)، کدام دور است همراه با حداکثر، و چقدر تا دور بعدی مانده. غذاهای مربوط روی دکمهها با AYCE و روی رسید با برچسب AYCE به قیمت € 0 نمایش داده میشوند. هر چیزی که به هیچ پکیج انتخابشدهای تعلق ندارد (نوشیدنی، دسر ...) مثل قبل پولی است.
- ثبت سفارش: هر بار "ثبت سفارش" با غذاهای رایگان یک دور حساب میشود، برای هر پکیج (فقط پکیجهایی که غذایی از آنها در سفارش هست). سفارشی که آفلاین زده شده و بعداً ارسال شود، متوقف نمیشود.
- ویرایش: تغییر تعدادها برای هر پکیج. کم کردن نفرات، لغو (استورنو) حساب میشود (مجوز "لغو"). صفر کردن یک پکیج روی 0 (یا توقف برای همه) تا وقتی ممکن است که هنوز هیچ غذایی از آن پکیج روی صورتحساب نباشد.
- هزینهی اضافه (فقط اگر پکیج انتخابشده جریمهی هدر دادن غذا داشته باشد): تعداد را انتخاب کنید (و پکیج را، اگر چند تا هست)؛ "جریمهی هدر دادن غذا × تعداد" روی صورتحساب میآید.
- تسویه حساب، تقسیم، تخفیفها و رسید مثل همیشه کار میکنند: قیمت پکیجها، جریمه و نوشیدنیها ردیفهای معمولی با مالیات خودشان هستند.
- اگر مدیر سیستم all-you-can-eat را در حالی که گروههایی مشغول هستند خاموش کند، غذاهایی که از آن به بعد زده میشوند دوباره قیمت معمولی دارند؛ آنچه قبلاً روی صورتحساب است باقی میماند.
- در فروشگاه اینترنتی (اختیاری، پیشفرض خاموش): با همچنین هنگام سفارش سر میز با کد QR (فروشگاه اینترنتی) مهمانی که از میزی با پکیج سفارش میدهد، غذاهای مربوط به آن را بهصورت شامل با قیمت € 0 میبیند و وضعیت (نفرات، دور، زمان) بالای صفحه نمایش داده میشود. هر سفارش یک دور است، با همان قوانین ثبت سفارش؛ سفارش بیش از حد، خیلی زود یا خیلی دیر را فروشگاه اینترنتی فوراً رد میکند. نوشیدنی و غذاهای دیگر را مهمان بهطور عادی میپردازد؛ همه چیز به حساب میز میرود. خاموش = فروشگاه اینترنتی مثل قبل قیمتهای عادی را حساب میکند.
کارتهای هدیه
دو کلید در تنظیمات ← کسبوکار ← کارتهای هدیه:
- کارت هدیه بهعنوان روش پرداخت در تسویه حساب: پیشفرض روشن، مثل همیشه. خاموش = دکمهی کارت هدیه در تسویه حساب نیست (و در بازپرداخت پول از طریق هنگام مرجوعی هم نیست)، و سرور صندوق پرداخت با کارت هدیه را رد میکند.
- فروش کارت هدیه با موجودی: پیشفرض خاموش. روشن:
- در صفحهی سفارش دکمهی کارت هدیه قرار دارد: مبلغ را انتخاب کنید (€ 10، 25، 50، 100 یا مبلغی دیگر) و بگذارید صندوق یک کد بسازد، یا کد یک کارت از پیش چاپشده را اسکن کنید. کارت بهصورت ردیف روی صورتحساب میآید (کد مالیات BON: بدون درآمد، بدون مالیات، به آشپزخانه نمیرود). همانجا میتوانید موجودی را بررسی کنید برای مشتری.
- پس از تسویه حساب، کارت فعال میشود و چاپگر رسید یک کارت هدیه با مبلغ، کد و یک کد QR چاپ میکند.
- استفاده: در تسویه حساب کارت هدیه را انتخاب کنید و کد را اسکن یا تایپ کنید (دکمهی موجودی موجودی را نشان میدهد). مبلغ از موجودی کم میشود. اگر موجودی کمتر از صورتحساب باشد، کل موجودی بهعنوان پرداخت بخشی کم میشود و باقی را با کارت یا نقدی میپردازید. موجودی را میتوان در چند نوبت مصرف کرد.
- خالی گذاشتن کد = کارت هدیه بدون کد، مثل قبل (مثلاً یک کارت کاغذی قدیمی).
- گزارش ← کارتهای هدیه (مجوز مدیریت کارتهای هدیه، پیشفرض مدیر و مدیر سیستم): جستجو با کد، اعتبار باز، تاریخچهی هر کارت، مسدود کردن (گمشده/دزدیدهشده) و اصلاح موجودی با ذکر دلیل. این در گزارش رویدادها ثبت میشود.
- گزارشها: کارتهای هدیهی فروختهشده جزو درآمد حساب نمیشوند و جدا نمایش داده میشوند (کارتهای هدیهی فروختهشده)؛ پول دریافتشده اما در روشهای پرداخت آمده است. آنچه با کارت هدیه پرداخت میشود، درآمد معمولی (با مالیات) در روش پرداخت کارت هدیه است.
- حسابداری: کارتهای فروختهشده بستانکار و کارتهای استفادهشده بدهکار در حساب کارتهای هدیه (اعتبار مشتریان) ثبت میشوند.
- یک کارت هدیهی فروختهشده را میتوان از طریق رسیدها ← مرجوعی برگرداند، تا وقتی که هنوز استفاده نشده باشد (موجودی = ارزش). پس از مرجوعی، کارت باطل میشود (موجودی 0، مسدود؛ در تاریخچهی کارت ثبت میشود). اگر قبلاً (بخشی از آن) استفاده شده، موجودی را در گزارش ← کارتهای هدیه روی 0 بگذارید و باقیمانده را جداگانه برگردانید. تخفیف روی کارت هدیه ممکن نیست.
اعتبار قابل شارژ (اختیاری)
برای باشگاهها، بوفههای ورزشی، خانههای جوانان و رویدادها: کارت هدیه با موجودی به یک کارت قابل شارژ تبدیل میشود. روشن کردن در تنظیمات ← کسبوکار ← اعتبار قابل شارژ، زیر کارتهای هدیه (پیشفرض خاموش؛ فقط وقتی کار میکند که فروش کارت هدیه با موجودی روشن باشد).
- کارت یا مچبند: یک کارت هدیه با کارت از پیش چاپشده بفروشید و کارت را اسکن کنید (کارتخوان NFC/RFID که مثل صفحهکلید کار میکند، یا بارکد). شمارهٔ کارت همان کد میشود؛ مهمان با آن مثل کارت هدیه پرداخت میکند.
- شارژ: صفحهٔ سفارش ← کارت هدیه ← شارژ اعتبار: کارت هدیه یا کارت را اسکن کنید و مبلغ را وارد کنید. بهصورت یک ردیف روی صورتحساب میآید (کد مالیات BON: بدون درآمد، بدون مالیات، درست مثل کارت هدیهٔ فروختهشده) و پس از تسویه حساب به موجودی اضافه میشود. در تاریخچهٔ کارت شارژ شد نوشته میشود.
- حداکثر موجودی برای هر کارت هدیه یا کارت (پیشفرض € 500، قابل تنظیم تا € 5.000).
- بازپرداخت باقیمانده (تیک، پیشفرض خاموش؛ دسترسی مدیریت کشوی پول): پس از استعلام موجودی گزینهٔ بازپرداخت باقیمانده نمایش داده میشود. موجودی به € 0 میرسد و مبلغ بهصورت پول از کشو در گزارش X و Z میآید (Tegoed terugbetaald …).
- یک شارژ را میتوان از طریق رسیدها ← مرجوعی برگرداند تا وقتی موجودی دستکم همان مبلغ باشد؛ کارت هدیه یا کارت معتبر میماند.
- شارژ در کیوسک (اختیاری): کیوسک سلفسرویس را ببینید.
بنهای غذا
فقط برای کسبوکارهای بلژیک، بهطور پیشفرض خاموش: تنظیمات ← کسبوکار ← تسویه حساب ← بنهای غذا. بن غذا یک مزیت حقوقی است: کارفرما آن را روی کارت کارمند میگذارد (Edenred، Monizze یا Pluxee). مهمان با آن روی کارتخوان معمولی پرداخت میکند؛ هیچ اتصالی با صادرکنندهها لازم نیست.
- روشن: هنگام تسویه حساب دکمهٔ بن غذا نمایش داده میشود. صادرکننده را انتخاب کنید (فقط صادرکنندههایی که کسبوکار میپذیرد) و بگذارید مهمان کارت را جلوی کارتخوان بگیرد، درست مثل پرداخت با کارت بانکی. بدون اتصال کارتخوان: مهمان روی خود کارتخوان پرداخت میکند و شما روی تسویه حساب میزنید.
- بدون انعام و بدون پول خرد با بن غذا. اگر موجودی کافی نباشد، مهمان باقیمانده را به روش دیگری میپردازد (صورتحساب تا پرداخت کامل باز میماند).
- فقط برای دستههای مشخص (اختیاری، مثلاً غذا ولی نه الکل): در این صورت با بن غذا حداکثر مبلغ آن محصولات روی صورتحساب قابل پرداخت است. صفحهٔ تسویه حساب مقدار آن را نشان میدهد؛ مهمان باقیمانده را به روش دیگری میپردازد.
- روی رسید: بن غذا Pluxee (با نام صادرکننده پس از آن).
- گزارش Z و گزارش X: برای هر صادرکننده یک سطر جداگانه (بن غذا Edenred، … Monizze، … Pluxee).
- حسابداری: برای هر صادرکننده یک حساب دفتر کل جداگانه (بنهای غذا Pluxee (دریافتنی) و غیره، بهطور پیشفرض 416100، 416200 و 416300)، چون پول از صادرکننده میآید و نه از بانکِ کارتخوان.
- لازم است: قرارداد با هر صادرکنندهای که بنهایش را میپذیرید، و کارتخوانی که این کارتها را بپذیرد (این را از تأمینکنندهٔ کارتخوان بپرسید).
ارز خارجی
پرداخت نقدی با ارز دیگر، مثلاً برای گردشگران بریتانیایی یا آمریکایی، یا در مناطق مرزی با فرانک سوئیس. بهطور پیشفرض خاموش: تنظیمات → کسبوکار → تسویه حساب → ارز خارجی. ارزها را اضافه کنید (CHF, CZK, DKK, GBP, HUF, NOK, PLN, SEK, TRY, USD) و برای هر ارز یک نرخ: چند یورو برای 1 واحد حساب میکنید (مثلاً 1 GBP = € 1,15).
- دستی واردشده: یک نرخ ثابت؛ وقتی تغییر کرد، خودتان آن را تغییر دهید.
- زنده (ECB): نرخ روزانهٔ بانک مرکزی اروپا (نرخهای مرجع، هر روز کاری حدود ساعت 16:00؛ رایگان، بدون نیاز به حساب کاربری). با کارمزد به درصد (0-20) نرخ به همان اندازه پایینتر میشود، تا کسبوکار هزینهٔ تبدیل ارز را خودش نپردازد. اگر نرخها قدیمیتر از 6 ساعت باشند، صندوق خودش آنها را دریافت میکند؛ اکنون بهروزرسانی کن آنها را فوراً دریافت میکند. بدون اینترنت آخرین نرخ باقی میماند.
- روشن: هنگام تسویه حساب دکمهٔ ارز خارجی هست. ارز را انتخاب کنید؛ صندوق نشان میدهد مبلغ به آن ارز چقدر است. آنچه مهمان میدهد را وارد کنید: صندوق آن را تبدیل میکند و پول خرد را به یورو اگر مهمان چیزی پس نمیخواهد، پول خرد انعام است را روشن کنید: پول خرد بهعنوان انعام روی رسید میآید، در بلژیک به همان ارز (GKS 2.0، UC296).
- اگر مهمان کمتر از کل مبلغ بدهد، آن بخشی از مبلغ است؛ بقیه را به روش دیگری میپردازد.
- روی رسید: ارز، مبلغ و نرخ، و پول خرد به یورو.
- گزارش X و Z: برای هر ارز یک ردیف جداگانه (ارز خارجی GBP، به یورو)، و در بخش کشوی پول آنچه از آن ارز در کشو هست. پول خرد یورویی از پول مورد انتظار در کشو کم میشود؛ خود ارزها را جداگانه میشمارید.
- حسابداری: نقدی (صندوق) حساب میشود، به یورو.
دکمههای اضافی در سفارش و تسویه حساب
دکمههایی برای چیزهایی که هر کسبوکاری لازم ندارد. همه بهطور پیشفرض خاموشاند؛ هر دکمه را در تنظیمات → کسبوکار → سفارش و تسویه حساب روشن کنید (دسترسی تنظیم کسبوکار، پرداخت و چاپگرها). خاموش = دکمه هیچجای صندوق نیست و سرور صندوق عملیات را رد میکند. در هلند همهچیز بدون جعبهٔ سیاه کار میکند؛ در بلژیک یک دکمه فقط وقتی کار میکند که آن قابلیت با جعبهٔ سیاه آزمایش شده باشد (اگر هنوز نه، کنار دکمه نوشته شده است).
هنگام باز کردن میز:
- ثبت تعداد نفرات: پرسش "چند نفر؟" برای میز خالی، نفرات روی نقشه سالن و در صفحه سفارش، و مهمانان در گزارشها. ببینید تعداد نفرات.
هنگام سفارش (صفحهٔ سفارش، برای آنچه بعد از آن میزنید):
- جمع کردن محصولات یکسان (بدون دکمه، بهطور پیشفرض روشن): اگر دوباره روی همان محصول بزنید (همان گزینهها، هنوز سفارش داده نشده)، به جای ردیف جدید تعداد بیشتر میشود: 4 Cola در یک ردیف با قیمت ضرب در 4. با − دوباره یکی کم میشود، حتی اگر قبلاً سفارش داده شده باشد (استورنوی یک عدد). با یادداشت، صندلی یا بیرونبر، ردیف جداگانه باقی میماند؛ آنچه قبلاً سفارش داده شده، ردیف جداگانه باقی میماند (یک دور جدید).
- − و + (پیش از قیمت در هر سطر): − یکی کم میکند، + یکی اضافه میکند (همان محصول، گزینهها و یادداشت؛ اگر جمع کردن محصولات یکسان خاموش باشد، یک سطر جدید). هنوز سفارش داده نشده و روی 0: سطر حذف میشود. قبلاً سفارش داده شده: یکی کمتر یک استورنو است و آن سطر خطخورده باقی میماند (برای آشپزخانه و گزارشها)؛ یکی بیشتر سطر جدیدی میشود که هنوز باید سفارش داده شود. زدن روی خود قیمت دیگر چیزی را حذف نمیکند. در منو فقط −.
- بیرونبر (فقط سرو در محل): مهمان این محصول را با خود میبرد، مثلاً یک بطری آب یا دسر. آن ردیف مالیات بیرونبر میگیرد (در بلژیک برچسب C)، و بقیهٔ صورتحساب مالیات سرو در محل. روی رسید کنار ردیف بیرونبر میآید.
- صندلی (سر یک میز): برای صندلی 1، 2، 3 ... بزنید؛ ردیفها شمارهٔ آن صندلی را میگیرند (روی رسید آشپزخانه هم). در بلژیک هر ردیف با مرکز هزینهٔ صندلی (CHAIR، UC4123) به جعبهٔ سیاه میرود. یک بار دیگر بعد از صندلی 12 = دوباره بدون صندلی.
- پسگرفتن: محصول بعدی با -1 میآید، مثلاً یک بطری یا لیوان خالی (ودیعه بطری). این فقط برای محصولات با قابل برگشت (ودیعه بطری) ممکن است (تنظیمات → محصولات). اگر کل صورتحساب منفی باشد (فقط ودیعه برگشتی، بدون فروش)، تسویه حساب به بازپرداخت تبدیل میشود: نقدی یا با کارت (روی خود کارتخوان برگشت داده میشود). در بلژیک بهعنوان بازپرداخت (REFUND، UC4108 و UC4114).
- تعویض SPV: مهمان یک محصول یا منو را با single purpose voucher میپردازد (ووچری مخصوص همان محصول، مثلاً "1 menu all-in"). روی تعویض SPV و سپس روی محصول در رسید بزنید: با -1 میآید (همان قیمت و مالیات، در منو با اجزای آن)، با SPV کنارش. به آشپزخانه نمیرود؛ حذف آن بهطور عادی ممکن است. محصول ووچر را از قبل بهعنوان محصول معمولی میفروشید؛ در تنظیمات → محصولات SPV (ووچر) را برایش بزنید. در بلژیک ردیف هنگام فروش بهعنوان VOUCHER به جعبهٔ سیاه میرود (UC271).
- کسر پیشپرداخت: پایینتر را ببینید.
- قیمت باز (دکمه نیست، برای هر محصول): برای محصولی با قیمت باز صندوق قیمت را میپرسد، مثلاً غذای روز یا یک پیشپرداخت.
هنگام تسویه حساب:
- تسویه حساب مستقیم بدون برگه کار (دکمه نیست): بهطور پیشفرض تسویه حساب ابتدا آنچه هنوز سفارش داده نشده را سفارش میدهد تا آشپزخانه و بار همیشه رسید خود را دریافت کنند (نگاه کنید به دکمه سفارش). روشن: آنچه را بدون زدن سفارش مستقیماً تسویه میکنید، برگه کار نمیگیرد، مثلاً پشت بار که خودتان آن را برمیدارید. آنچه قبلاً سفارش داده شده، تغییر نمیکند.
- تسویه جداگانه (سر یک میز، در تقسیم صورتحساب): انتخاب کنید یک مهمان اکنون چه چیزی میپردازد، حتی بخشی از یک ردیف (½ برای نصف بطری). این یک بخش جداگانه میشود که بلافاصله تسویه میکنید؛ بقیه روی صورتحساب میماند، بدون اینکه اول صورتحساب را تقسیم کنید یا به گروه دیگری منتقل کنید. تخفیف درصدی روی کل رسید به نسبت همراه میرود. بازگشت بدون پرداخت = همهچیز دوباره روی صورتحساب. در بلژیک فروش در جای میز ثبت میشود، بدون تعویض میز (UC4103bis، UC4104).
- مهمان بدون پرداخت رفت (دسترسی بستن بدون پرداخت، بهطور پیشفرض فقط مدیر و ادمین): صورتحساب بهعنوان فروش بدون پرداخت بسته میشود، با دلیلی در گزارش رویدادها. در گزارش X و Z و در گزارش روزانه بهصورت پرداختنشده (مهمان رفت) میآید؛ در دفتر روزنامه به غیرقابل وصول (بهطور پیشفرض 4985 / 643000). در بلژیک یک فروش بدون پرداخت (UC4109).
بعداً (رسیدها):
- اصلاح قیمت (دسترسی اصلاح قیمت رسید، بهطور پیشفرض فقط مدیر و ادمین): قیمت یک رسید تسویهشده درست نبود، مثلاً 50% تخفیف بهجای 5%. صندوق یک رسید جدید بدون میز میسازد با برگشت ردیفهای رسید قبلی (منفی، به مبلغی که آن موقع پرداخت شد) و همان محصولات دوباره با قیمت عادی. آنجا تخفیف درست را بدهید و مابهالتفاوت را تسویه کنید (یا اگر قیمت جدید کمتر است، بازپرداخت کنید). رسید قبلی همانطور که بود میماند؛ یک بار برای هر رسید، و نه اگر قبلاً چیزی از آن مرجوع شده باشد. در بلژیک ردیفهای قبلی بهعنوان CORRECTION میروند (UC4116).
کد: apps/pos-server/src/lib/kassaopties.ts، routes/kassaopties.ts؛ صفحه KassaOpties.tsx. گزارش رویدادها: تنظیم تغییر کرد، SPV تعویض شد، اصلاح رسید، پرداختنشده.
کسر پیشپرداخت
پیشپرداخت (بیعانه، مثلاً برای یک جشن یا رزرو) را بهعنوان محصول معمولی با پیشپرداخت روشن میفروشید (تنظیمات → محصولات؛ همیشه قیمت باز دارد). اگر پیشپرداخت باید به تفکیک نرخ باشد، برای هر نرخ مالیات یکی بسازید (مثلاً پیشپرداخت غذا و پیشپرداخت نوشیدنی)، یا یک محصول اگر بخشی از پیشفاکتور است. مهمان پیشپرداخت را از قبل میپردازد و رسید میگیرد.
روشن کردن: تنظیمات → کسبوکار → سفارش و تسویه حساب → کسر پیشپرداخت (بهطور پیشفرض خاموش). در تسویهٔ نهایی در صفحهٔ سفارش روی کسر پیشپرداخت بزنید و شمارهٔ رسید پیشپرداخت را وارد کنید. صندوق ردیفهای پیشپرداخت آن رسید را با تعداد منفی روی صورتحساب میگذارد (همان محصول، قیمت و مالیات). آنچه قبلاً کسر شده دوباره ممکن نیست. اگر پیشپرداخت بیشتر از صورتحساب باشد، مهمان مابهالتفاوت را پس میگیرد (بازپرداخت). در بلژیک ردیفهای کسرشده بهعنوان بازپرداخت (REFUND) به جعبهٔ سیاه میروند (UC4110، UC4111، UC4113). گزارش رویدادها: پیشپرداخت کسر شد.
فیش با ایمیل
پیشفرض خاموش. روشن کردن از طریق تنظیمات ← کسبوکار ← ارسال رسید با ایمیل هم.
SMTP_HOST=smtp.voorbeeld.nl
SMTP_PORT=587
SMTP_GEBRUIKER=kassa@voorbeeld.nl
SMTP_WACHTWOORD=...
SMTP_AFZENDER=bon@voorbeeld.nl
پس از وارد کردن اطلاعات، صندوق را دوباره راهاندازی کنید. سپس در تسویه حساب فیلد ایمیل رسید هم (اختیاری) وجود دارد: خالی بگذارید = فقط چاپ، مثل همیشه؛ یک آدرس ایمیل وارد کنید = همان رسید (با جزئیات مالیات ارزش افزوده و ردیفهای مالیاتی) با ایمیل هم برای مهمان فرستاده میشود، با نام کسبوکار بهعنوان فرستنده.
- آدرس ایمیل ذخیره نمیشود؛ در گزارش رویدادها فقط "رسید N به a***@domein.nl ایمیل شد" و موفق بودن یا نبودن آن ثبت میشود.
- اگر ارسال ایمیل موفق نشود (مثلاً اطلاعات ورود اشتباه است)، رسید بهطور عادی تسویه و چاپ شده است؛ پیام خطا میگوید چه مشکلی پیش آمد.
- در پرداخت بخشی (تقسیم صورتحساب) نه: رسید با آخرین پرداخت صادر میشود، پس آدرس را آنجا وارد کنید.
- ایمیل کردن بعدی: در رسیدها کنار هر رسید دکمهی ایمیل هست (مجوز چاپ نسخهی دوم رسید). این دکمه رسید را با عبارت نسخهی دوم روی آن ایمیل میکند، درست مثل یک نسخهی چاپی (در بلژیک بهعنوان نسخهی دوم ثبت میشود).
- به هیچ بستهی اضافهای نیاز نیست: صندوق خودش با سرور ایمیل ارتباط برقرار میکند (STARTTLS روی 587، TLS روی 465).
رزروها
روشن کردن در تنظیمات ← کسبوکار ← رزروها (پیشفرض خاموش). همانجا تعیین میکنید چند دقیقه قبل یک میز رزروشده روی نقشهی سالن نمایش داده شود (پیشفرض 60) و مدت پیشفرض یک رزرو چقدر باشد (پیشفرض 120 دقیقه).
- دکمهی رزروها در نوار بالا: نمای کلی هر روز (◀ ▶)، با تعداد رزروها، نفرات و غیبتها (no-show). + رزرو جدید: نام، تلفن، ایمیل، تعداد نفرات، تاریخ، ساعت، مدت، میز (میتواند بعداً تعیین شود) و توضیح. رزرو را کارکنان انجام میدهند؛ رزرو آنلاین (هنوز) وجود ندارد.
- اگر برای همان میز در آن بازهی زمانی رزرو دیگری باشد، صندوق اطلاع میدهد؛ "با این حال ذخیره کن" ممکن است.
- تأیید با ایمیل (با تیک، یا بعداً با "ایمیل") اگر آدرس ایمیل و سرور ایمیل (
SMTP_HOST، رجوع کنید به رسید با ایمیل) وجود داشته باشد. - روی نقشهی سالن، یک میز خالی رزروشده بنفش با "R 19:30 Jansen (4)" نمایش داده میشود. اگر روی آن بزنید: "Jansen آمده است" میز را با 4 نفر و "Jansen" بهعنوان نام گروه باز میکند و "مهمانان دیگر" آن را بهطور عادی باز میکند.
- در نمای کلی: رسیدهاند (میز را باز میکند؛ اگر میزی تعیین نشده، اول یکی انتخاب کنید)، ویرایش، نیامده (No-show)، لغو و بازگرداندن. همهچیز در گزارش رویدادها ثبت میشود.
- رزروهای پلتفرمهای آنلاین: پلتفرمهای رزرو را در ادامه ببینید.
اتصال صندوق TheFork: باز شدن میز هنگام ورود، بازگشت صورتحساب
با POS-API در TheFork صندوق با TheFork Manager کار میکند (پیشفرض خاموش)، علاوه بر دریافت رزروها که در بالا آمده است. روشن کردن در تنظیمات ← پلتفرمهای رزرو ← اتصال صندوق TheFork؛ از طریق پرتال مدیریت کار میکند.
- اگر مهمانی را در TheFork Manager روی رسیده یا سر میز بگذارید، میزی با همان نام در صندوق باز میشود، با تعداد مهمان و یک یادداشت: نام، حساسیتها و رژیم، پیشپرداخت، پیشنهاد/تخفیف و امتیازهای وفاداری (Yums). اگر روی آن میز سفارش بازی باشد، به آن وصل میشود. میزی با آن نام نیست: یک پیام، و در پلتفرمها میز را انتخاب میکنید.
- پس از تسویه، صورتحساب به TheFork میرود (جمع کل و ردیفها با نام، گروه محصول، تعداد و مبلغ)؛ سپس TheFork رزرو را روی رفته میگذارد. در تسویهٔ تقسیمی یک صورتحساب با جمع کل. اگر موفق نشود، صندوق هر ربع ساعت دوباره تلاش میکند (دو روز)، یا با ارسال دوباره در پلتفرمها.
- اتصال: صندوق یک کد اتصال نشان میدهد؛ آن را در TheFork Manager وارد کنید (یکپارچهسازیها ← صندوق). شناسهٔ رستوران در TheFork (Customer-id) را مدیر سیستم وارد میکند، یا با اولین سفارش خودکار میآید.
- گزینهها: باز شدن خودکار میز، نام، حساسیتها و پیشپرداخت بهعنوان یادداشت، صورتحساب به TheFork.
- پیششرط: Pin Voordeel کلید API در TheFork را دارد (فقط برای شرکا) و صندوق را آنجا بهعنوان POS ثبت کرده است (دکمه در پرتال مدیریت)؛ TheFork اتصال را پس از یک جلسهٔ آزمایشی فعال میکند.
مستندات TheFork: https://docs.thefork.io/POS-API/introduction
لیست انتظار برای مهمانان بدون رزرو
برای مهمانان بدون رزرو که منتظر میز هستند. روشن کردن در تنظیمات ← کسبوکار ← فهرست انتظار (بدون رزرو) (پیشفرض خاموش). فقط وقتی دیده میشود که پیامک از طریق CM.com تنظیم شده باشد؛ در غیر این صورت فهرست انتظار هیچجای صندوق نیست (در تنظیمات هم نه). مستقل از رزروها کار میکند: حتی اگر رزروها خاموش باشند. همانجا متن پیامک هم هست (خالی = "سلام {naam}، میز شما در {zaak} آماده است. لطفاً به کارکنان سالن مراجعه کنید."؛ {naam}، {zaak} و {personen} خودکار پر میشوند).
- دکمهی فهرست انتظار در نوار بالا، با تعداد افراد منتظر (نارنجی اگر کسی منتظر باشد). + افزودن به فهرست انتظار: نام، تلفن (برای پیامک)، تعداد نفرات، زمان انتظار اعلامشده و یک درخواست (تراس، صندلی کودک).
- فهرست به ترتیب ثبت نام است، با مدت انتظار هر نفر (قرمز اگر بیشتر از زمان اعلامشده طول بکشد) و در بالا تعداد منتظران، نفرات و میانگین زمان انتظار امروز.
- اگر پیامک ارسال نشود، دلیلش کنار آن نوشته میشود. ارسال دوبارهی پیامک ممکن است.
- نشاندن: میز را انتخاب کنید؛ صندوق آن را با تعداد نفرات (اگر صندوق تعداد نفرات را ثبت کند) و نام بهعنوان نام گروه باز میکند (مانند رزروی که میرسد).
- رفت (رفته یا انصراف داده) و بازگرداندن. زیر فهرست کسانی که امروز نشانده شدهاند یا رفتهاند، با مدت انتظارشان، نمایش داده میشوند.
- حریم خصوصی: شمارههای تلفن پس از یک روز پاک میشوند؛ کسی که پس از 12 ساعت هنوز در فهرست باشد، خودکار حذف میشود. ثبت نام، فراخوانی (فقط با 3 رقم آخر شماره) و نشاندن در گزارش رویدادها ثبت میشوند.
- چرا جزو رزروها نیست؟ رزرو برای بعد است (تاریخ، ساعت، میز از قبل)؛ فهرست انتظار برای همین حالا است (ترتیب، زمان انتظار، پیامک وقتی میز خالی شد). به همین دلیل کلید و دکمهی جداگانه دارد، با همان "باز کردن میز" مثل رزرو.
- ثبتنام آنلاین در فهرست انتظار (اختیاری، پیشفرض خاموش؛ فقط با فروشگاه اینترنتی): با مهمانان میتوانند خودشان هم از طریق فروشگاه اینترنتی ثبتنام کنند در فروشگاه اینترنتی فهرست انتظار نمایش داده میشود (و یک کد QR برای کنار در هم هست، در مدیریت فروشگاه اینترنتی زیر میزها و QR). مهمان نام، تلفن، تعداد نفرات و یک درخواست وارد میکند و جای خود را زنده میبیند. در صندوق با آنلاین در فهرست دیده میشود؛ صدا زدن، نشاندن و رفتن مثل همیشه است و مهمان آن را روی گوشی خود هم میبیند (لغو ثبتنام هم از همانجا ممکن است).
کارت مشتری / امتیاز
روشن کردن در تنظیمات ← کسبوکار ← کارت مشتری / امتیازها (پیشفرض خاموش، در این صورت هیچجا چیزی از آن دیده نمیشود). همانجا این موارد را هم تنظیم میکنید: امتیاز برای هر یورو (0 = فقط کارت مهر)، پس از چند امتیاز جایزه داده شود و آن جایزه چند یورو تخفیف باشد.
- در صندوق، بالای رسید "+ کارت مشتری" قرار دارد: مشتری را با نام یا شماره تلفن پیدا کنید، یا مشتری جدیدی بسازید (نام، تلفن و ایمیل اختیاری). سپس نام همراه با موجودی امتیاز روی رسید میآید.
- استفاده از امتیاز: با امتیاز کافی "استفاده از 100 امتیاز: € 5 تخفیف"؛ با کارت مهر پر "قهوهی رایگان" (آن قهوه باید روی رسید باشد). این به یک ردیف تخفیف تبدیل میشود؛ همه میتوانند آن را دوباره حذف کنند.
- امتیازها و مهرها فقط هنگام تسویه حساب اضافه و کم میشوند: امتیاز بر اساس مبلغ پس از تخفیف (بدون کارتهای هدیهی فروختهشده)، مهر برای هر عدد از محصولی که کارت مهر دارد (محصول رایگان حساب نمیشود).
- روی رسید صندوق: امتیاز جمعشده، استفادهشده، موجودی و وضعیت کارتهای مهر.
- گزارش ← مشتریان (مجوز مدیریت کارت مشتری): جستجوی مشتریان، تغییر اطلاعات، اصلاح امتیازها (با ذکر دلیل)، تاریخچه و حذف (GDPR/AVG: نام، تلفن و ایمیل پاک میشوند؛ تاریخچه بهصورت ناشناس باقی میماند). پایین صفحه کارتهای مهر برای هر محصول (مثلاً 10 قهوه = 1 رایگان).
- مرجوعی، امتیازهای جمعشده را خودکار برنمیگرداند؛ در صورت نیاز آنها را در گزارش ← مشتریان اصلاح کنید.
- کارت مشتری با شماره (اختیاری): در گزارش ← مشتریان ← (مشتری) شمارهٔ کارت را وارد کنید (یا کارت را در همان فیلد اسکن کنید). با اسکنر بارکد، اسکن آن کارت مشتری را به رسید متصل میکند، هم در صندوق و هم در کیوسک. جستوجو با شمارهٔ کارت در + کارت مشتری هم ممکن است.
پروفایل مهمان: VIP، رژیم غذایی و ترجیحات (اختیاری)
روشن کردن در تنظیمات ← کسبوکار ← پروفایل مهمان، زیر کارت مشتری (بهطور پیشفرض خاموش؛ فقط وقتی کار میکند که کارت مشتری روشن باشد). سپس:
- در صفحهٔ سفارش زیر مشتری متصل "+ پروفایل مهمان" نمایش داده میشود: VIP را تیک بزنید، رژیم غذایی (گیاهخوار، وگان، پسکاتارین، حلال، کوشر) و حساسیتها (14 آلرژن) را انتخاب کنید و ترجیحات را بنویسید (مثلاً "میز ثابت کنار پنجره"، حداکثر 300 نویسه). پس از آن کنار مشتری در صفحهٔ سفارش دیده میشوند، حساسیتها به رنگ قرمز. در گزارش ← مشتریان ← (مشتری) ← پروفایل مهمان هم قابل تغییر است.
- اگر محصولی را بزنید که آلرژنی از مهمان دارد (نگاه کنید به آلرژنها برای هر محصول)، صندوق اول میپرسد که آیا با این حال اضافه شود. فقط بر اساس آنچه برای محصول ثبت شده است؛ در صورت تردید همیشه از آشپزخانه بپرسید.
- مهمان VIP روی نقشهٔ سالن یک ★ میگیرد: در حساب باز و در رزرو نمایشدادهشدهٔ آن مشتری. وقتی مهمانان یک رزرو میرسند، صندوق مشتری رزرو را به حساب وصل میکند.
- رژیم غذایی و حساسیتها (و VIP) روی فیش آشپزخانه برای آشپزخانه و بار میآیند:
GAST: VIP · Vegetarisch · allergie: Noten. - رژیم غذایی و حساسیتها اطلاعات سلامت هستند: فقط با رضایت مهمان وارد کنید. در گزارش رویدادها فقط ثبت میشود که پروفایل تغییر کرده است، نه خود موارد. حذف مشتری، پروفایل مهمان را هم پاک میکند.
علاقهمندیها / دکمههای سریع
پیشفرض خاموش. تنظیمات ← کسبوکار ← علاقهمندیها / دکمههای سریع:
- پرفروشترینها: در ابتدای نوار گروهها دکمهی ★ علاقهمندیها با 12 محصولی که در 14 روز گذشته بیشترین فروش را داشتهاند (خودکار بهروز میشود). صفحهی سفارش با علاقهمندیها باز میشود.
- انتخاب دستی: در صفحهی سفارش یک محصول را نگه دارید (یا راستکلیک کنید) و ★ علاقهمندی (دکمهی سریع) را انتخاب کنید؛ دوباره = حذف. مجوز مدیریت محصولات. همهی صندوقها فوراً آن را میبینند.
- زدن محصول، گزینهها، منوها، happy hour و "تمام شد" روی علاقهمندیها دقیقاً مثل گروههای معمولی کار میکنند.
یک دور دیگر
در صفحهی سفارش دکمهی ↻ یک دور دیگر قرار دارد (به محض اینکه چیزی روی صورتحساب باشد، حتی اگر هنوز سفارش داده نشده باشد). یک لمس، آخرین دور (هر چیزی که با یک بار "ثبت سفارش" فرستاده شد، یا آنچه همین الان لمس کردید) را یک بار دیگر بهصورت ردیفهای جدید اضافه میکند؛ سپس طبق معمول ثبت سفارش. قیمتها، قیمتهای فعلی هستند (happy hour هم).
- نگه داشتن طولانی (یا کلیک راست): خودتان انتخاب کنید. با ◀ ▶ به دورهای قبلی میروید، هر محصول را روشن/خاموش کنید (مثلاً تیک غذا را بردارید) و تعداد را با − / + تغییر دهید. گزینهها و توضیحات هم منتقل میشوند.
- محصولات تمامشده و منوها منتقل نمیشوند (منوها را جداگانه بزنید). بدون اتصال هم کار میکند.
- ردیفها همانطور که روی صورتحساب هستند اضافه میشوند: با روشن بودن جمع کردن محصولات یکسان یک ردیف برای هر محصول (2 Cola)، با خاموش بودن هر ردیف جداگانه (2 بار 1 Cola).
زمان میز روی نقشه
روی هر میز اشغالشده ⏱ 45m · 12m نمایش داده میشود: میز چه مدت اشغال است و آخرین بار چه مدت پیش چیزی زده شده (برای زمان دقیق، روی میز بزنید و نگه دارید یا ماوس را روی آن ببرید). اگر مدتی چیزی سفارش داده نشود، میز یک حاشیهی نارنجی میگیرد: سری به میز بزنید. تعداد دقیقه را در تنظیمات ← کسبوکار ← زمان میز تنظیم میکنید (پیشفرض 20، 0 = بدون حاشیهی نارنجی). اگر هنوز چیزی زده نشده، از زمان باز شدن میز حساب میشود.
اگر چند گروه (با صورتحساب جداگانه) سر یک میز باشند، برای هر گروه یک ردیف هست، مثلاً G1 ⏱ 50m · 12m و Jansen ⏱ 10m (نام گروه، یا در غیر این صورت شمارهی گروه). گروهی که مدت زیادی بیسفارش بماند، یک برچسب نارنجی و میز یک حاشیهی نارنجی میگیرد.
جابهجایی کل میز
در صفحهٔ سفارش جابهجایی میز هست. محل (مثلاً تراس) و یک میز را انتخاب کنید: همهٔ دستههای میز با آن میروند، هر کدام با حساب خودش. اگر میز اشغالشدهای انتخاب کنید، میزها ادغام میشوند (دستهها به آن اضافه میشوند). اگر فقط میخواهید بخشی را جابهجا کنید، مثل قبل از تقسیم / جابهجایی استفاده کنید. اگر همهچیز باید روی یک حساب باشد، از ادغام استفاده کنید.
ادامهٔ کار آفلاین (تبلت بدون وایفای)
اگر اتصال بین تبلت و سرور صندوق قطع شود (وایفای در تراس، سرور موقتاً خاموش)، یک نوار زرد ظاهر میشود و تبلت با آخرین میزها، محصولات و سفارشهای باز ذخیرهشده به کار ادامه میدهد:
- باز کردن میز، زدن محصولات و ثبت سفارش روی تبلت ذخیره میشوند (حتی اگر تبلت دوباره راهاندازی شود) و در فهرست سفارش با حاشیهی نقطهچین ("هنوز ارسال نشده") نمایش داده میشوند؛
- به محض برقراری دوبارهی اتصال، همهچیز به ترتیب به سرور فرستاده میشود و تازه آنوقت فیش سفارش به آشپزخانه میرود. هر بسته یک کلید دارد، پس هیچچیز دو بار ثبت نمیشود. اگر کس دیگری در این فاصله میز را باز کرده باشد، محصولات به همان سفارش اضافه میشوند؛
- تسویه حساب، تخفیف، تقسیم و مانند آنها فقط با اتصال ممکن است؛ "تسویه حساب" منتظر میماند تا همهچیزِ آن میز ارسال شود.
تعداد نفرات
اختیاری و بهطور پیشفرض خاموش: تنظیمات → کسبوکار → سفارش و پرداخت → ثبت تعداد نفرات. خاموش = کمترین لمس ممکن: میز خالی با یک لمس باز میشود، هیچجا نفرات نمایش داده نمیشود، و گزارش، داشبورد و خلاصه روز مهمانان و هزینه هر مهمان را نشان نمیدهند.
روشن: وقتی میز خالی را لمس کنید، صندوق میپرسد چند نفرند (دکمههای بزرگ 1-8، یا وارد کردن عدد؛ "رد کردن" = 1). روی نقشه سالن کنار میز اشغالشده "3/4 نفر" نوشته میشود (نفرات/صندلیها، زرد اگر تعداد افراد از صندلیها بیشتر باشد). در صفحه سفارش آن را با دکمه "3 نفر" در نوار گروهها تغییر میدهید؛ با چند گروه، میز همه گروهها را با هم جمع میکند.
بدون تعداد نفرات همهچیز کار میکند: تقسیم مساوی هنگام پرداخت از 2 شروع میشود، all-you-can-eat خودش تعداد بزرگسالان و کودکان را میپرسد، و رزروها و فهرست انتظار تعداد نفرات خود را نگه میدارند (میز در این حالت بدون نفرات باز میشود).
ثبت HACCP
هر کسبوکار رستورانی باید ایمنی مواد غذایی را پایش و ثبت کند: در هلند طبق Hygiënecode voor de Horeca (با نظارت NVWA) و در بلژیک طبق خودکنترلی FAVV (راهنمای G-023). ثبت HACCP را در تنظیمات ← قوانین و مقررات روشن کنید (بهطور پیشفرض خاموش).
- نقاط اندازهگیری (مدیر): مثلاً سردخانه، فریزر، گرم نگهداشتن، دمای مغز غذا پس از پخت، سرد کردن مجدد و دریافت کالا، با حداقل و/یا حداکثر به °C و تعداد دفعات (هر روز، دو بار در روز، هر هفته یا هنگام استفاده). افزودن فهرست استاندارد یک نقطهٔ شروع ایجاد میکند (سردکن تا 7 °C، در بلژیک تا 4 °C؛ فریزر تا -18 °C؛ گرم نگهداشتن از 60 °C؛ پخت از 75 °C).
- نظافت و بازرسی: وظایف روزانه، هفتگی (در صورت تمایل در یک روز ثابت) یا ماهانه، با محل و دستورالعمل، مثلاً ضدعفونی تختههای برش، فیلترهای چربی، کنترل آفات، بررسی دماسنج.
- ثبت کردن (هر کسی که وارد شده): دکمهٔ HACCP در نوار بالا، با تعداد موارد باز امروز. دما را وارد کنید یا وظیفه را علامت بزنید (انجام شد یا انجام نشد). اگر دما خارج از حد باشد، اقدام اصلاحی الزامی است (مثلاً "در را بستم، محصول را دور ریختم"). ثبتها قابل تغییر نیستند؛ اشتباه را با یک ثبت جدید اصلاح کنید.
- گزارش (مجوز فروش بر اساس دوره): برای هر دوره همهٔ ثبتها، تعداد انحرافها و ثبتهای از دست رفته در هر روز؛ بهصورت CSV (Excel) یا برای چاپ / ذخیره بهصورت PDF برای بازرسی.
سیستم شیر نوشیدنی و دبیسنجها
هر ریختنی که کامپیوتر شیر یا دبیسنج گزارش دهد روی رسید میرود، تا چیزی "هدر نرود". آن را در تنظیمات ← سیستم شیر نوشیدنی روشن کنید (بهطور پیشفرض خاموش).
- منابع (مدیر): کامپیوتر شیر نوشیدنی یا سیستم جریانسنج. برند را انتخاب کنید؛ صندوق یک پیشتنظیم را پر میکند. از هلند و بلژیک: Van Duijnen Horeca (اتوماسیون ریختن نوشیدنی, Dashbar), Beconet (Multi-Tap), TapSystems, Horecatechniek Nederland, Heineken SmartDispense, WeissBeerger / AB InBev و BarTrack؛ همچنین Gruber, Addimat, WMF / Hogatron (E-Protokoll), Drinkotec (ex-Hartec), , Berg, Easybar, Azbar, Scanabar, PourMyBeer, iPourIt, BeerBoard, US BeerSAVER, Bevchek, Capton/BarVision, Kegtron, Kegbot Kegboard، یک "شیر هوشمند" یا سیستم شخصی. اتصال به پنج روش ممکن است (Kegboard: ریختن دوزبندیشده و Kegboard را در ادامه ببینید):
- فیلدها:
kraan(یاtap،plu)،ml(یاcl،liter،volumeباeenheid) یاporties،id(همان ریختن دو بار = یک بار ثبت میشود)،tijdstip،tafel،bediening؛ یک ریختن، یک فهرست یا{ "taps": [...] }. - شبکه (TCP): صندوق به کامپیوتر شیر وصل میشود (نشانی و پورت) یا خودش روی یک پورت گوش میدهد.
- پورت سریال: پورت COM یا USB سریال، 1200–115200 baud، 8N1، 7E1 یا 7O1.
- در شبکه و سریال، قالب پیام را تنظیم میکنید (یک پیام در هر خط، یا STX … ETX با بررسی XOR اختیاری و ACK/NAK در پاسخ) و الگوی پیام را، با بخشهای
kraanیاpluو در صورت نیازml،cl،liter،porties،tafel،bedieningوid(مثلاًkraan;mlیا فقط یک PLU برای هر لیوان). تأمینکنندگان قالب دقیق خود را فقط به نصابها میدهند؛ از تأمینکنندهٔ کامپیوتر شیر بپرسید. ریختن آزمایشی یک ریختن را همانطور میفرستد که کامپیوتر شیر میفرستد.
- فیلدها:
- شیرها (مدیر): برای هر شیر یا PLU، محصول و نحوهٔ ثبت روی رسید: به ازای لیوان (لیوان به ml؛ ریختن 520 ml با لیوانهای 250 ml = 2 لیوان؛ از 50% یک لیوان حساب میشود) یا به ازای لیتر (قیمت محصول قیمت هر لیتر است؛ روی رسید مثلاً "آبجو 0,33 l" با مبلغ درست).
- روی رسید: اگر کامپیوتر شیر یک میز گزارش دهد، ریختن فوراً به سفارش باز همان میز میرود. وگرنه در ریختهشده قرار میگیرد: در صفحهٔ سفارش نوار "… بار ریختهشده بدون رسید" ظاهر میشود؛ ریختنها را انتخاب کرده و روی این رسید را بزنید. ردیفها فوراً سفارشدادهشده میشوند (دیگر برگهٔ کاری به بار نمیرود) و از موجودی کم میشود. دکمهٔ ریختهشده در نوار بالا هرچه را هنوز رسید ندارد نشان میدهد.
- ثبت ضایعات (مجوز ابطال): شستوشو، شکستگی، چشیدن، کارکنان، رایگان یا سایر (با توضیح)؛ این در گزارش رویدادها ثبت میشود. کمتر از یک لیوان (مثلاً شستوشو) باید ضایعات ثبت شود.
- نمای کلی (مجوز فروش در هر بازه): برای هر شیر ریختهشده، روی رسید، ضایعات (به تفکیک دلیل)، لغوشده و هنوز باز، به لیتر، با درصد فروختهشده، و بهصورت CSV.
- ریختنهای گزارششده قابل تغییر نیستند (فقط قابل رسیدگی).
ریختن دوزبندیشده و Kegboard
با ریختن دوزبندیشده، شیر فقط پس از ثبت لیوان در صندوق باز میشود، و فقط برای همان مقدار. به این ترتیب چیزی ریخته نمیشود که روی فاکتور نباشد. این فقط وقتی کار میکند که سیستم شیر نوشیدنی روشن باشد، و آن را برای هر شیر جداگانه فعال میکنید (بهطور پیشفرض خاموش).
- برای هر شیر (مدیر، تنظیمات → سیستم شیر نوشیدنی → شیرها): گزینه ریختن دوزبندیشده را علامت بزنید و انتخاب کنید شیر پس از ثبت چه مدت باز بماند (10–600 ثانیه، پیشفرض 120). در Kegboard رله (شیر برقی) را هم وارد کنید. ریختن دوزبندیشده فقط بهازای هر لیوان ممکن است.
- ثبت: هنگام سفارش (یا تسویه حساب مستقیم)، صندوق برای هر ردیف فاکتور با آن محصول یک آزادسازی (تعداد لیوان × لیوان به ml) میسازد و آن را به کامپیوتر شیر نوشیدنی میفرستد. ریختنی که پس از آن میرسد متعلق به همان ردیف فاکتور است. بنابراین دوباره روی فاکتور نمیآید و در ریختهشده هم نمیآید. ریختن بدون آزادسازی بهطور عادی در ریختهشده میآید.
- ابطال ردیف پیش از ریختن: شیر دوباره بسته میشود. آزادسازیای که بهموقع ریخته نشود منقضی میشود؛ شیر هرگز بعداً باز نمیشود.
- آزادسازیها در صفحه سفارش (نواری بالای فاکتور): دیدن موارد در جریان، توقف و آزادسازی دوباره. آزادسازی دوباره فقط وقتی ممکن است که هنوز چیزی ریخته نشده باشد، پس هرگز چیز اضافهای آزاد نمیشود. آزادسازی آزمایشی (مدیر) یک لیوان را بدون فاکتور آزاد میکند؛ این در گزارش رویدادها ثبت میشود.
- آزادسازی چگونه به کامپیوتر شیر نوشیدنی میرسد:
- Kegboard (Kegbot، متنباز، ESP32 با جریانسنجها و شیرهای برقی؛ پروتکل کاملاً عمومی): صندوق برای شیرهای آن محصول، رلهها و مقدار یک grant میدهد. برد خودش شیر را میبندد وقتی مقدار به حد برسد یا زمان تمام شود.
- شبکه/سریال: یک دستور آزادسازی قابل تنظیم با
{kraan},{ml},{porties},{sec}و{id}(مثلاًV{kraan};{ml})، که در قالب پیام منبع ارسال میشود (خط یا STX … ETX با XOR). بهصورت اختیاری یک دستور توقف هم هست. دستور دقیق را تأمینکننده میدهد.
- اتصال Kegboard: در + منبع برند Kegbot Kegboard را انتخاب کنید. برد خود را به منبع معرفی میکند؛ روی اجازه دادن (یا رد کردن) کلیک کنید. سپس برد یک بار کلید اختصاصی خود را دریافت میکند که صندوق آن را فقط بهصورت hash نگه میدارد. دستگاه دیگر یا کلید نادرست چیزی را در برد متصل تغییر نمیدهد؛ اگر برد کلیدش را از دست داده است، ابتدا از قطع اتصال استفاده کنید. منبع، فریمور، کنتورها و رلههای برد را نشان میدهد. شیرها همان شمارههای کنتور هستند (0، 1 …). کارتی که به برد زده شود رد میشود: پرداخت در صندوق انجام میشود. اگر سیستم شیر نوشیدنی خاموش باشد، برد پیامهایش را نگه میدارد و بعداً ارسال میکند.
- در منبع تنظیم میکنید که شیر پس از چند ثانیه بدون جریان بسته شود (5–300، پیشفرض 30). برای هر شیر، شماره کنتور، رله (شیر برقی) و مدت زمانی که شیر پس از ثبت در صندوق میتواند باز بماند را وارد کنید.
کنترل موسیقی از صندوق
کارکنان موسیقی را از صفحه لمسی صندوق کنترل میکنند، پس به صفحه جداگانهای در بار نیازی نیست. آن را در تنظیمات → کسبوکار → نمایشگرها و کارکرد → کنترل موسیقی از صندوق روشن کنید (پیشفرض خاموش). سپس دکمه موسیقی در نوار بالا قرار میگیرد: برای هر منبع (مثلاً بار و تراس) پخش، مکث، بعدی، قبلی، بلندتر، آهستهتر و یک لغزنده برای صدا، همراه با آنچه در حال پخش است. بازگشت به صندوق پنل را میبندد. با خاموش کردن، منابع حفظ میشوند.
- صف پخش (Sonos، Bluesound و VLC): صف همراه با آنچه اکنون پخش میشود. برای پخش روی یک آهنگ بزنید؛ با ویرایش آهنگها را برمیدارید (✕)، بالا یا پایین میبرید (↑ ↓؛ Sonos و Bluesound) یا صف پخش را خالی میکنید. با انتخاب موسیقی دیگر یک علاقهمندی Sonos (مثلاً یک ایستگاه یا کانال Tunify) یا فهرست پخش، یا یک پیشتنظیم BluOS را پخش میکنید.
- روی صفحهٔ جداگانه: همان کنترل و صف پخش بهصورت بزرگ روی
http://<kassaserver>:3000/muziek، مثلاً روی نمایشگر دوم کنار صندوق یا یک تبلت روی بار (اگر روی همان دستگاه وارد شدهاید، وگرنه با کد PIN). - روی تبلت یا گوشی: یک کد QR با نشانی همان صفحهٔ جداگانه در شبکهٔ کسبوکار. کارمند آن را با تبلت یا گوشی خودش (روی شبکهٔ wifi کسبوکار) اسکن میکند و با کد PIN خودش وارد میشود؛ با خروج دوباره بسته میشود. ببینید: صفحهٔ دوم روی تبلت یا گوشی.
مدیر منابع را با + منبع موسیقی اضافه میکند، روش اتصال را انتخاب میکند و آن را با تست آزمایش میکند:
- Soundtrack (soundtrack.io): از طریق API عمومی، با یک API token (از Soundtrack درخواست کنید) و یک منطقه صوتی (بارگیری منطقهها). پخش، مکث، بعدی، صدا و آنچه در حال پخش است.
- Sonos: نشانی IP بلندگو (در گروه: بلندگویی که گروه را هدایت میکند). با هر چیزی که روی Sonos پخش میشود کار میکند، مثلاً Tunify، Spotify یا رادیو.
- Bluesound (BluOS): نشانی IP پخشکننده؛ این هم با هر چیزی که روی آن پخش میشود کار میکند، مثلاً Tunify.
- VLC روی کامپیوتر موسیقی: رابط وب را روشن کنید (ابزارها → ترجیحات → نمایش همه → رابط → رابطهای اصلی: وب، با رمز عبور برای Lua)؛ نشانی IP (در صورت نیاز با
:poort، پیشفرض 8080) و رمز عبور. - کامپیوتر موسیقی اختصاصی (نشانیهای وب): برای کامپیوتر یا دستگاه موسیقی که برای هر دکمه یک نشانی وب دارد؛ GET یا POST، و
{volume}(0-100) در نشانی برای صدا. بدون نشانی بلندتر/آهستهتر، صندوق صدا را مرحلهبهمرحله تنظیم میکند. - پخشکننده وب بسته موسیقی: نشانی وب پخشکننده وب یا صفحه کنترل (مثلاً پخشکننده وب Tunify یا Media Tools) با دکمه موسیقی در صندوق باز میشود؛ اگر سرویس اجازه نمایش در صفحه دیگری را ندهد، از باز کردن در پنجره جداگانه استفاده کنید.
صندوق از سمت سرور با پخشکنندهها ارتباط دارد، پس آنها باید در همان شبکه صندوق باشند (Soundtrack از طریق اینترنت). هر کسی که وارد شده باشد میتواند کنترل کند؛ برای تنظیم، دسترسی تنظیم کسبوکار، پرداخت و چاپگرها لازم است. توکن و رمز عبور هرگز دوباره روی صفحه و در گزارش رویدادها نمایش داده نمیشوند؛ در گزارش رویدادها فقط تنظیمات ثبت میشود (روشن/خاموش، منابع)، نه هر فشار دکمه. خروجی پیکربندی فقط روشن/خاموش را دربر دارد (منابع متعلق به یک کسبوکار هستند).
صفحهٔ دوم روی تبلت یا گوشی
موسیقی و دوربینها روی تبلت یا گوشی خود کارمند هم نمایش داده میشوند، بهعنوان صفحهٔ دوم کنار صندوق. در پنجرهٔ موسیقی یا دوربینها دکمهٔ روی تبلت یا گوشی هست: یک کد QR با نشانی نشان میدهد، مثلاً http://192.168.1.20:3000/muziek یا .../camera.
- تبلت یا گوشی را به شبکهٔ wifi کسبوکار وصل کنید.
- کد QR را با دوربین اسکن کنید (یا نشانی را در مرورگر تایپ کنید).
- با کد PIN خودتان وارد شوید. فقط چیزی را میبینید که اجازه دارید: موسیقی را همه، دوربینها را فقط با مجوز مشاهدهٔ تصاویر دوربین.
- تمام: خروج در گوشهٔ بالا. اگر ورود منقضی شده باشد (مثلاً تبلت یک شب بیکار مانده)، صفحه دوباره کد PIN را میخواهد.
نکته: صفحه را به صفحهٔ اصلی تبلت اضافه کنید (در مرورگر: افزودن به صفحهٔ اصلی)، تا مثل یک برنامه باز شود.
به همین دلیل صندوق نشانی IP کامپیوتر صندوق در شبکه را میپرسد (اگر کامپیوتر بیش از یکی دارد، مثلاً wifi و کابل، شبکه را انتخاب میکنید). در پورتال مدیریت (صندوق از راه دور) نشانی همان نشانی پورتال است. صندوق کد QR را خودش و بدون اینترنت میسازد.
اتصال تبلتها: با یک دکمه به تبلت (اختیاری)
از این هم سادهتر: یک تبلت را یک بار وصل کنید، آنگاه صندوق با یک دکمه موسیقی یا دوربینها را به آن تبلت میفرستد. آن را در تنظیمات → کسبوکار → نمایشگرها و کارکرد → تبلتها بهعنوان صفحهٔ دوم روشن کنید (پیشفرض خاموش).
- روی تبلت:
http://<kassaserver>:3000/tabletرا باز کنید (کنار تنظیم، روی تبلت یا گوشی با کد QR هست)، با کد PIN وارد شوید و به تبلت یک نام بدهید، مثلاً تبلت بار. اتصال. - روی صندوق: در پنجرهٔ موسیقی یا دوربینها اکنون دکمهٔ به تبلت بار هست (با یک نقطهٔ سبز وقتی تبلت روشن است). روی آن بزنید: تبلت آن صفحه را خودکار باز میکند. در موسیقی، منبع انتخابشده هم همراه میرود (مثلاً تراس).
- روی تبلت: بستن به حالت انتظار برمیگردد؛ قطع اتصال این تبلت اتصال را برمیدارد.
صفحه را روی تبلت باز بگذارید؛ اگر تبلت خاموش یا در حالت خواب باشد، بهمحض روشن شدن دوباره صفحه را باز میکند. تبلت با نام کارمندی که روی آن وارد شده، وارد میماند: فرستادن و دیدن دوربینها فقط با اجازهٔ مشاهدهٔ تصاویر دوربین ممکن است. مدیر سیستم کنار تنظیم میبیند کدام تبلتها وصلاند و آیا روشناند، و میتواند نامشان را عوض کند یا آنها را بردارد. تبلت یک کلید مخصوص خودش نگه میدارد؛ صندوق فقط یک hash از آن نگه میدارد. با خاموش کردن، تبلتهای وصلشده حفظ میشوند. در گزارش رویدادها ثبت میشود چه کسی تبلتی را وصل کرد، نامش را عوض کرد یا برداشت.
نمایشگر فراخوان سفارشهای بیرونبر
یک نمایشگر برای مشتریان، در سمت چپ در حال آمادهسازی و در سمت راست آماده، با شمارههای بزرگ، مانند اسنکبار یا فستفود. آن را در تنظیمات → کسبوکار → نمایشگرها و کارکرد → نمایشگر فراخوان سفارشهای بیرونبر روشن کنید (پیشفرض خاموش).
اتصال لازم نیست: روی تلویزیونی با مرورگر (تلویزیون هوشمند، دانگل یا مینیپیسی)، تبلت یا مانیتور دوم، نشانی صندوق را با /oproep باز کنید، مثلاً http://192.168.1.20:3000/oproep. در تنظیم و در پنجرهٔ صدا زدن دکمههای روی صفحهٔ جداگانه و روی تبلت یا گوشی (کد QR با نشانی) هست. ورود لازم نیست: نمایشگر فقط شمارهها را نشان میدهد. یک بار روی صفحه بزنید تا مرورگر اجازهٔ پخش صدا داشته باشد.
چه چیزی نمایش داده میشود:
- سفارشهای بیرونبر از صندوق، فروشگاه اینترنتی و Thuisbezorgd (و در صورت تمایل سفارشهای پیشخوان بدون میز، در فروش سریع)، از 12 ساعت گذشته؛
- بهمحض اینکه چیزی به آشپزخانه یا بار فرستاده شود (یا سفارش فروشگاه اینترنتی روی در حال آمادهسازی باشد): شماره زیر در حال آمادهسازی میآید؛
- آماده خودکار انجام میشود وقتی نمایشگر آشپزخانه همهٔ سفارش را آماده اعلام کند یا سفارش فروشگاه اینترنتی روی آماده باشد. شماره لحظهای چشمک میزند و نمایشگر صدای دینگدانگ میدهد؛
- شمارهٔ آماده به تعداد دقیقههای تنظیمشده میماند (پیشفرض 10)، یا تا تحویل گرفته شد;
- سفارشهای کیوسک (نگاه کنید به کیوسک سلفسرویس) همیشه به محض پرداخت یا وقتی در صندوق پرداخت میشوند نمایش داده میشوند، حتی با "همینجا میخورم"، با شماره تحویل روی رسیدشان؛
- در صورت تمایل سفارشهای پیکهای Thuisbezorgd، Uber Eats، Deliveroo و HubRise هم (گزینهٔ همچنین سفارشهای پیکها …): با شمارهٔ سفارش پلتفرم و نام پلتفرم زیر آن، تا پیک ببیند سفارشش کی آماده است. در این حالت تحویل شد به پلتفرم هم اطلاع میدهد که پیک آن را برداشته است (مانند پنجرهٔ پلتفرم).
شماره: در فروشگاه اینترنتی، Thuisbezorgd و پلتفرمهای ارسال، شمارهٔ سفارشی که مهمان یا پیک از قبل دارد؛ در غیر این صورت شمارهٔ تحویل (1 تا 999). این شماره بزرگ روی رسید چاپ میشود، با این توضیح که وقتی سفارش آماده شد روی صفحه نمایش داده میشود (به زبان رسید).
اختیاری (بهطور پیشفرض خاموش، در تنظیمات):
- اعلام شماره با صدا: برای هر شماره آماده جدید، صفحه به زبان انتخابشده (هلندی، انگلیسی، آلمانی، فرانسوی، اسپانیایی، ایتالیایی، پرتغالی، لهستانی، ترکی یا عربی) مثلاً "Nummer 42…" را میگوید. صدا از مرورگر صفحهنمایش میآید و در هر دستگاه متفاوت است؛ پس از باز کردن یک بار روی صفحه بزنید. بعد از زنگ، اگر صدا هم روشن باشد.
- وضعیت سفارش روی گوشی: زیر شماره تحویل روی رسید یک کد QR میآید. مهمان آن را اسکن میکند، شماره و وضعیت (سفارش داده شد، در حال آمادهسازی، آماده، تحویل گرفته شد) را میبیند و وقتی سفارش آماده شد اعلان میگیرد. این از طریق پورتال مدیریت کار میکند، پس صندوق باید به آن وصل باشد. نه برای فروشگاه آنلاین و Thuisbezorgd (وضعیت خودشان را دارند) و نه برای کیوسک (تنظیم خودش را دارد).
در صندوق دکمهٔ صدا زدن هست (با تعداد سفارشهایی که هنوز در حال آمادهسازیاند):
- آماده یک شماره را دستی آماده میکند (بدون نمایشگر آشپزخانه، یا اگر سریعتر است). در سفارش فروشگاه اینترنتی یا Thuisbezorgd وضعیت هم تغییر میکند، پس مشتری هم خبردار میشود.
- بازگشت آن را دوباره به در حال آمادهسازی برمیگرداند.
- تحویل گرفته شد آن را از نمایشگر برمیدارد (با واگرد).
در تنظیم همچنین انتخاب میکنید که نام کوچک کنار شماره باشد یا نه (پیشفرض نه، برای حریم خصوصی) و اینکه نمایشگر صدا بدهد یا نه. خاموش کردن: دکمهٔ صدا زدن و شمارهٔ تحویل روی رسید نیست؛ تنظیمات ذخیره میمانند. در گزارش کارها ثبت میشود چه کسی چه چیزی را دستی آماده، برگردانده یا تحویلشده کرده است.
ورود و خروج کاری
ثبت ورود و خروج بهطور پیشفرض خاموش است: در این حالت هیچجای صندوق دیده نمیشود (نه دکمه در نوار بالا، نه در صفحهی ورود، نه زبانهی ساعات کاری). آن را از طریق تنظیمات ← کسبوکار، زیر ثبت ورود و خروج کارکنان روشن کنید:
- خاموش: استفاده نشود. اگر بعداً ثبت ورود و خروج را خاموش کنید، دیگر در هیچ جا دیده نمیشود، اما ساعتهای ثبتشده قبلی حفظ میشوند (چیزی پاک نمیشود)؛ اگر دوباره روشنش کنید، دوباره نمایش داده میشوند.
- روشن: کارکنان میتوانند ورود و خروج کاری ثبت کنند. پس از ورود به حساب، صندوق میپرسد آیا میخواهید ورود کاری ثبت کنید (الان نه مجاز است). سپس در نوار بالا ثبت ورود یا ورود ثبت شده 17:02 نمایش داده میشود؛ برای ثبت خروج روی آن بزنید.
- اجباری: پس از ورود به حساب، اول ورود کاری را ثبت کنید، وگرنه نمیتوانید از صندوق استفاده کنید. ثبت خروج کاری، شما را فوراً از حساب هم خارج میکند.
کسی که از صندوق استفاده نمیکند (مثلاً آشپزخانه) در صفحهی ورود ثبت میکند: روی ثبت ورود / خروج بزنید و کد پین خود را وارد کنید. این بین ورود و خروج جابهجا میشود، بدون ورود به حساب.
اگر ثبت ورود و خروج روشن باشد، مدیر سیستم در تنظیمات ← ساعات کاری میبیند:
- چه کسی الان ورود ثبت کرده است (و میتواند خروج کسی را که فراموش کرده ثبت کند)؛
- ساعات کارکرد هر کارمند در هر دوره، با همهی شیفتها، و دانلود بهصورت CSV (ساعتها بهصورت عدد اعشاری هم، برای حسابداری حقوق)؛
- ویرایش یا افزودن شیفت (روی یک شیفت بزنید، یا + افزودن شیفت). هر تغییر با زمانهای قدیم و جدید در گزارش رویدادها ثبت میشود.
در بلژیک هر ثبت ورود و خروج به جعبهی سیاه (zwarte doos) هم گزارش میشود. اگر در دسترس نباشد، ثبت انجام نمیشود (مثل تسویه حساب). اینکه این دقیقاً با ثبت حضور کارکنان در بلژیک مطابقت دارد یا نه، هنوز باید تأیید شود.
وزنکردن و برچسب (ترازو)
اگر ترازو روشن باشد (تنظیمات ← ترازو)، محصولات میتوانند قیمت هر کیلو داشته باشند. همهی محصولات دیگر مثل قبل عددی میمانند.
- وزن کردن: روی محصولی با قیمت هر کیلو بزنید (دکمه مثلاً
12,95/kgرا نشان میدهد). پنجرهی وزن کردن وزن ترازو (مثلاً یک Aclas OS6X، یا ترازویی که خود صندوق روی آن اجرا میشود) را زنده نشان میدهد؛ سبز = ثابت. محصول را روی ترازو بگذارید و به محض ثابت شدن وزن روی افزودن بزنید. قیمت برابر قیمت هر کیلو × وزن است (گرد شده تا سنت)؛ وزن ظرف (تارا) محصول خودکار کم میشود. اگر محصول گزینههای انتخابی داشته باشد، آنها بعد از این میآیند. - چند ترازو: اگر چند ترازو وجود داشته باشد، بالای پنجره انتخاب میکنید با کدام وزن کنید. هر صندوق/تبلت انتخاب خود را به خاطر میسپارد.
- دستی: اگر ترازو نیست (یا وارد کردن دستی مجاز است)، وزن را تایپ کنید:
0,512یا1,2کیلو است،512یا512 gگرم است. - برچسب TS6X: بارکد برچسب را با بارکدخوان در صفحهی سفارش اسکن کنید (فقط اسکن کنید، لازم نیست چیزی باز باشد)، یا روی برچسب بزنید و 13 رقم را اسکن یا تایپ کنید. محصول (PLU) و وزن از برچسب خوانده میشوند. اگر قیمتی روی برچسب باشد، صندوق دقیقاً همان قیمت را حساب میکند.
- روی صفحه، رسید صندوق و نمایشگر مشتری وزن هم نمایش داده میشود، مثلاً
Gehakt 6,63و زیر آن0,512 kg x € 12,95/kg؛ روی فیش سفارش0,512 kg Gehakt. تقسیم، جابهجایی و مرجوعی بر حسب کیلو انجام میشوند. - محصول وزنی فقط با اتصال به سرور صندوق ممکن است (وزن از طریق سرور صندوق میآید).
Uber Eats، Deliveroo و HubRise
علاوه بر Thuisbezorgd.nl / Takeaway.com، سفارشهای Uber Eats (هلند و بلژیک)، Deliveroo (فقط بلژیک؛ Deliveroo اواخر 2022 از هلند رفت) و هر آنچه روی HubRise است (از جمله Uber Eats، Deliveroo، Just Eat/Takeaway.com و اپهای سفارش کوچکتر) هم وارد صندوق میشوند. هر پلتفرم جداگانه در تنظیمات ← پلتفرمهای ارسال غذا (پیشفرض خاموش، خاموش کردن همه چیز را حفظ میکند) روشن میشود. این زبانه برای هر پلتفرم نشان میدهد در کدام کشورها کار میکند و اگر در کشور کسبوکار کار نکند هشدار میدهد.
- روشن کنید، سپس ورود به Uber Eats و اتصال فروشگاه (کسبوکار با حساب Uber Eats خودش وارد میشود). اگر حساب چند فروشگاه دارد، شناسهٔ فروشگاه (store id) را وارد کنید و دوباره وارد شوید. Uber Eats باید ابتدا Pin Voordeel را بهعنوان شریک تأیید کند.
- Deliveroo: مستقیم، از طریق پرتال. شناسهٔ سایت (location id) و شناسهٔ برند (brand id) را وارد کنید. بدون تبلت (پیشفرض): صندوق میپذیرد یا رد میکند؛ با تبلت: کسبوکار روی تبلت میپذیرد و پرتال فقط اعلام میکند که سفارش در صندوق هست یا نه.
- HubRise: صندوق خودش سفارشها را دریافت میکند (هر 20 ثانیه، پرتال لازم نیست).
- برای هر پلتفرم: پذیرش خودکار، فیش آشپزخانه فوراً به آشپزخانه/بار و (Uber Eats، Deliveroo) ارسال خودکار منو پس از هر تغییر و ارسال منو اکنون. در منو محصولاتی هستند که زیر محصولات در منوی Uber Eats و Deliveroo علامت خوردهاند، با گزینهها؛ وضعیت «تمام شد» هم منتقل میشود.
سفارشها. هر سفارش یک سفارش عادی میشود (bezorgen یا afhalen، نام گروه <platform> <nummer>) با قیمتهای پلتفرم: محصولات با شناسه (از منو)، کد یا شمارهٔ PLU شناخته میشوند، ناشناخته = یک ردیف جدا با قیمت پلتفرم (و یک پیام)؛ هزینهٔ ارسال، هزینههای اضافه و تخفیف بهصورت ردیفهای جدا؛ اگر باز هم جمع کل درست نباشد، یک ردیف "اختلاف". فیش آشپزخانه فوراً به آشپزخانه/بار میرود. دکمهٔ پلتفرمها در نوار بالا (با تعداد سفارشهای جاری؛ نارنجی اگر چیزی برای پذیرش باشد): پذیرفتن یا رد کردن (با دلیل)، در حال آمادهسازی، آماده، در راه، تحویلشده یا برداشتهشده، لغو، و تکمیل (پرداخت آنلاین). آنچه پلتفرم میشناسد به آن برمیگردد (Uber Eats: پذیرش، رد، لغو؛ Deliveroo: پذیرش، رد، در حال آمادهسازی، آماده، برداشتهشده؛ HubRise: همهٔ وضعیتها). اگر کسبوکار خودش ارسال کند (ارسال توسط خود رستوران)، سفارش در سرویسها هم هست و حرکت و تحویل خودکار به پلتفرم میروند. لغو از سوی پلتفرم سفارش را منقضی میکند. اگر صندوق بیش از 2 دقیقه به پرتال وصل نباشد، پرتال سفارش جدید Uber Eats را رد میکند و به Deliveroo (با تبلت) میگوید که موفق نشد، تا کسبوکار آن را روی تبلت ببیند.
کد: apps/pos-server/src/lib/bezorgplatforms.ts، routes/bezorgplatforms.ts؛ صفحهها Bezorgplatforms.tsx. سمت پرتال: horecapos-portaal/src/platforms.mjs. گزارش رویدادها: پلتفرمهای ارسال غذا (روشن/خاموش، تنظیمات، سفارشها). همهچیز در نسخههای پشتیبان صندوق هست.
پلتفرمهای کوچکتر در هلند و بلژیک (Homie، Hebtrek، sneleten.nl، Bistroo ...) اتصال صندوق عمومی ندارند؛ اگر روی HubRise باشند، از طریق HubRise کار میکنند. بیشتر: فهرست کارها (backlog) را ببینید.
دستگاه پول نقد (سیستم بستهی پول نقد)
بهطور پیشفرض خاموش: پرداخت نقدی مثل همیشه کار میکند. در سیستم بستهی پول نقد، کارکنان به پول نقد دست نمیزنند: مشتری یا کارمند پول را در دستگاه میگذارد؛ دستگاه آن را میشمارد، از نظر پول تقلبی بررسی میکند و پول خرد برمیگرداند.
- دستگاههایی که صندوق مستقیماً با آنها ارتباط دارد:
- CashDro (3، 4+، 5، 7، S Compact؛ NuKassa، KluisKassa): از طریق شبکه (web service). روی CashDro گزینهی Web Integration را روشن کنید و یک کاربر جداگانه برای صندوق بسازید.
- Cashmatic (SelfPay 460/860/1060؛ در بلژیک Xpos): از طریق شبکه (پورت 50301) با یک کاربر Cashmatic.
- Azkoyen Cashlogy (POS1000، POS1500): از طریق CashlogyConnector روی یک رایانهی Windows کنار دستگاه (پورت 8092).
- CashKeeper: از طریق CKMonitor روی یک رایانهی Windows (پورت 16501).
- Glory CASHINFINITY (CI-5، CI-10، CI-10X؛ از طریق Cikam هم): از طریق کنترلگر (FCC) دستگاه. هنوز بتا است: اولین اتصال را به Glory یا فروشندهی خود بدهید تا بررسی کند.
- خارجی: نرمافزار دیگری دستگاه را کنترل میکند و با صندوق ارتباط دارد (مانند Cikam، ImaCash برای 25 برند، نرمافزار CashGuard/StrongPoint (Merlin)، PayComplete (SUZOHAPP)، Gunnebo SafePay یا برندهای فرانسوی مانند CashMag).
- دستگاه آزمایشی: بدون سختافزار، برای تمرین یا نمایش. با تست اتصال نشانی و ورود را بررسی میکنید. دستگاه را در شبکهی خودتان قرار دهید (هرگز به روی اینترنت باز نباشد) و برای صندوق یک کاربر جداگانه استفاده کنید، نه مدیر.
- تسویه حساب با نقدی: پرداخت در دستگاه پول نقد پرداخت را برای مبلغ شروع میکند (اگر روشن باشد گردشده برای نقدی، بهاضافهی انعام؛ در تقسیم صورتحساب، همان بخش). صفحه نشان میدهد چه مقدار وارد شده و چه مقدار برمیگردد؛ صندوق فقط وقتی تسویه میکند که دستگاه آماده اعلام کند. لغو = دستگاه پول را برمیگرداند. اگر دستگاه نتوانست همهی پول خرد را بدهد (سکهی کافی نبود)، کنار آن نوشته میشود چه مقدار باید از کشوی پول داده شود. پرداخت موفقی که هنوز تسویه نشده (مثلاً تبلت از کار افتاده) در همان سفارش دوباره پیدا میشود.
- نقدی فقط از طریق دستگاه (بهطور پیشفرض روشن): در این حالت سرور صندوق پرداخت نقدی را فقط با یک پرداخت موفق در دستگاه برای دقیقاً همان سفارش و همان مبلغ میپذیرد. خاموش = پرداخت نقدی معمولی در کشو هم ممکن است.
- کشوی پول (گزارش ← صندوق، دسترسی مدیریت کشوی پول): دریافت موجودی (به تفکیک هر سکه و اسکناس، در Cashmatic، Cashlogy، Glory و دستگاه آزمایشی)، بیرون دادن پول با دلیل (مثلاً پول خرد برای کشو)، پر کردن و برداشت مازاد (پول خرد میماند؛ در Cashmatic). مبلغ مورد انتظار در کشوی صندوق پول داخل دستگاه را حساب نمیکند (آن جداگانه زیرش آمده است: در دستگاه پول نقد)، اما پول خردی را که باید از کشو داده میشد حساب میکند.
دکمهٔ ©
پایین سمت راست هر صفحه (کد پین، نقشهی سالن، سفارش و آشپزخانه) یک دکمهی کوچک © قرار دارد. این دکمه اطلاعات OptimumPOS را باز میکند: لوگو، آدرس، تلفن، ایمیل و وبسایت. آیکون بهصورت محلی در برنامه است و بنابراین بدون اینترنت هم کار میکند. همین آیکون، آیکون برنامه هم هست (زبانه و صفحهی اصلی).
بخش 2 · مدیر
شروع کار
مدیر بهطور پیشفرض هر کاری که کارکنان سالن میتوانند انجام دهد، و علاوه بر آن از جمله تخفیف بدهد، مرجوعی ثبت کند، روز را ببندد، کشوی پول را مدیریت کند و گزارش رویدادها و موجودی انبار را ببیند. اینها بیشتر زیر دکمهی گزارش هستند:
- وضعیت میانی (X): فروش تا این لحظه، بدون بستن روز.
- کشوی پول: پول اولیه، ورود/خروج پول و باز کردن کشو.
- بستن روز (Z): در پایان روز؛ پس از آن روز جدیدی شروع میشود.
- گزارشهای Z قبلی، فروش در هر دوره و داشبورد.
- گزارش رویدادها، کارتهای هدیه و مشتریان.
موجودی انبار
بهطور پیشفرض خاموش. روشنکردن از تنظیمات ← مجموعه ← پیگیری موجودی. خاموش = هیچجای صندوق دیده نمیشود.
- برای هر محصول در تنظیمات ← محصولات ← (محصول) ← موجودی انتخاب میکنید:
- هیچ: مثل همیشه؛
- برای هر محصول: هر فروش 1 عدد کم میکند (مثلاً بطری، قوطی)، با یک سطح هشدار برای "رو به اتمام"؛
- از طریق مواد اولیه: یک دستور پخت، مثلاً همبرگر = 1 نان + 150 گرم گوشت + 1 برش پنیر. هر فروش مواد اولیه را کم میکند.
- تنظیمات ← موجودی (دسترسی مدیریت موجودی، بهطور پیشفرض مدیر و مدیر سیستم):
- محصولات و مواد اولیه: مقدار موجودی، با تمام / رو به اتمام؛ فیلتر "فقط (رو به) اتمام" و خروجی CSV.
- برای هر محصول یا مادهٔ اولیه ثبت میکنید: دریافت (+) (تحویل کالا)، شمارش (=) (تعداد شمردهشده موجودی جدید میشود) یا کسر (−) (شکستگی، تاریخگذشته؛ دلیل الزامی است).
- ساخت مواد اولیه با واحد (عدد، g، kg، ml، cl، l، پرس، بطری، بشکه) و سطح هشدار.
- تاریخچه: همهٔ تغییرات (فروش، ابطال، دریافت، شمارش، کسر) با اینکه چه کسی و چه زمانی. کارهای مدیریتی در گزارش رویدادها هم ثبت میشوند.
- کسر از موجودی هنگام ارسال سفارش انجام میشود (یا هنگام پرداخت، برای چیزهایی که مستقیم پرداخت شدهاند). ابطال آن را برمیگرداند. تقسیم و جابهجایی دوبار حساب نمیشوند. در منوها غذاها کم میشوند، نه ردیف منو. مرجوعیها (فیش برگشتی) برگردانده نمیشوند (کالای برگشتی معمولاً دیگر قابل فروش نیست)؛ در صورت نیاز آن را بهعنوان دریافت ثبت کنید.
- اگر موجودی تمام شود (یا یک مادهٔ اولیه برای یک بار دیگر کافی نباشد)، محصول روی همهٔ صندوقها خودکار ناموجود میشود. وقتی رو به اتمام است، روی دکمهٔ محصول N مانده نوشته میشود. بعد از دریافت یا شمارش، فوراً دوباره قابل سفارش است. سرور صندوق هم محصول را رد میکند ("Pils" تمام شده است (موجودی 0))، پس حتی از تبلتی که هنوز خبر نداشت.
- موجودی میتواند کمتر از 0 شود (مثلاً دو تبلت همزمان، یا سفارش آفلاین)؛ شمارش آن را دوباره درست میکند.
- لیست سفارش: تنظیمات ← موجودی ← لیست سفارش. برای هر محصول (برای هر محصول) و هر مادهٔ اولیه، علاوه بر سطح هشدار، تکمیل تا و تأمینکننده را هم تنظیم میکنید. در لیست سفارش هر چیزی که در سطح هشدار یا کمتر از آن است دیده میشود (بدون سطح هشدار: در 0)، به تفکیک تأمینکننده، با پیشنهاد تکمیل تا − موجودی. تعدادها قابل تغییرند و میشود تیک آنها را زد یا برداشت. بعد چاپ (چاپگر فیش)، کپی (برای ایمیل یا WhatsApp)، خروجی (CSV)، و بعد از تحویل تحویل شد: ثبت بهعنوان دریافت (همه را یکجا ثبت میکند). با تیک بالای صفحه چیزهایی را هم که هنوز تمام نشدهاند میبینید، برای سفارش اضافه.
- گزینهها: در یک گروه گزینه (تنظیمات ← محصولات ← گزینهها) دکمهٔ موجودی هست. برای هر گزینه مواد اولیه را به ازای هر عدد وارد کنید، مثلاً پنیر اضافه = 1 برش پنیر، سیبزمینی سرخکرده = 150 گرم سیبزمینی. وقتی گزینه انتخاب شود، آن مواد به ازای هر عدد کم میشوند (حتی اگر خود محصول موجودی را پیگیری نکند؛ با ابطال برمیگردند). اگر یک مادهٔ اولیه تمام شده باشد، گزینه روی صندوق به شکل (تمام) نشان داده میشود و قابل انتخاب نیست.
سفارش به تأمینکنندگان
بهطور پیشفرض خاموش. روشن کردن در تنظیمات ← موجودی ← سفارش به تأمینکنندگان (فقط وقتی پیگیری موجودی روشن است). خاموش = فهرست سفارش مثل همیشه کار میکند.
- تأمینکنندگان (زبانهی تأمینکنندگان): یکی را از فهرست انتخاب کنید یا تأمینکنندهی خودتان را بسازید. فهرست شامل عمدهفروشان و cash & carry (Sligro, Sligro-ISPC/Sligro-M, HANOS, Makro, De Kweker, Horeca Totaal, Van Zon, zegro, Lekkerland)، خدمات غذایی (Bidfood و Bidfood Belgium, Solucious, Chefs Culinar, Java, Q-Food, Agora Culinair, VHC Jongens/Kreko/Actifood, Hocras, Van Hoeckel ...)، عمدهفروشان نوشیدنی (De Klok, Henk Smit, Horesca, De Monnik, Hansen, Dranken Geers ...)، آبجوسازان و نوشابه (Heineken از طریق Sligro, AB InBev/BEES, Alken-Maes, Haacht, Duvel Moortgat, Martens, Coca-Cola, Spadel, Grolsch, Bavaria)، تأمینکنندگان محصولات تازه (Van Gelder, Driessen, FiliusKaas, Bakkers Brigade, Rungis ...)، غیرخوراکی (Bunzl, Takeaware, Supplierz)، فروشگاه آنلاین شراب Vinify.nl و پلتفرمهای سفارش (Apicbase, Exact Horeko, Growzer, inOne, Cuisin.io, OrderXL) است. فقط تأمینکنندگان کشور محل کسبوکار در آن هستند. اگر یکی را انتخاب کنید، روش سفارش، فایل و ستونها از قبل درست تنظیم شدهاند؛ برای هر تأمینکننده نوشته شده که چگونه از آن سفارش دهید.
- برای هر تأمینکننده: شماره مشتری، سفارش از طریق:
- ایمیل: سفارش بهصورت ایمیل (با جدول) به نشانی ایمیل سفارش، بهطور اختیاری یک رونوشت، با فهرست سفارش بهعنوان پیوست: CSV، Excel، CSV برای Care4Fresh (بسیاری از عمدهفروشان محصولات تازه)، UBL 2.1 Order (Peppol BIS Order)، EANCOM ORDERS (D96A در هلند، D01B/HO2C در بلژیک) یا cXML. پاسخها به نشانی ایمیل کسبوکار میرسند.
- فایل: صندوق فایل را میسازد، شما آن را در فروشگاه اینترنتی تأمینکننده بارگذاری میکنید (مثلاً Bunzl Snel bestellen:
artikel;aantal، Takeaware:SKU,Quantity). جداکننده، سطر عنوان و ستونها قابل تنظیماند (artikel،ean،omschrijving،aantal،eenheid،prijs،totaal؛ باartikel=SKUبه عنوان ستون نام دلخواه میدهید). - اتصال (cXML): یک cXML OrderRequest با شماره مشتری و رمز مشترک به نشانی سفارش تأمینکننده، همانطور که سیستمهای خرید به Sligro، HANOS و Bidfood میفرستند. نشانی، شماره مشتری و رمز را از تأمینکننده دریافت میکنید (Sligro: koppelingen@sligro.nl). رمز هرگز به صفحه بازنمیگردد.
- در هر دو نوع اتصال میتوان از نام کاربری و رمز عبور (Basic) و هدرهای اضافی (هر کدام در یک خط، مثلاً
X-Api-Key: ...) نیز استفاده کرد. - بارگذاری (SFTP/FTPS): صندوق فایل (EANCOM، UBL، CSV، Excel ...) را خودش در پوشهای روی سرور تأمینکننده قرار میدهد، همانطور که بسیاری از عمدهفروشان سفارشهای EDI را دریافت میکنند. SFTP (SSH)، FTPS (صریح روی پورت 21 یا ضمنی روی پورت 990) یا، فقط در شبکهٔ داخلی خودتان، FTP. ورود با رمز عبور یا کلید SSH (OpenSSH، PEM یا PuTTY .ppk؛ ed25519، ECDSA یا RSA). ساخت کلید یک جفت کلید در صندوق میسازد؛ کلید عمومی را برای تأمینکننده میفرستید. تست اتصال وارد میشود و پوشه را جستوجو میکند. اثر انگشت سرور SFTP در اولین اتصال ثبت و پس از آن بررسی میشود (سرور دیگری رمز عبور را دریافت نمیکند)؛ در FTPS با گواهی اختصاصی، اثر انگشت گواهی را ثابت میکنید. به هیچ نرمافزار اضافی نیازی نیست.
- چاپ: سفارش روی چاپگر رسید، برای اعلام تلفنی.
- رمزهای عبور، کلیدها، توکنها و هدرها هرگز به صفحه بازنمیگردند (خالی گذاشتن = حفظ، پاک کردن = حذف).
- درخواست اتصال: برای هر تأمینکننده، صندوق یک ایمیل برای درخواست اتصال (cXML، EDI از طریق SFTP/FTPS، UBL/Peppol یا API اختصاصی تأمینکننده) با اطلاعات کسبوکار (نام، نشانی، شمارهٔ مالیات بر ارزش افزوده، شمارهٔ مشتری، GLN) و موارد لازم تهیه میکند؛ در EDI همراه با کلید عمومی. ویرایش و ارسال کنید؛ یک رونوشت و پاسخها به ایمیل کسبوکار میروند. تاریخ درخواست نزد تأمینکننده نمایش داده میشود. برای Sligro به koppelingen@sligro.nl میرود، در غیر این صورت نشانی مدیر حساب خود را وارد کنید.
- یک تأمینکنندهٔ اختصاصی (نه از فهرست) همه کار میتواند بکند بهجز آنچه خود تأمینکننده باید ارائه دهد: ایمیل، فایل و چاپ همیشه کار میکنند؛ اتصال یا بارگذاری فقط با اطلاعات همان تأمینکننده.
- روزهای سفارش و تحویل: روزهای سفارش، آخرین زمان، مدت تحویل (تاریخ تحویل دلخواه روی سفارش) و حداقل مبلغ سفارش. خودکار: در روزهای سفارش از آن زمان به بعد، صندوق خودش یک سفارش را بهصورت پیشنویس آماده میکند (شما آن را بررسی میکنید) یا فوراً ارسال میکند (از طریق ایمیل، بارگذاری یا اتصال؛ زیر حداقل مبلغ سفارش فقط بهصورت پیشنویس آماده میشود). یک بار در روز برای هر تأمینکننده.
- برای هر محصول (تنظیمات ← محصولات ← (محصول) ← موجودی، در به ازای هر محصول) و برای هر مادهی اولیه: سفارش به (تأمینکننده)، شماره سفارش کالا نزد آن تأمینکننده، EAN، در هر بستهبندی (جعبهی 24تایی = 24)، نام بستهبندی و قیمت خرید هر بستهبندی. حد هشدار زمان سفارش دادن است؛ شارژ تا مقداری است که آنوقت باید موجود باشد.
- سفارشهای خرید (زبانهی سفارشهای خرید):
- پیشنهاد سفارش برای هر تأمینکننده: همهی اقلامی که در حد هشدار یا پایینتر از آن هستند. آنچه قبلاً سفارش داده شده و هنوز نرسیده (در راه) حساب میشود تا چیزی را دو بار سفارش ندهید. پیشنهاد = شارژ تا − موجودی − در راه (بدون شارژ تا: تا حد هشدار)، رو به بالا گرد به بستهبندی کامل. تعدادها را تغییر دهید و ساخت سفارش را بزنید.
- هر سفارش ابتدا آمادهشده است: تعدادها، ردیفهای جداگانه (بدون محصول، مثلاً دستمال سفره)، یادداشت و تاریخ تحویل هنوز قابل تغییرند. سپس ارسال (به روش تأمینکننده یا یک بار به روشی دیگر). اگر ناموفق باشد (مثلاً تأمینکننده رد کند)، دلیل کنار آن نوشته میشود و میتوانید دوباره امتحان کنید.
- دریافت: برای هر ردیف تعداد دریافتشده (از قبل روی تعداد سفارشدادهشده تنظیم است)؛ موجودی به ازای هر بستهبندی افزایش مییابد (2 جعبهی 24تایی = 48)، و سفارش در تاریخچه ثبت میشود.
- هر فایل (CSV، Excel، UBL، EANCOM، cXML) را جداگانه هم میتوان دانلود کرد.
- ارسالشده، ناموفق، دریافتشده و لغوشده در گزارش رویدادها ثبت میشوند. فهرست سفارش معمولی همچنان کار میکند؛ اگر برای یک محصول تأمینکنندهای از فهرست تعیین شده باشد، آن محصول آنجا زیر نام آن تأمینکننده میآید.
مدیریت نظرات
خواندن و پاسخ دادن به نظرات Google و Trustpilot در صندوق. روشن کردن در تنظیمات ← امتیاز و نظرات ← مدیریت نظرات (پیشفرض خاموش، در این صورت هیچجا چیزی از آن دیده نمیشود). خواندن و پاسخ در گزارش ← نظرات (مجوز خواندن و پاسخ دادن به نظرات، بهطور پیشفرض برای مدیر هم). اگر آن را خاموش کنید، اتصالها و نظرات حفظ میشوند.
- پس از آن هر کسبوکار فقط روی اتصال به Google میزند و با حساب Google خودِ نمایهٔ کسبوکار وارد میشود. کلید Places را هم میتوان بهصورت مرکزی تنظیم کرد (در این صورت هزینهها با تأمینکننده است). Trustpilot برای هر کسبوکار جداست: هر کسبوکار حساب Trustpilot Business خودش را دارد (API جزو اشتراک پولی است) و کلید، رمز و business user ID از همان میآیند. در صندوق کنار هر روش "چه کسی این را تنظیم میکند؟" آمده است.
- برنامه تأمینکننده (از طریق پورتال مشتریان): اگر برنامه Google و/یا برنامه Trustpilot تأمینکننده در پورتال مشتریان باشد (README مربوط به horecapos-portaal، بخش "Reviews: apps van de leverancier" را ببینید)، مدیر در ورود و کلیدها گزینه برنامه تأمینکننده را انتخاب میکند (اگر پورتال برنامه را داشته باشد، برای اتصال جدید پیشفرض است). کسبوکار روی اتصال به Google یا ورود با Trustpilot میزند و با حساب خودش وارد میشود؛ صندوق خودش منتظر میماند تا ورود کامل شود (هر 3 ثانیه، حداکثر 15 دقیقه) و tokens را یک بار از پورتال دریافت میکند. تازهسازی هم از طریق پورتال انجام میشود. در صندوق به client-ID، secret یا کلید API نیازی نیست؛ برای Trustpilot اما دامنه و برای پاسخها business user ID لازم است. در این حالت Trustpilot عمومی با کلید پورتال میخواند. به
PORTAAL_URLوPORTAAL_SLEUTELنیاز دارد. برنامه خودتان یا کلید API مانند توضیحات زیر به کار خود ادامه میدهد. - نظرات متعلق به کیست: نظرات روی نمایه کسبوکار Google و صفحه Trustpilot خودِ کسبوکار میمانند و صندوق آنها را فقط در پایگاه داده خودِ صندوق نگه میدارد. پاسخها با نام کسبوکار نمایش داده میشوند. پورتال فقط ورود را منتقل میکند (در حافظه، حداکثر 15 دقیقه، فقط یک بار قابل دریافت) و هیچ نظر یا tokens ذخیره نمیکند؛ نام برنامه تأمینکننده فقط در صفحه رضایت دیده میشود.
- خودتان ثبتنام کنید: کنار هر پلتفرم پیوندی هست تا خودتان یک نمایه کسبوکار Google (business.google.com/create) یا یک حساب Trustpilot Business (business.trustpilot.com) بسازید، و در Trustpilot پیوندی به اشتراکها (business.trustpilot.com/plans). ثبتنام و پرداخت در خودِ پلتفرم انجام میشود؛ API برای آن وجود ندارد.
- سپس اتصال به Google و ورود با حسابی که نمایه کسبوکار را مدیریت میکند. یک شعبه در نمایه = بلافاصله انتخاب میشود؛ بیشتر = انتخاب در صندوق.
- Google Places (فقط خواندنی): با Place ID و کلید API از Places API (یا
GOOGLE_PLACES_API_KEY): میانگین، تعداد نظرات و 5 نظر مرتبطتر. با این روش نمیتوان پاسخ داد. - Trustpilot Business (خواندن و پاسخ): کلید API و رمز API یک برنامه در Trustpilot Business (Integrations ← API؛ یا
TRUSTPILOT_API_KEYوTRUSTPILOT_API_SECRET)، دامنهٔ کسبوکار (صندوق business unit را پیدا میکند) و برای پاسخ دادن، business user ID کسی که پاسخ میدهد. - Trustpilot عمومی (فقط خواندنی): فقط کلید API.
- صندوق هر 30 دقیقه دریافت میکند (و بلافاصله پس از اتصال؛ اکنون دریافت کن). صندوق نشانی ایمیل و شمارهٔ سفارش مهمان (که Trustpilot همراه میفرستد) را ذخیره نمیکند.
- گزارش ← نظرات: میانگین، تعداد برای هر ستاره، بدون پاسخ و خواندهنشده؛ فیلتر بر اساس پلتفرم، ستارهها، بدون پاسخ و خواندهنشده. برای هر نظر پاسخ (حداکثر 4000 نویسه؛ همه میتوانند آن را بخوانند)، ویرایش پاسخ، حذف پاسخ و خوانده شد. نظر جدید یا ویرایششده خواندهنشده است. در گزارش رویدادها review_beantwoord و review_antwoord_weg ثبت میشوند.
- قطع اتصال، نظرات دریافتشده را نگه میدارد.
بازاریابی پیامکی و ایمیلی
پیام برای مشتریان کارت مشتری که برای آن اجازه دادهاند. بدون کارت مشتری هیچکدام از این دو روشن نمیشود.
- اجازه برای هر مشتری و هر کانال: هنگام ثبت مشتری جدید در صندوق، تیکهای "مشتری میخواهد کمپینها را با پیامک دریافت کند" و "... با ایمیل دریافت کند" هست (بهطور پیشفرض خاموش). در گزارش → مشتریان اجازه (با تاریخی که داده شده) و تولد (فقط روز و ماه) را میبینید و تغییر میدهید. لغو اشتراک: تیکها را بردارید و ذخیره کنید.
- بهروزرسانی فوری منو: اگر بازاریابی یا کارت مشتری را روشن یا خاموش کنید، صندوق ظرف چند ثانیه منو را دوباره به فروشگاه اینترنتی میفرستد (فقط اگر چیزی تغییر کرده باشد)، تا تیک فوراً نمایش داده شود یا نشود.
- رضایت از طریق فروشگاه اینترنتی: اگر کسبوکار فروشگاه اینترنتی داشته باشد، هنگام پرداخت تیک "میخواهم پیشنهادها را از طریق ایمیل/پیامک دریافت کنم" نمایش داده میشود (فقط کانالهای روشن؛ بهطور پیشفرض خاموش). وقتی چنین سفارشی برسد، صندوق مشتری را با شمارهٔ تلفن (وگرنه با آدرس ایمیل) پیدا میکند، در صورت نیاز او را میسازد و رضایت را با تاریخ ثبت میکند. شماره یا آدرسِ ناقصِ مشتری موجود تکمیل میشود؛ در گزارش رویدادها klant_toestemming با منبع webshop ثبت میشود.
- گزارش → بازاریابی (دسترسی مدیریت کارت مشتری): در بالا میبینید چند مشتری برای پیامک و چند مشتری برای ایمیل اجازه دادهاند.
- کمپینها (یکباره): نام، پیامک یا ایمیل، (موضوع،) متن با
{naam}،{zaak}و{punten}، و در صورت تمایل فقط مشتریانی که مدتی نیامدهاند یا حداقل این تعداد امتیاز دارند. مشاهده نشان میدهد به چند مشتری میرسد، پیام را همانطور که مشتری دریافت میکند، و تعداد پیامک برای هر مشتری. ارسال آزمایشی به شماره یا آدرس خودتان. سپس ارسال: صندوق در پسزمینه ارسال میکند (حداکثر 1000 در هر نوبت) و میشمارد چه چیزی ارسال شد و چه چیزی ناموفق بود. هیچکس یک کمپین را دو بار دریافت نمیکند؛ اگر صندوق در میانه متوقف شود، ادامهٔ ارسال از کسانی ادامه میدهد که هنوز چیزی نگرفتهاند. - ارسال از طریق Mailchimp یا Klaviyo (با اتصال به یک فهرست انتخابشده، پایین را ببینید): در یک کمپین ایمیلی، در ارسال از طریق صندوق (سرور ایمیل خودش، مانند بالا) یا Mailchimp یا Klaviyo را انتخاب میکنید. آنگاه صندوق اول فهرست را بهروز میکند (لغو اشتراکها، امتیازها) و آنجا کمپینی دقیقاً برای مشتریان انتخابشدهای که در فهرست هستند میسازد (Mailchimp: یک گروه ثابت در audience؛ Klaviyo: یک فهرست جداگانه برای کمپین)، و آن را با فرستندهٔ پیشفرض audience یا حساب ارسال میکند.
{naam}و{punten}را Mailchimp/Klaviyo برای هر مشتری پر میکند؛ لینک لغو اشتراک سرویس در پایین است. محدودیت 1000 در هر بار و کد تخفیف شخصی ({code}) وجود ندارد. اگر ارسال نشد، کمپین بهصورت پیشنویس با پیام خطا باقی میماند. زبانهٔ بازاریابی وقتی فقط اتصال فعال است هم وجود دارد (آنگاه فقط کمپین از طریق Mailchimp/Klaviyo؛ ارسال آزمایشی با سرور ایمیل صندوق ممکن است). پیامهای خودکار را صندوق همیشه خودش میفرستد؛ در Mailchimp/Klaviyo آنها را بهصورت Customer Journey یا Flow میسازید. کلید Klaviyo: مجوز نوشتن برای Campaigns و Templates هم لازم است (اگر قبلاً وارد شدهاید: دوباره وارد شوید). - بهصورت اعلان پوش از طریق فروشگاه اینترنتی (اگر در مدیریت فروشگاه اعلانهای پوش همراه با پیشنهادهای ویژه روشن باشد): در ارسال با گزینه اعلان پوش (فروشگاه اینترنتی بهصورت اپ) را انتخاب کنید، با یک عنوان (حداکثر 60 نویسه) و یک متن کوتاه (حداکثر 200 نویسه؛ فقط
{zaak}پر میشود، چون فروشگاه اینترنتی نمیداند مهمان کیست). صندوق پیشنهاد ویژه را از طریق پورتال مدیریت به فروشگاه اینترنتی میفرستد و فروشگاه آن را برای مهمانانی میفرستد که آنجا پیشنهادهای ویژه بهصورت اعلان را روشن کردهاند؛ با زدن روی آن منوی فروشگاه اینترنتی باز میشود. پس از چند ثانیه کنار پیشنهاد ویژه نشان داده میشود که چند اعلان رسیده است. حداکثر 3 در روز، همراه با آنچه کسبوکار از مدیریت فروشگاه میفرستد؛ در غیر این صورت پیشنهاد ویژه بهصورت پیشنویس با ذکر دلیل باقی میماند. زبانه بازاریابی حتی وقتی فقط همین روشن است هم نمایش داده میشود (بدون کارت مشتری یا بازاریابی ایمیلی). بدون کد تخفیف یا انتخاب (روزها، امتیازها)؛ برای آزمایش: در فروشگاه اینترنتی روی گوشی خودتان پیشنهادهای ویژه بهصورت اعلان را روشن کنید. - خودکار: یک پیام تولد (در روز تولد، سالی یک بار) و "دلمان برایتان تنگ شده" (پس از چند روز بدون مراجعه، یک بار برای هر دورهای که مشتری نمیآید). روشن/خاموش برای هر پیام؛ فقط در طول روز (10:00–20:00) ارسال میشوند.
- کد تخفیف شخصی (اختیاری، برای هر پیام یا پیشنهاد ویژه؛ فقط اگر کدهای تخفیف در تنظیمات → کسبوکار روشن باشد): هر مشتری کد مخصوص خودش را میگیرد، مثلاً
TERUG-7K4Q2M(تولدJARIG-…، پیشنهاد ویژهACTIE-…)، بهصورت درصد یا مبلغ ثابت، در صورت تمایل با حداقل مبلغ سفارش، یکبار قابل استفاده، به تعداد روزهای تعیینشده معتبر پس از ارسال (پیشفرض 30) و در صندوق و/یا در فروشگاه اینترنتی.{code}و{geldig}را هر جای متن که میخواهید بگذارید؛ در غیر این صورت صندوق زیر پیام "Uw kortingscode: … (10% korting, aan de kassa of in de webshop, geldig t/m …)" را میگذارد. مشاهده و ارسال آزمایشی یک کد نمونه نشان میدهند (TERUG-VOORBEELD، کار نمیکند). اگر ارسال انجام نشود، کد ساخته نمیشود. در پیشنهاد ویژه نوشته شده که چند کد صادر و استفاده شده است. - لغو اشتراک زیر هر پیام آمده است: در پیامک "لغو اشتراک؟ با ... تماس بگیرید یا در مراجعهٔ بعدی بگویید"، در ایمیل یک لینک لغو اشتراک به ایمیل کسبوکار (همچنین دکمهٔ لغو اشتراک در Gmail و Outlook). پاسخ به ایمیل به کسبوکار میرسد.
- حریم خصوصی (GDPR): فقط مشتریانی که اجازه دادهاند و شماره یا آدرس دارند؛ هیچ شماره یا آدرسی در گزارش رویدادها نیست، ولی برای هر کمپین ثبت میشود چند پیام ارسال شد و چند تا ناموفق بود. اگر مشتری را حذف کنید، از فهرست ارسال هم حذف میشود.
- هزینه: پیامکها از طریق حساب CM.com خودتان ارسال میشوند (بیش از 160 نویسه = چند پیامک برای هر مشتری). Gmail و سرورهای ایمیل دیگر سقف روزانه دارند؛ اگر مشتری زیاد دارید، در چند بخش ارسال کنید.
انعام هر کارمند
در تنظیمات ← مجموعه ← انعام (فقط اگر "نمایش دکمههای انعام هنگام پرداخت" روشن باشد) انتخاب میکنید انعام هر کارمند چطور در وضعیت میانی (X)، گزارش Z (فیش و ایمیل) و فروش در هر دوره (همچنین در CSV) بیاید:
| انتخاب | تقسیم |
|---|---|
| خاموش (پیشفرض) | فقط جمع انعام، مثل همیشه |
| انعام خود هر نفر | انعام صورتحسابهایی که هر کس خودش پرداخت گرفته |
| صندوق مشترک بر اساس ساعت | همهٔ انعامها با هم، بر اساس ساعتهای ورود کاری در آن دوره (به ورود و خروج کاری نیاز دارد؛ اگر کسی ثبت نکرده = مساوی) |
| صندوق مشترک مساوی | همهٔ انعامها با هم، بهطور مساوی بین کسانی که وارد کار شده بودند (بدون ثبت ساعت: هر کس چیزی ثبت کرده یا پرداخت گرفته) |
سنتهای باقیمانده به کسی میرسد که به سنت بعدی نزدیکتر است، تا جمع همیشه درست باشد. این فقط یک گزارش است: صندوق چیزی پرداخت نمیکند (این کار با "برداشت پول از کشو" ممکن است). گزارشهای Z قدیمی همانطور که بودند میمانند.
گزارش Z با ایمیل
در تنظیمات ← مجموعه ← ارسال گزارش Z به یک بار آدرس ایمیل مدیر سیستم را وارد کنید (چند آدرس: با کاما جدا کنید، حداکثر 3). بعد از بستن روز گزارش Z علاوه بر فیش چاپی خودکار به آن آدرس فرستاده میشود. خالی = بدون ایمیل، مثل همیشه.
- ارسال ایمیل در پسزمینه انجام میشود تا سرور ایمیل کند، بستن روز را معطل نکند.
- ناموفق بود یا دوباره لازم است: گزارش ← گزارشهای Z قبلی ← (گزارش) ← ارسال دوباره با ایمیل (با علامت KOPIE).
خلاصهٔ روز (اختیاری)
اگر در ارسال گزارش Z با ایمیل به آدرسی وارد شده باشد، زیر آن گزینهٔ با خلاصهای کوتاه از روز در بالای ایمیل هست (بهطور پیشفرض خاموش). روشن = در بالای ایمیل گزارش Z چند خط به زبان ساده، فقط از دادههای خود صندوق (بدون هوش مصنوعی، هیچ چیزی بیرون نمیرود):
- فروش، رسیدها و مهمانان و میانگین خرید هر رسید، در مقایسه با همان بازه یک هفته قبل (به درصد)؛ اگر آن موقع چیزی نبوده، این هم ذکر میشود؛
- 5 محصول پرفروش، و نکات قابل توجه: محصولاتی که دستکم 3 عدد بیشتر یا کمتر از هفتهٔ گذشته فروخته شدهاند؛
- تعداد ابطالها (در مقایسه با هفتهٔ گذشته) و شلوغترین ساعت (رسیدها و فروش).
خود گزارش Z (رسید و ایمیل) دقیقاً همان میماند. پیشنمایش امروز خلاصه را از آخرین بستن روز تا الان نشان میدهد. خلاصه به زبان هلندی است، مثل ایمیل گزارش Z.
داشبورد
زبانهٔ داشبورد در گزارش (دسترسی فروش در هر دوره)، فقط خواندنی:
- فروش ساعتی به شکل نمودار: روز انتخابشده (آبی) در کنار همان روز هفتهٔ قبل (خاکستری). امروز با هفتهٔ قبل تا همان ساعت مقایسه میشود تا درصد منصفانه باشد. با ◀ ▶ یا تاریخ، روز دیگری انتخاب کنید.
- کاشیها: فروش (± % نسبت به هفتهٔ قبل)، فیشها و میانگین هر فیش، میانگین خرج هر مهمان (فقط سرو در محل؛ بیرونبر/ارسال حساب نمیشود) برای آن روز و برای دورهٔ انتخابشده.
- 10 محصول برتر و شلوغترین ساعتها در 7، 28 یا 90 روز گذشته. شلوغترین ساعتها یک نقشهٔ حرارتی روز هفته × ساعت است (میانگین فروش در هر روز کاری) با سه ساعت شلوغتر در بالای آن؛ برای برنامهٔ شیفتها مفید است.
کارتهای هدیهٔ فروختهشده فروش حساب نمیشوند، و تخفیفها و سرتیترهای منو در 10 برتر نیستند (مثل گزارشهای دیگر). هر روز از 00:00 تا 24:00 است.
گزارشهای اضافی
سه زبانهٔ اضافی در گزارش، که هرکدام جداگانه از مسیر تنظیمات ← کسبوکار ← مدیریت و گزارشها ← گزارشهای اضافی روشن میشوند (پیشفرض خاموش: در این صورت زبانهای نیست). همان دسترسی فروش در هر بازه را لازم دارند و فقط خواندنی هستند. بازه: این هفته، هفتهٔ قبل، این ماه، ماه قبل، 90 روز اخیر، امسال یا انتخاب دلخواه (حداکثر کمی بیش از یک سال).
- مهندسی منو: برای هر محصول، تعداد دفعات فروش (سهم از کل اقلام فروختهشده) در برابر سودی که هر قلم میدهد (حاشیهٔ سود = قیمت فروش بدون مالیات بر ارزش افزوده منهای بهای تمامشده). هر محصول یک دستهبندی میگیرد: ستاره (پرطرفدار و حاشیهٔ سود بالا: همینطور بماند)، اسب کاری (پرطرفدار، حاشیهٔ سود کم: قیمت را کمی بالا ببرید یا ارزانتر تهیه کنید)، معما (فروش کم، حاشیهٔ سود بالا: بهتر در معرض دید بگذارید) و سگ (فروش کم، حاشیهٔ سود کم: از منو حذف یا جایگزین کنید). پرطرفدار = دستکم 70% از یک سهم برابر؛ حاشیهٔ سود بالا = دستکم میانگین حاشیهٔ سود هر قلم فروختهشده. بهای تمامشده از Apicbase (تنظیمات ← دستور پخت) میآید، وگرنه از قیمت خرید محصول (قیمت خرید هر بسته تقسیم بر تعداد در هر بسته)، وگرنه از دستور پخت مواد اولیهای که قیمت خرید دارند (موجودی). محصولات بدون بهای تمامشده جداگانه در پایین آمدهاند. اختیاری برای هر دسته (
?groep=). - کمپینها و کدها: برای هر کد تخفیف، هر کمپین از بازاریابی (کدهای شخصی با هم) و هر Happy hour: چند بار استفاده شده (رسیدها؛ در Happy hour تعداد اقلام هم)، چقدر تخفیف، فروش و میانگین هر رسید.
- ضایعات: آنچه از موجودی کسر شده (تنظیمات ← موجودی، کسر از موجودی (−))، بر اساس دلیل (حروف بزرگ و فاصلهها مهم نیستند) و بر اساس محصول یا مادهٔ اولیه، با ارزش به بهای تمامشده؛ و آنچه پس از ارسال به آشپزخانه یا بار لغو شده، با ارزش فروش و ارزش بهای تمامشده.
تخفیفها
مدیر یا مدیر سیستم در صفحهٔ سفارش کنار جمع کل دکمهٔ % تخفیف را میبیند:
- روی کل فیش یا روی یک ردیف؛
- بهصورت درصد (10، 15، 20، 25، 50، 100% = رایگان، یا عدد دلخواه) یا بهصورت مبلغ ثابت؛
- همیشه با یک دلیل (کارکنان، مشتری ثابت، شکایت، پیشنهاد ویژه، مصرف شخصی یا نوشتن دلیل دیگر).
تخفیف بهصورت یک ردیف جدا روی فیش میآید ("تخفیف 10%"، با دلیل زیر آن) با همان نرخ مالیات، تا جمع کل و جزئیات مالیات درست باشد. روی کل فیش، تخفیف به تفکیک نرخ مالیات تقسیم میشود. حذف: روی مبلغ ردیف تخفیف بزنید. اگر ردیفی که تخفیف خودش را دارد لغو شود، آن تخفیف هم حذف میشود. اگر محصولی را از رسیدی که تخفیف درصدی روی کل رسید دارد حذف کنید، صندوق آن تخفیف را دوباره روی باقیمانده حساب میکند (در بلژیک UC226)؛ مبلغ ثابت باقی میماند و هنگام تسویه دوباره بین ردیفها تقسیم میشود. اگر بهخاطر 100% تخفیف چیزی برای پرداخت نماند، با "بستن (مبلغی برای پرداخت نیست)" تمام کنید. تخفیفها در گزارش رویدادها، و در گزارش X/Z و گزارش دوره بهصورت "شامل تخفیف" میآیند. در مرجوعی فیشی که تخفیف دارد، تخفیف به نسبت برگشت داده میشود.
کدهای تخفیف (اختیاری)
کدهایی با تخفیف روی کل رسید، مثلاً برای یک کمپین (ZOMER10). روشن کردن در تنظیمات → کسبوکار → کدهای تخفیف (پیشفرض خاموش)؛ کدها را در تنظیمات → کدهای تخفیف میسازید (دسترسی مدیریت محصولات):
- تخفیف به درصد یا مبلغ ثابت، در صورت نیاز با حداقل مبلغ سفارش، اعتبار از/تا و حداکثر دفعات (خالی = نامحدود)؛
- برای هر کد: در صندوق و/یا در فروشگاه اینترنتی (صندوق کدها را همراه منو میفرستد؛ استفاده برای صندوق و فروشگاه اینترنتی با هم شمرده میشود).
در صفحهٔ سفارش دکمهٔ کد تخفیف هست (همه میتوانند کد وارد کنند؛ کد از قبل توسط کسبوکار ساخته شده است). تخفیف بهصورت ردیف "کد تخفیف CODE" روی رسید میآید و بین نرخهای مالیات بر ارزش افزوده تقسیم میشود؛ یک کد برای هر رسید، و نه وقتی که (بخشی از) مبلغ پرداخت شده است. اگر ردیف را دوباره حذف کنید یا سفارش لغو شود، استفاده دیگر شمرده نمیشود. حذف یک کد استفادهشده آن را خاموش میکند (گزارشها درست میمانند). همهچیز در گزارش رویدادها ثبت میشود (کد تخفیف). کد: lib/kortingscodes.ts، routes/kortingscodes.ts، Kortingscodebeheer.tsx، KortingscodeDialoog.tsx.
این کدها در فهرست تنظیمات → کدهای تخفیف نیستند (ولی تعدادشان برای هر پیشنهاد ویژه در گزارش → بازاریابی هست) و تا وقتی معتبر و استفادهنشده باشند به فروشگاه اینترنتی منتقل میشوند.
گزارشها و بستن روز
دکمهٔ گزارش در نوار بالا:
- وضعیت میانی (X): فروش، مالیات، روشهای پرداخت، به تفکیک گروه و کشوی پول از آخرین بستن روز. قابل چاپ هم هست. چیزی را نمیبندد.
- بستن روز (Z) (مدیر یا مدیر سیستم): کشوی پول را بشمارید (اختلاف با پول اول روز + نقد نشان داده میشود)، پول اول روز را برای روز بعد وارد کنید، ببندید. گزارش Z یک شمارهٔ پشتسرهم میگیرد، ذخیره میشود و روی چاپگر فیش چاپ میشود. تا وقتی سفارش باز وجود دارد ممکن نیست. اختیاری: شمارش به تفکیک سکه و اسکناس (کمکشمارش) مبلغ شمردهشده را برایتان پر میکند؛ شمارش هر سکه/اسکناس هم روی گزارش Z میآید. تایپ جمع کل توسط خودتان مثل همیشه کار میکند.
- کشوی پول (مدیر یا مدیر سیستم، اختیاری):
- برداشت پول از کشو (واریز به بانک، هزینه، پرداخت انعام) یا گذاشتن پول در کشو (پول خرد) با مبلغ و دلیل. کشو باز میشود و یک رسید با جای امضا چاپ میشود تا کنار پول نگه دارید (قابل خاموشکردن). در مبلغ مورد انتظار در کشو حساب میشود و ردیفبهردیف روی گزارش X و Z میآید.
- پول اول روز امروز را وارد یا اصلاح کنید (معمولاً آن را هنگام بستن روز برای روز بعد وارد میکنید).
- باز کردن کشو بدون فروش، با دلیل.
- همهچیز در گزارش رویدادها ثبت میشود. اگر از این استفاده نکنید، بستن روز دقیقاً مثل قبل کار میکند (پول اول روز + نقد = مبلغ مورد انتظار در کشو).
- زیر فروش، تعداد مهمانها (نفرات سفارشهای پرداختشده) و میانگین هر مهمان میآید، همچنین روی گزارش X/Z چاپی.
- فروش در هر دوره (مدیر یا مدیر سیستم): امروز، دیروز، این هفته/هفتهٔ قبل، این ماه/ماه قبل، امسال یا بازهٔ دلخواه از-تا. فروش، مالیات، روشهای پرداخت، انعام، مهمانها، گروههای محصول، به تفکیک روز و به تفکیک کارمند را نشان میدهد. با خروجی (Excel/CSV) یک فایل برای حسابدار میگیرید (نقطهویرگول و اعشار با کاما، مستقیم در Excel هلندی باز میشود).
- گزارشهای Z قبلی: لیست با فروش و اختلاف صندوق؛ باز کردن و چاپ کپی (با علامت "KOPIE").
خروجی برای حسابداری
گزارش → فروش در هر بازه → خروجی حسابداری (دفتر روزنامه) (دسترسی فروش در هر بازه) یک CSV با یک سند روزنامه برای هر روز میسازد، آماده برای خواندن در e-Boekhouden، Exact، SnelStart، Twinfield و مانند آنها (از طریق ورود CSV/memoriaal آنها)، یا یکی از قالبهای زیر (UBL، XAF و قالبهای آماده برای 14 نرمافزار).
برای هر روز یک سند (KASSA-JJJJMMDD) که همیشه تراز است (بدهکار = بستانکار):
| طرف | چه چیزی |
|---|---|
| بدهکار | دریافتیها به تفکیک روش پرداخت (نقد، کارت، کارت هدیه، آنلاین، سایر)، شامل انعام |
| بستانکار | فروش به تفکیک نرخ مالیات (بدون مالیات) و مالیات قابل پرداخت به تفکیک نرخ |
| بستانکار | انعام (بدهی به کارکنان، جزو فروش نیست) |
| +/- | اختلاف گردکردن (گردکردن نقدی به 5 سنت) |
| +/- | ورود/خروج پول کشو (مدیریت صندوق) در برابر حسابهای واسط، و اختلاف صندوق از گزارش Z |
مرجوعیها و تخفیفها از قبل در فیشها هستند و فروش را کم میکنند. ستونها: Datum; Boekstuk; Dagboek; Rekening; Omschrijving; Debet; Credit; Btw-code; Btw-% (نقطهویرگول، اعشار با کاما). بعد از دانلود، صندوق اعلام میکند آیا روزهایی هستند که تراز نیستند یا اختلافی بیشتر از گردکردن دارند.
کنار دکمه قالب را انتخاب میکنید (انتخاب در مرورگر به خاطر سپرده میشود). همان دفتر روزنامه، اما طوری قالببندیشده که نرمافزار بتواند مستقیم آن را بخواند. فهرست فقط قالبهای کشور کسبوکار را نشان میدهد (تنظیمات → کسبوکار)، اول استانداردها (CSV، UBL، XAF)، سپس نرمافزارها به ترتیب الفبا:
| قالب | فایل | ورود به نرمافزار |
|---|---|---|
| عمومی (CSV) | journaal_…csv | هر نرمافزاری با ورود CSV/سند memoriaal (ستونها را تطبیق دهید) |
| UBL 2.1 / Peppol (XML)، NL و BE | journaal_…_ubl.xml (چند روز: .zip) | برای هر روز یک فاکتور "دریافتیهای روزانه" به نام Kassaverkopen (پرداختشده) مطابق Peppol BIS Billing 3.0، با یک ردیف برای هر نرخ مالیات و حساب فروش در AccountingCost؛ فقط فروش و مالیات (روشهای پرداخت، انعام، گردکردن، کشو و اختلاف صندوق جزو فاکتور نیستند). برای بارگذاری در Adsolut، Billit، BUNNI، DigiBoox، Expert/M، Moneybird، Popsy، Rompslomp، Storecove و TriFact365 و دیگران؛ نه برای ارسال از طریق شبکهٔ Peppol. نام، شمارهٔ مالیاتی و نشانی از تنظیمات → کسبوکار میآیند |
| XML Auditfile Financieel (XAF 4.0)، NL | journaal_…_xaf.xaf | auditfile ادارهٔ مالیات هلند (Belastingdienst) (XSD XmlAuditfileFinancieel4.0): یک فایل برای بازه، شامل دفتر کل، کدهای مالیات، دورهها و برای هر روز یک تراکنش memoriaal؛ قابل خواندن در Caseware، Exact Reeleezee و Visma Cash و دیگران |
| AccountView (XML)، NL | journaal_…_accountview.xml | تراکنشهای XML (VFPData، یک transact برای هر ردیف سند با dj_code، period، inv_date، inv_nr، acct_nr، trn_desc و amount: بدهکار مثبت، بستانکار منفی)، برای هر روز یک سند در دفتر روزنامهٔ عمومی؛ با یک تعریف ورود وارد میشود (Document → Importeren → Importdefinitie aanmaken، نوع XML)، نام فیلدها همان نامهای خود AccountView است، پس یک بار فیلدها را 1 به 1 نگاشت کنید. اولین ورود داده را بدهید بررسی کنند |
| AFAS Profit (XML) | journaal_…_afas.xml | XML مربوط به UpdateConnector FiEntries (تراکنشهای مالی)، برای هر روز یک سند با سال، دوره، مجموعهٔ حسابداری و دفتر روزنامه؛ در Profit با ورود → XML وارد کنید؛ شمارهٔ مجموعهٔ حسابداری را وارد کنید (پیشفرض 1) |
| Asperion (CSV)، NL | journaal_…_asperion.csv | قالب FMUTA (Extra → Import financiële mutaties)، برای هر روز یک ردیف سرآیند و ردیفهای سند؛ تعریف ورود را Asperion از طریق پشتیبانی تنظیم میکند |
| گزارش روزانه (HTML)، NL و BE | journaal_…_dagstaat.html | گزارش روزانهٔ خوانا برای هر روز (فروش بر اساس نرخ مالیات، روشهای پرداخت، انعام، اختلاف صندوق) و جمعها؛ چاپ بهصورت PDF یا ارسال با ایمیل، برای نرمافزارهای بدون ورود (Accountable، Dext، Dexxter، Jortt، Kleisteen، MoneyMonk) |
| e-Boekhouden.nl (CSV) | journaal_…_eboekhouden.csv | تاریخ؛ سند؛ شرح؛ حساب دفتر کل؛ مبلغ (بدهکار مثبت، بستانکار منفی)؛ کد مالیات GEEN (مالیات از قبل روی حسابهای مالیات است)؛ ورود → گردشها، نوع memoriaal |
| Exact Online (XML) | journaal_…_exact.xml | eExact-XML (موضوع GLTransactions): برای هر روز یک سند memoriaal (نوع 90) در دفتر روزنامه؛ ورود/خروج → ورود XML |
| InformerOnline (TXT)، NL | journaal_…_informer.txt | memoriaal جداشده با تب (Geavanceerd → Memoriaal → uploaden)؛ دفتر روزنامه باید عددی بین 1–99 باشد (وگرنه 90) |
| KING ERP (XML)، NL | journaal_…_king.xml | KING_JOURNAAL: یک دستهٔ ثبت (غیرقطعی) با یک سند روزنامه برای هر روز |
| KOMAS (CSV)، NL | journaal_…_komas.csv | قالب آزاد KOMAS (0401 Importeren journaalposten): Datum; Grootboek; Omschrijving; Bedrag |
| Odoo (CSV)، NL و BE | journaal_…_odoo.csv | Accounting → Journal Entries → Import records؛ دفتر روزنامه و حساب بر اساس نام یا کد |
| Sage BOB 50 (Excel)، BE | journaal_…_bob.xlsx | Importation de données externes → Opérations diverses (ستونها را یک بار تطبیق دهید) |
| SAP Business One (ZIP)، NL و BE | journaal_…_sapb1.zip | Data Transfer Workbench، Journal Entries: JournalEntries.csv و JournalEntries_Lines.csv |
| SnelStart (CSV) | journaal_…_snelstart.csv | تاریخ؛ سند؛ شرح؛ حساب دفتر کل؛ بدهکار؛ بستانکار (dd-mm-yyyy، ویرگول، بدون BOM)؛ ورود سند memoriaal، دفتر روزنامه را هنگام ورود انتخاب میکنید |
| Twinfield (XML) | journaal_…_twinfield.xml | تراکنشهای دفتر روزنامه بهصورت پیشنویس (destiny="temporary")، حسابدار آنها را قطعی میکند؛ کد مجموعهٔ حسابداری را وارد کنید (خالی = مجموعهای که در آن وارد میکنید) |
| Winbooks (CSV)، BE | journaal_…_winbooks.csv | K_DOC.CSV، برای هر روز یک سند در دفتر روزنامه (Winbooks خودش شمارهگذاری میکند) |
| Yuki (XML) | journaal_…_yuki.xml | Journal-XML (GeneralJournal)، برای هر روز یک سند memoriaal، با همان ساختار اتصال زنده؛ شناسهٔ مجموعهٔ حسابداری اختیاری است |
نمای کلی: کدام نرمافزار حسابداری به چه روشی
بر اساس بخش، به ترتیب الفبا. NL/BE = نرمافزار در کدام کشور کار میکند: در تنظیمات → حسابداری → نرمافزار حسابداری فقط نرمافزارهای کشور کسبوکار را میبینید (نرمافزارهای هلندی در بلژیک کار نمیکنند و برعکس). مستقیم = صندوق هر روز خودش ثبت میکند (انتخاب در تنظیمات → حسابداری → نرمافزار حسابداری)؛ با درخواست = API وجود دارد، اما ابتدا ثبت شریک یا تأیید تأمینکننده لازم است (به ما خبر دهید). فایل = قالب در خروجی حسابداری. جایی که هر دو ممکن است، میتوانید از هر دو استفاده کنید. فهرست در packages/shared/src/boekhoudcatalogus.ts است و در تنظیمات → حسابداری هم نمایش داده میشود.
| نرمافزار | NL | BE | مستقیم | فایل | توضیح |
|---|---|---|---|---|---|
| کسبوکارهای کوچک و متوسط و خویشفرمایان | |||||
| Accountable | – | ✓ | – | گزارش روزانه (HTML، برای PDF یا ایمیل) | |
| AccountView (Visma) | ✓ | – | با درخواست | AccountView (XML)، عمومی (CSV) | فایل: تراکنشهای XML برای یک تعریف ورود (Document → Importeren)؛ CSV عمومی را هم میتوان با یک تعریف ورود وارد کرد. بهصورت زنده از طریق API AccountView.Net پس از درخواست از AccountView. |
| Acumulus | ✓ | – | ✓ | – | مستقیم بهصورت فاکتور فروش پرداختشده برای هر روز، با یک ردیف برای هر نرخ مالیات. |
| AFAS Profit | ✓ | – | ✓ | AFAS Profit (XML) | |
| Asperion | ✓ | – | با درخواست | Asperion (CSV) | مستقیم پس از ثبتنام بهعنوان شریک API در Asperion. |
| Billit | – | ✓ | با درخواست | UBL 2.1 / Peppol (XML) | بارگذاری UBL از طریق Fast input؛ مستقیم پس از تأیید Billit. |
| BUNNI | ✓ | – | – | UBL 2.1 / Peppol (XML) | هنوز مستندات عمومی API وجود ندارد. |
| Dexxter | – | ✓ | – | گزارش روزانه (HTML، برای PDF یا ایمیل) | |
| DigiBoox (Visma DigiBTW) | ✓ | – | – | UBL 2.1 / Peppol (XML) | |
| e-Boekhouden.nl | ✓ | – | – | e-Boekhouden.nl (CSV) | برای مشتریان سابق Ficsus هم. |
| Exact Online | ✓ | ✓ | ✓ | Exact Online (XML) | |
| Exact Reeleezee | ✓ | – | – | XML Auditfile Financieel (XAF 4.0) | |
| Horus | – | ✓ | ✓ | – | |
| InformerOnline | ✓ | – | – | InformerOnline (TXT) | |
| Jortt | ✓ | – | – | گزارش روزانه (HTML، برای PDF یا ایمیل) | بدون ورود: فروش روزانه را بهعنوان درآمد با گزارش روزانه بهعنوان پیوست ثبت کنید. |
| KING | ✓ | – | با درخواست | KING ERP (XML) | مستقیم پس از ثبت شریک در KING Software. |
| Kleisteen | ✓ | – | – | گزارش روزانه (HTML، برای PDF یا ایمیل) | |
| KOMAS (Adfinis) | ✓ | – | – | KOMAS (CSV) | |
| Minox | ✓ | – | با درخواست | – | مستقیم پس از اتصال شریک از طریق Minox. |
| Moneybird | ✓ | – | ✓ | UBL 2.1 / Peppol (XML) | |
| MoneyMonk | ✓ | – | – | گزارش روزانه (HTML، برای PDF یا ایمیل) | MoneyMonk در سال 2026 یک API برای اتصالها خواهد داشت. |
| Octopus | – | ✓ | با درخواست | – | مستقیم پس از درخواست software house ID از Octopus. |
| Popsy / Allegro | – | ✓ | – | UBL 2.1 / Peppol (XML) | |
| Rompslomp | ✓ | – | – | UBL 2.1 / Peppol (XML) | |
| Sage BOB 50 | – | ✓ | – | Sage BOB 50 (Excel) | |
| Silvasoft | ✓ | ✓ | ✓ | – | مستقیم بهصورت سند فروش برای هر روز، با یک ردیف برای هر نرخ مالیات؛ روشهای پرداخت، انعام و اختلاف صندوق منتقل نمیشوند. |
| SnelStart | ✓ | – | ✓ | SnelStart (CSV) | |
| Twinfield | ✓ | – | ✓ | Twinfield (XML) | |
| Visma Cash | ✓ | – | با درخواست | XML Auditfile Financieel (XAF 4.0) | API با کلیدی از CASHWeb؛ ساختار رکورد برای اسناد هنوز در حال تأیید است. |
| Visma eAccounting | ✓ | – | با درخواست | – | مستقیم پس از تأیید Visma (ثبت شریک). |
| Winbooks | – | ✓ | با درخواست | Winbooks (CSV) | |
| Wolters Kluwer Adsolut | – | ✓ | با درخواست | UBL 2.1 / Peppol (XML) | UBL با حساب فروش در هر ردیف؛ در Adsolut گزینهٔ "grootboekrekening verwerken bij verkopen" را روشن کنید. |
| Wolters Kluwer Expert/M | – | ✓ | – | UBL 2.1 / Peppol (XML) | |
| Yuki | ✓ | ✓ | ✓ | Yuki (XML) | |
| بینالمللی | |||||
| QuickBooks Online | ✓ | ✓ | ✓ | CSV عمومی | نسخهٔ هلندی یا بلژیکی ندارد: تنظیمات مالیات را بررسی کنید. |
| Xero | ✓ | ✓ | ✓ | CSV عمومی | |
| Zoho Books | ✓ | ✓ | ✓ | CSV عمومی | |
| سازمانی و زنجیرهای | |||||
| Exact Globe+ | ✓ | ✓ | – | Exact Online (XML) | همان XML مربوط به Exact Online؛ اولین ورود را بدهید بررسی کنند. |
| Microsoft Dynamics 365 Business Central | ✓ | ✓ | ✓ | – | |
| Odoo | ✓ | ✓ | ✓ | Odoo (CSV) | |
| Oracle NetSuite | ✓ | ✓ | با درخواست | CSV عمومی | |
| SAP Business One | ✓ | ✓ | ✓ | SAP Business One (ZIP) | |
| Unit4 ERPx | ✓ | ✓ | – | CSV عمومی | |
| پلتفرمها و تجمیعکنندهها | |||||
| Apicbase | ✓ | ✓ | با درخواست | – | فروش به تفکیک رسید برای موجودی و food cost: اتصال در تنظیمات → دستور پخت (نه بهعنوان نرمافزار حسابداری). |
| Caseware | ✓ | ✓ | – | XML Auditfile Financieel (XAF 4.0) | |
| Combidesk | ✓ | – | با درخواست | – | Combidesk خودش اتصال را میسازد و مدیریت میکند (از جمله به Exact، Moneybird، SnelStart و Twinfield)؛ با درخواست بهعنوان شریک. |
| Dext | ✓ | ✓ | – | گزارش روزانه (HTML، برای PDF یا ایمیل) | گزارش روزانه (PDF) را به نشانی Dext خود ایمیل کنید. |
| Jamix | ✓ | ✓ | با درخواست | – | فروش برای موجودی و food cost از طریق رابط JAPI از Jamix؛ سفارشیسازی با درخواست از Jamix. |
| Omniboost | ✓ | ✓ | با درخواست | – | از طریق برنامهٔ شرکای Omniboost به بسیاری از سیستمهای حسابداری و هتل منتقل میکند. |
| Storecove (Peppol) | ✓ | ✓ | با درخواست | UBL 2.1 / Peppol (XML) | |
| TriFact365 | ✓ | – | – | UBL 2.1 / Peppol (XML)، گزارش روزانه (HTML، برای PDF یا ایمیل) | |
| هر نرمافزار دیگر | ✓ | ✓ | – | CSV عمومی، UBL یا XAF (NL) |
اولین ورود را به حسابدار نشان دهید تا بررسی کند. قالببندی در packages/shared/src/journaalexport.ts است (با تستها).
تنظیمات ← حسابداری (دسترسی تنظیم مجموعه، پرداخت و چاپگرها): کد دفتر روزنامه (پیشفرض MEM) و حساب دفتر کل برای هر بخش. خالی = حساب نمونه (NL: 8000/8010/8020 فروش، 1500/1510 مالیات، 1000 صندوق نقدی، 1100 کارت؛ BE: 7000xx فروش، 451000 مالیات، 570000 صندوق نقدی). بگذارید حسابدار حسابهای واقعی را وارد کند.
اتصال به یک نرمافزار حسابداری
اتصال مستقیم با Acumulus، AFAS Profit، Microsoft Dynamics 365 Business Central، Exact Online، Horus، Moneybird، Odoo، QuickBooks Online، SAP Business One، Silvasoft، SnelStart، Twinfield، Xero، Yuki و Zoho Books. پس از هر روز، صندوق همان دفتر روزنامهٔ خروجی بالا (فروش و مالیات به تفکیک نرخ، روشهای پرداخت، انعام، گرد کردن، کشوی پول و اختلاف صندوق) را بهصورت سند حسابداری (memoriaal) در نرمافزار انتخابشده ثبت میکند، با دفتر روزنامه و حسابهای دفتر کل از تنظیمات → حسابداری. همیشه حداکثر یک نرمافزار روشن است.
- فهرست بر اساس بخش دستهبندی شده (کسبوکارهای کوچک و متوسط و خویشفرمایان، بینالمللی، سازمانی و زنجیرهای) و فقط نرمافزارهایی را نشان میدهد که در کشور کسبوکار کار میکنند؛ سرور نرمافزاری از کشور دیگر را رد میکند (400) و با آن ثبت نمیکند (409). بلافاصله زیر آن، مدیر دقیقاً فیلدهای همان نرمافزار را میبیند؛ اتصال و فهرست روزهای ثبتشده زیر حسابهای دفتر کل هستند، و زیر آنها فهرست همهٔ نرمافزارهای این کشور. اگر هنگام بهروزرسانی دو نرمافزار روشن بودند (در نسخهای قدیمیتر این ممکن بود)، Exact Online روشن میماند و نرمافزار دیگر خاموش میشود.
| نرمافزار | کشور | اتصال با | آنچه صندوق ثبت میکند |
|---|---|---|---|
| Acumulus | NL | کد قرارداد، نام کاربری و رمز عبور یک کاربر API | برای هر روز یک فاکتور فروش پرداختشده با یک ردیف برای هر نرخ مالیات؛ Acumulus خطاها را به ACUMULUS_FOUTMAIL ایمیل میکند |
| AFAS Profit | NL | محیط، token، مجموعهٔ حسابداری | memoriaal (FiEntries) |
| Business Central | NL، BE | tenant، محیط، شرکت، client ID و رمز یک برنامهٔ Microsoft Entra (API.ReadWrite.All) | ردیفها در دفتر روزنامهٔ عمومی با کد فیلد دفتر روزنامه |
| Exact Online | NL، BE | ورود (OAuth، برنامهٔ خودتان: Exact Online را در پایین ببینید؛ بلژیک: start.exactonline.be) | سند حسابداری (memoriaal) در دفتر روزنامه (مثلاً 90) |
| Horus | BE | ورود (OAuth، برنامه در پایین)، پرونده اختیاری | عملیات متفرقه |
| Moneybird | NL | API token، مجموعهٔ حسابداری اختیاری | memoriaal (general journal document) |
| Odoo | NL، BE | نشانی، پایگاه داده، کاربر، کلید API | سند روزنامه در دفتر روزنامه با کد کوتاه (مثلاً MISC) |
| QuickBooks Online | NL، BE | ورود (OAuth، برنامه در پایین؛ QUICKBOOKS_OMGEVING) | journal entry؛ حسابها بر اساس شماره |
| SAP Business One | NL، BE | نشانی Service Layer، پایگاه داده، کاربر، رمز عبور | سند روزنامه (JournalEntries) |
| Silvasoft | NL، BE | کاربر و کلید API | سند فروش به طرف حساب Kassaverkopen، یک ردیف برای هر نرخ مالیات (روشهای پرداخت، انعام و اختلاف صندوق منتقل نمیشوند) |
| SnelStart | NL | کلید اتصال و کلید اشتراک | memoriaal |
| Twinfield | NL | ورود (OAuth، برنامه در پایین)، دفتر کار اختیاری | تراکنش دفتر روزنامه |
| Xero | NL، BE | ورود (OAuth، برنامه در پایین)، سازمان اختیاری | manual journal؛ حسابها بر اساس کد |
| Yuki | NL، BE | کلید API، مجموعهٔ حسابداری اختیاری | memoriaal (GeneralJournal) |
| Zoho Books | NL، BE | ورود (OAuth، برنامه در پایین؛ بهطور پیشفرض مرکز دادهٔ اروپا)، سازمان اختیاری | سند روزنامه؛ حسابها بر اساس کد |
- OAuth (Horus، QuickBooks، Twinfield، Xero، Zoho): یک بار یک برنامه در نرمافزار ثبت کنید.
- در برخی نرمافزارها فیلدهای API را نمیتوان بهطور کامل از مستندات عمومی تأیید کرد (از جمله Horus، Zoho Books، علامت در Business Central و ساختار در SAP Business One): همیشه اولین ثبت را به حسابدار بدهید تا بررسی کند.
- Exact Online: دفتر روزنامه را بهصورت سند حسابداری (memoriaal) در مجموعهٔ حسابداری انتخابشده ثبت میکند.
- انتخاب در تنظیمات → حسابداری → نرمافزار حسابداری → Exact Online (پیشفرض خاموش). بلژیک: صندوق خودکار از
start.exactonline.beاستفاده میکند. - تنظیمات → حسابداری → Exact Online: وصل شدن به Exact Online صفحهٔ ورود Exact را باز میکند؛ پس از آن نوشته میشود صندوق به کدام مجموعهٔ حسابداری وصل است. در دفتر روزنامه کد یک دفتر memoriaal در Exact را وارد کنید (مثلاً
90) و مطمئن شوید حسابهای دفتر کل در Exact وجود دارند. - چه زمانی: بلافاصله پس از بستن روز و بعد هر ساعت، برای همهٔ روزهای گذشته (تا دیروز) از ثبت از تاریخ (پیشفرض: روز اتصال؛ روزهای قبل را حسابدار از قبل دارد). هر روز یک بار؛ روزهای بدون فروش رد میشوند. ثبت اکنون همیشه ممکن است.
- خطاها (حسابی در Exact وجود ندارد، روز تراز نمیشود، اینترنت نیست) با دلیلشان کنار همان روز نشان داده میشوند؛ صندوق بعداً دوباره تلاش میکند و روزهای بعدی صبر میکنند تا موفق شود (تا ترتیب درست بماند). در گزارش رویدادها: "exact_geboekt".
- مالیات روی حسابهای دفتر کل مالیات ثبت میشود (بدون کد مالیات، مانند خروجی). اولین ثبتها را به حسابدارتان نشان دهید تا بررسی کند.
- Exact: اتصال تا زمانی که صندوق از آن استفاده میکند کار میکند (هر 10 دقیقه یک توکن جدید، هر بار یک refresh token جدید). اگر لغو شده باشد یا مدت زیادی استفاده نشده باشد، صندوق اتصال دوباره را میخواهد. قطع اتصال توکنها را پاک میکند؛ آنچه ثبت شده باقی میماند.
- انتخاب در تنظیمات → حسابداری → نرمافزار حسابداری → Exact Online (پیشفرض خاموش). بلژیک: صندوق خودکار از
- AFAS Profit: شمارهٔ محیط (مثلاً
12345؛ عملیاتی، آزمایشی یا پذیرش)، توکن یک app-connector با UpdateConnector FiEntries و شمارهٔ مجموعهٔ حسابداری (پیشفرض 1). دفتر روزنامه = کد یک دفتر memoriaal در AFAS (مثلاً90). - دفتر روزنامه = شماره یا نام یک دفتر memoriaal؛ اگر فقط یک دفتر memoriaal باشد، صندوق همان را برمیدارد. حسابهای دفتر کل باید عدد باشند.
- Twinfield: ورود با OAuth. بدون آن برنامه، صندوق نمیتواند متصل شود. صندوق کلاستر و مجموعهٔ حسابداری را پیدا میکند (خالی = اولی)؛ دفتر روزنامه = کد یک دفتر memoriaal (مثلاً
MEMO). بهصورت قطعی ثبت میکند (destiny="final"). - Yuki: کلید API مجموعهٔ حسابداری (Yuki → تنظیمات → سرویسهای وب)؛ مجموعهٔ حسابداری خالی = اولین مجموعهٔ آن کلید. یک سند memoriaal (GeneralJournal) ثبت میکند؛ Yuki کد دفتر روزنامه به کار نمیبرد.
- چه زمانی: بلافاصله پس از بستن روز و هر ساعت، برای همهٔ روزهای گذشته از ثبت از تاریخ (پیشفرض: روز اتصال؛ با نرمافزار دیگر دوباره از همان روز). هر روز یک بار برای هر نرمافزار؛ روزهای بدون فروش رد میشوند؛ در صورت خطا دلیل کنار همان روز است و روزهای بعدی صبر میکنند. ثبت اکنون همیشه ممکن است. در گزارش رویدادها: "boekhoudpakket_geboekt".
- کلیدها و توکنها هرگز روی صفحه نمیآیند (هنگام اتصال دوباره خالی بگذارید = حفظ شود). روی نسخهٔ صندوق در پورتال چیزی ثبت نمیشود.
فایل حسابرسی صندوق (XAA)
برای کسبوکارهای هلندی در گزارش → فروش در هر بازه کنار خروجی حسابداری دکمهٔ فایل حسابرسی صندوق (XAA) قرار دارد: XML Auditfile Afrekensystemen 3.2 ادارهٔ مالیات هلند (Belastingdienst) و XML Platform (SRA) برای بازهٔ انتخابشده (حداکثر کمی بیش از یک سال؛ مجوز فروش در هر بازه). این همان فایلی است که Belastingdienst برای تحویل دادههای یک صندوق هنگام بازرسی یا به حسابدار توصیه میکند؛ قواعد در Handreiking voor een betrouwbaar afrekensysteem (راهنمای یک سیستم صندوق قابل اعتماد، docs/xaa) آمده است.
در فایل (auditfile_kassa_<van>_tm_<tot>.xml، طرحواره docs/xaa/XmlAuditfileAfrekensystemen3.2.xsd):
- دادههای پایه: کسبوکار (نام، شمارهٔ مالیات بر ارزش افزوده، نشانی)، کدهای مالیات بر ارزش افزوده، همهٔ کارکنان (با نقش و تاریخ ایجاد؛ بهعلاوهٔ
SYSTEEMبرای کارهایی که خود صندوق انجام میدهد، مانند فروشگاه اینترنتی و اتصالها) و همهٔ کالاها با گروهشان؛ - رویدادها: همهٔ موارد گزارش رویدادها در بازه (ورود و خروج از حساب، باز شدن کشوی پول، بستن روز، تغییر تنظیمات و قیمتها، ابطال، تخفیف، مرجوعی، رونوشت رسید، ورود و خروج کاری ...) و باز شدن روز صندوق با موجودی اولیه، هر کدام با کد Belastingdienst (18001 ورود، 18003 کشو، 18006 تغییر در نصب، 18008 گزارش Z، در غیر این صورت 18999)؛
- تراکنشهای صندوق: هر رسید (فروش، مرجوعی و پیشفاکتور، با شمارهٔ رسید، کارمند و وضعیت مالیاتی اگر درست نباشد) با همهٔ ردیفها (کالا، گروه، تعداد، قیمت، مالیات بر ارزش افزوده؛ همچنین تخفیفها، کارتهای هدیه، سرعنوانهای منو و ردیفهایی که پیش از پرداخت لغو شدهاند، اینها با مبلغ 0)، مالیات بر ارزش افزوده به تفکیک نرخ، گرد کردن، پرداختها به تفکیک روش پرداخت (نقد، کارت، کارت هدیه، آنلاین؛ انعام جداگانه) و پول واردشده به کشوی پول یا برداشتهشده از آن.
مبالغ با C (فروش، دریافت) یا D (مرجوعی، پرداخت) مثبتاند؛ زمانها به وقت هلند با اختلاف ساعت. همهٔ کلیدها شناسههای پایگاه داده بدون خط تیرهاند، پس در صندوق قابل پیگیریاند.
امضا کردن (فصل 6 مشخصات): اگر Optimum POS گواهیای تنظیم کرده باشد، فایل حسابرسی امضاشده در یک پاکت (XML Signature) میآید و نام فایل …_ondertekend.xml است؛ در غیر این صورت یک فایل حسابرسی ساده است و صندوق هنگام دانلود این را اعلام میکند.
پرداخت نسیه
مشتریان تجاری (شرکتی که هر هفته ناهار میگیرد، یک هتل، یک انجمن) نسیه خرید میکنند و بعداً با فاکتور پرداخت میکنند. آن را در تنظیمات ← فاکتورها ← پرداخت نسیه روشن کنید (فقط وقتی فاکتورها روشن است؛ بهطور پیشفرض خاموش).
- مشتریان: در گزارش ← نسیه مشتریان تجاری را با اطلاعات فاکتور (نام، نشانی، شمارهٔ مالیاتی، شمارهٔ KvK/شمارهٔ شرکت، شناسهٔ Peppol، ایمیل) ثبت میکنید، در صورت تمایل با یک سقف اعتبار (حداکثر مبلغی که میتواند باز بماند) و مهلت پرداخت مخصوص (وگرنه مهلت فاکتورها)، و اینکه فاکتور فوراً ارسال شود یا نه.
- تسویه حساب: روش پرداخت نسیه، مشتری را انتخاب کنید (همراه با مبلغ باز فعلی و سقف اعتبار). رسید یک فروش عادی است: فروش و مالیات بر ارزش افزوده در همان روز، در بلژیک طبق معمول از طریق جعبه سیاه، و روی رسید "نسیه". صندوق فوراً فاکتور را (UBL/Peppol و برای چاپ) با مبلغ باقیماندهٔ باز و سررسید میسازد و طبق تنظیمات فاکتورها ارسال میکند (ایمیل، Peppol از طریق Billit/Storecove/Banqup یا نشانی خودتان). نسیه یک مبلغ واحد برای باقیماندهٔ حساب است (میتوان اول بخشی را به روش دیگری پرداخت)، بدون انعام؛ کارت هدیه را نمیتوان نسیه فروخت. بیش از سقف اعتبار، صندوق رد میکند.
- پرداخت: مشتری در فروشگاه نقدی، با کارت یا کارت هدیه پرداخت میکند (گزارش ← نسیه ← پرداخت دریافت شد؛ بخشی از مبلغ هم ممکن است). این نه فروش جدید است و نه رسید جدید: پرداخت نقدی بهعنوان پول در کشو ثبت میشود (کشو باز میشود) و همه چیز در گزارش X و Z زیر دریافتی نسیه میآید. وقتی همه چیز پرداخت شود، وضعیت فاکتور "پرداختشده" میشود. پرداخت آنلاین جزو این قابلیت نیست.
- واریز بانکی: اگر در اطلاعات روی فاکتور شماره IBAN وارد شده باشد، روی فاکتور (و در UBL) همراه با "پرداخت در فروشگاه هم ممکن است" میآید. اگر مشتری مبلغ را واریز کرده، آن را با پرداخت دریافت شد ← واریز شد (بانک) ثبت میکنید: به کشو نمیرود، اما در گزارش X و Z زیر دریافتی نسیه میآید. بدون IBAN عبارت "قابل پرداخت در فروشگاه" میآید. در بلژیک یک شناسهٔ پرداخت ساختاریافته (+++123/4567/89012+++، برگرفته از شمارهٔ فاکتور) روی فاکتور و در UBL میآید تا بانک آن را همراه پرداخت بفرستد.
- بانک: تسویهٔ واریزها بدون تایپ دوباره، پایینتر را ببینید.
- اعتبار (پول از پیش): در گزارش → نسیه → واریز اعتبار پول از پیش روی حساب یک مشتری میگذارید، نقدی (کشو باز میشود) یا با کارت، مثلاً برای یک سری ناهار. در فروش نسیهٔ بعدی اعتبار اول از فاکتور کم میشود؛ اگر فاکتور بیشتر باشد، بقیه باز میماند. اعتبار نزد مشتری دیده میشود (اعتبار € ...)، در X و Z زیر دریافتی نسیه (اعتبار واریز شد، با اعتبار مشتری) و در دفتر روزنامه بهعنوان دریافت از پیش (بهطور پیشفرض 1640 / 460000). در بلژیک واریز بهعنوان پول ورودی (signMoneyInOut) به جعبهٔ سیاه میرود (UC4100).
- فاکتور تجمیعی (برای هر مشتری، بهطور پیشفرض خاموش): با یک فاکتور برای همه رسیدها مشتری در فروش نسیه هنوز فاکتوری نمیگیرد. رسید نزد مشتری باز میماند (رسیدهایی که هنوز فاکتور نشدهاند، در سقف حساب میشود) و از همین حالا قابل پرداخت است. با ساخت فاکتور تجمیعی (مثلاً آخر ماه) همهٔ رسیدهای باز روی یک فاکتور میآیند، هر ردیف با شمارهٔ رسید در ابتدایش؛ آنچه پرداخت شده، پرداختشده نشان داده میشود. مرجوعی به حساب بهصورت ردیفهای منفی روی آن میآید. خاموش = مثل همیشه یک فاکتور برای هر فروش. در بلژیک یک فاکتور با همهٔ رسیدها در جعبهٔ سیاه (signInvoice، UC4121 و UC4122).
- بلژیک: اگر مشتری بعداً یک فروش نسیه را بپردازد (نقدی، کارت، کارت هدیه یا انتقال بانکی)، صندوق آن را بهعنوان اصلاح پرداخت روی رسید گزارش میکند: از اعتبار مشتری به روش پرداخت واقعی (signPaymentCorrection، UC4118).
- نمای کلی: فاکتورهای باز با سررسید (معوقها با رنگ قرمز)، و فاکتورها و پرداختهای هر مشتری. در تنظیمات ← فاکتورها یک ستون باز.
- حسابداری: در دفتر روزنامه، فروش نسیه به حسابهای دریافتنی میرود (پیشفرض 1300 در هلند، 400000 در بلژیک؛ قابل تنظیم در تنظیمات ← حسابداری) و پرداخت از صندوق، کارت، کارت هدیه یا بانک (پیشفرض 1050 / 550000) به حسابهای دریافتنی. XAA: روش پرداخت "نسیه".
- مجوز: تسویه بهصورت نسیه و دریافت پرداختهای نسیه (پیشفرض: گارسون خیر، مدیر بله). همه چیز در گزارش رویدادها ثبت میشود.
- خاموش: مشتریان، فاکتورها و پرداختها نگه داشته میشوند (در نسخهٔ پشتیبان هم)؛ کلید همراه خروجی پیکربندی میرود، اما مشتریان نه (آنها متعلق به یک فروشگاهاند).
- در فروشگاه اینترنتی (اختیاری، پیشفرض خاموش): با در فروشگاه اینترنتی هم مشتریان تجاری آنلاین و نسیه سفارش میدهند (بیرونبر و ارسال). در گزارش ← نسیه برای هر مشتری یک کد مشتری میسازید و آن را به مشتری میدهید؛ صندوق فقط نسخهٔ رمزگذاریشده را نگه میدارد، پس آن را فقط یک بار میبینید. کد مشتری جدید = کد قبلی دیگر کار نمیکند؛ حذف کد مشتری = آن مشتری دیگر نمیتواند آنلاین نسیه سفارش دهد. فروشگاه اینترنتی سقف اعتبار را رعایت میکند. در پنجرهٔ فروشگاه اینترنتی چنین سفارشی را با تکمیل (نسیه) نهایی میکنید: تسویه بهصورت نسیه، همراه با صدور فوری فاکتور.
بانک: تسویهٔ واریزها
در گزارش ← نسیه ← بانک صندوق برای هر واریزی فاکتور نسیهٔ مربوط را پیدا میکند:
- وارد کردن صورتحساب بانکی: فایل بانکداری اینترنتی شما، با قالب CAMT.053 (XML، همهٔ بانکهای هلند و بلژیک)، MT940 (.sta/.940) یا CODA (.cod، بلژیک). فقط واریزیها؛ دو بار وارد کردن یک صورتحساب ردیف تکراری ایجاد نمیکند.
- جستوجو: بر اساس شمارهٔ فاکتور یا شناسهٔ پرداخت ساختاریافته در شرح (قطعی)، وگرنه بر اساس مبلغ (و نام): در این حالت پیشنهاد است. هر ردیف را میتوانید تسویه کنید (با پیشنهاد یا فاکتوری دیگر)، نادیده بگیرید یا بعداً با این حال تسویه کنید. تسویه = واریز شد (بانک) با تاریخ بانک، هرگز بیش از مبلغ باز؛ به کشو نمیرود.
- اتصال بانکی (PSD2، اختیاری): در تنظیمات ← فاکتورها ← اتصال بانکی صندوق هر ساعت خودش واریزیها را از طریق Enable Banking دریافت میکند (بانکهای هلند، بلژیک و بقیهٔ اروپا). بانک را انتخاب کنید و وارد بانک شوید (حساب تجاری)؛ مجوز 180 روز معتبر است، سپس دوباره وصل کنید. قطع اتصال مجوز را لغو میکند؛ واریزیها باقی میمانند. بدون قرارداد با Enable Banking این فقط برای حسابهای خودتان کار میکند (restricted production).
- تسویهٔ خودکار (پیشفرض خاموش): واریزیای را که قطعاً مربوط به یک فاکتور است صندوق فوراً تسویه میکند (هنگام وارد کردن هم).
- مجوز: تسویه با تسویه بهصورت نسیه و دریافت پرداختهای نسیه؛ تنظیم اتصال بانکی با تنظیم مجموعه، پرداخت و چاپگرها. وارد کردن، اتصال، دریافت و تسویه در گزارش رویدادها ثبت میشوند.
- خاموش: وقتی پرداخت نسیه خاموش است صندوق چیزی دریافت نمیکند؛ واریزیها و اتصال حفظ میشوند (در نسخهٔ پشتیبان هم).
تصاویر دوربین در صندوق
همهٔ تصاویر دوربینهای کسبوکار در یک صفحه، بدون صفحه یا برنامهٔ جداگانه. آن را در تنظیمات → کسبوکار → نمایشگرها و کارکرد → تصاویر دوربین در صندوق روشن کنید (پیشفرض خاموش). آنگاه دکمهٔ دوربینها در نوار بالا برای کسی که اجازهٔ مشاهدهٔ تصاویر دوربین دارد نمایش داده میشود (پیشفرض مدیر و مدیر سیستم؛ در تنظیمات → دسترسیها برای گارسونها هم قابل فعالسازی است). همهٔ دوربینها کنار هم هستند؛ برای تصویر بزرگ روی یک دوربین بزنید. با خاموش کردن، سامانههای دوربین حفظ میشوند.
بهصورت صفحهٔ جداگانه هم: روی صفحهٔ جداگانه نشانی http://<kassaserver>:3000/camera را باز میکند (مثلاً یک نمایشگر پشت بار)، و روی تبلت یا گوشی یک کد QR نشان میدهد: کارمند آن را با تبلت یا گوشی خودش اسکن میکند و با کد PIN خودش وارد میشود (آنجا هم فقط با مجوز مشاهدهٔ تصاویر دوربین). روی صفحهٔ باریک دوربینها زیر هم قرار میگیرند. ببینید: صفحهٔ دوم روی تبلت یا گوشی.
مدیر سیستم سامانههای دوربین را با + سامانهٔ دوربین اضافه میکند، با تست آزمایش میکند و برای هر دوربین نام و حضور در صفحه را انتخاب میکند:
- Hikvision، Dahua، Axis و Reolink: یک دوربین یا دستگاه ضبط (NVR) در شبکه: نشانی IP (در صورت نیاز با
:poort)، یک کاربر (ترجیحاً فقط مشاهده) و کانالها، مثلاً1-8یا1,3,5. ورود با Basic یا Digest؛ https با گواهی خودامضا مجاز است. - Synology Surveillance Station: نشانی NAS (درگاه پیشفرض 5000، با https 5001) و یک کاربر؛ دریافت دوربینها دوربینها را با نامشان دریافت میکند.
- UniFi Protect: نشانی کنسول (https) و یک حساب محلی؛ دریافت دوربینها.
- ONVIF: هر دوربین یا دستگاه ضبط با ONVIF (مثلاً Hanwha، Bosch، Uniview، Annke)؛ دریافت دوربینها برای هر منبع ویدیو نشانی عکس را پیدا میکند.
- نشانی وب دلخواه: یک عکس (JPEG)، یک جریان MJPEG یا یک نشانی
rtsp://. - صفحهٔ وب سامانهٔ دوربین (مثلاً Frigate، Blue Iris یا go2rtc): با دکمهٔ دوربینها در صندوق باز میشود (یا در پنجرهٔ جداگانه).
بدون ffmpeg: عکس.
حریم خصوصی: صندوق تصاویر را از سامانهٔ دوربین میگیرد و فقط آنها را منتقل میکند؛ هیچ چیز ذخیره نمیشود (نه ضبط، نه حافظهٔ موقت). کاربران و رمزهای عبور روی سرور میمانند و هرگز روی صفحه یا در گزارش رویدادها نمایش داده نمیشوند. در گزارش رویدادها ثبت میشود چه کسی دوربینها را دید. خود تصاویر را صفحه با یک کلید درخواست میکند (12 ساعت معتبر، تا زمانی که کارمند وارد شده است)، چون یک تصویر در مرورگر نمیتواند توکن بفرستد. خروجی پیکربندی فقط روشن/خاموش را شامل میشود.
گزارش کارهای حساس
گزارش ← گزارش رویدادها (مدیر یا مدیر سیستم) نشان میدهد چه کسی، چه کاری و چه زمانی انجام داده است.
- یک دوره انتخاب کنید (امروز، دیروز، این هفته، این ماه/ماه قبل یا بازهٔ دلخواه از-تا)، آنچه میخواهید ببینید (پیشفرض کارهای حساس، یا مثلاً فقط ابطال و تخفیف، یا همه) و در صورت تمایل یک کارمند.
- در بالا، به تفکیک کارمند: تعداد و مبلغ ابطالها (حذف بعد از سفارش)، تخفیفها و مرجوعیها، و اینکه کشو چند بار بدون فروش باز شده، برداشت پول از کشو، کپی فیشها، پیشفاکتورها و پرداخت کارتی دستی. روی یک نام بزنید تا فقط همان کارمند را ببینید. همچنین تعداد دفعاتی که پینکد اشتباه وارد شده است.
- زیر آن، هر کار با زمان، چه کسی، چه کاری و یک توضیح خوانا (مثلاً "2x کولا حذف بعد از سفارش € 5,60 · میز 4 · دلیل: مشتری نخواست").
- دانلود (CSV) برای Excel.
چه چیزهایی ثبت میشود: ابطالها، تخفیفها (و حذف آنها)، مرجوعیها، کپی رسیدها، پیشفاکتورها، پرداخت کارتی دستی، باز کردن کشو، ورود/خروج پول از کشو، پول اولیه، بستن روز، جابهجایی ردیفها یا میزها، بستن سفارشهای خالی، تغییر قیمت/نام/مالیات بر ارزش افزوده محصولات، محصولات جدید یا حذفشده، تغییر کارکنان و تنظیمات، اصلاح ساعات کاری، ورود و خروج از سیستم، کدهای PIN اشتباه و ثبت ورود و خروج کاری. با پرداخت نسیه همچنین: مشتریان، فروشها و پرداختهای نسیه، خواندن صورتحسابهای بانکی، اتصال بانکی و دریافت از بانک. با هشدار زمان آمادهسازی طولانی: سفارشهای دیرشده و عذرخواهیهای ارسالشده. با Mailchimp یا Klaviyo: اتصال، انتخاب فهرست، قطع اتصال و لغو اشتراکها از آنجا. با کنترل موسیقی: روشن/خاموش و افزودن، ویرایش و برداشتن منابع موسیقی. با تصاویر دوربین: چه کسی دوربینها را دید (حداکثر یک بار در هر نیم ساعت برای هر کارمند)، روشن/خاموش و سامانههای دوربین. با پایش: هر هشدار، رسیدگی به آن و روشن و خاموش کردن آن.
پایش: تقلب و انحرافها
تنظیمات ← پایش. دو بخش، هر کدام جداگانه روشن میشود و بهطور پیشفرض خاموش است؛ خاموش کردن همه هشدارها و تنظیمات را نگه میدارد. تنظیم برای کسی است که اجازه تنظیم پایش را دارد (بهطور پیشفرض مدیر و مدیر سیستم)؛ دیدن و رسیدگی به هشدارها برای کسانی است که اجازه دیدن گزارش رویدادها را دارند. صندوق هر 5 دقیقه بررسی میکند (و با همین حالا بررسی کن)؛ نه روی صندوق سایه.
پایش تقلب و سرقت (برای هر کارمند، در هر روز کاری از 05:00)، هر قاعده جداگانه روشن یا خاموش با حد خودش:
- ابطال بعد از پیشفاکتور: حذف بعد از اینکه مهمان صورتحساب را دیده است؛
- ابطالها، تخفیفها و مرجوعیها: از تعداد معینی دفعات، یا جمعاً از یک مبلغ (0 = بدون مبلغ)؛
- باز شدن کشو بدون فروش (دکمه باز کردن کشو)؛
- فیش طولانی باز: سفارش داده شده ولی پس از چند دقیقه هنوز پرداخت نشده.
هشدار در صورت انحراف، در مقایسه با همان روز هفته و همان ساعت در هفتههای گذشته (پیشفرض 4؛ روزهای بدون فروش حساب نمیشوند، دستکم دو روز مقایسه):
- فروش تا این لحظه بیش از حاشیه کمتر (و/یا بیشتر) از معمول، فقط از فروش معمول به مبلغی تعیینشده؛
- زمان آشپزخانه (از ارسال فیش به آشپزخانه تا آماده شدن در نمایشگر آشپزخانه) در یک ساعت گذشته بالای حاشیه، یا بالای تعداد ثابتی دقیقه؛
- ابطالهای امروز بالای حاشیه، فقط از یک حداقل تعداد.
هر هشدار یک بار میآید (برای هر قاعده، کارمند و روز؛ زمان آشپزخانه حداکثر ساعتی یک بار) و میرود به:
- صندوق: دکمه هشدارها (n) در نوار بالا با هشدارهای روز، هفته یا 30 روز گذشته؛ رسیدگی شد با یادداشت. صفحههای دیگر فقط یک علامت بدون نام میگیرند؛
- اعلان push با ntfy (اپ رایگان؛ ntfy.sh یا سرور خودتان، topic و در صورت نیاز token)، Pushover (API-token اپ و user key) یا Telegram (token بات و chat-id)؛
برای هر کانال یک دکمه پیام آزمایشی هست. tokenها و کلیدها روی صندوق میمانند (صفحهها فقط میبینند که وارد شدهاند یا نه). هشدار مدرک نیست: فیش و گزارش رویدادها را بررسی کنید و با کارمند صحبت کنید.
فیشها: کپی و مرجوعی (فیش برگشتی)
دکمهٔ فیشها در نوار بالا:
- لیست فیشها از آخرین بستن روز، یا 7 روز گذشته؛ فیش قدیمیتر را با شمارهاش جستجو کنید.
- چاپ کپی: همان فیش با علامت "KOPIE" (در بلژیک با بخش FDM فیش اصلی). در گزارش رویدادها ثبت میشود.
- مرجوعی / فیش برگشتی (مدیر یا مدیر سیستم): برای هر ردیف انتخاب کنید چه تعداد برمیگردد، یک دلیل و اینکه پول چطور برگردانده شود (نقد، کارت، کارت هدیه، سایر). فیش قدیمی دستنخورده میماند: یک فیش برگشتی جدید با شمارهٔ خودش در دفتر ثبت میشود (نوع تیکت
retour، مبالغ منفی، در بلژیک بهصورت NR به FDM). هرگز نمیشود بیشتر از آنچه فروخته شده برگرداند. در گزارش X و Z مرجوعی بهعنوان فروش منفی حساب میشود. - با CCV یا کارتخوان دیگر: اول روی خود کارتخوان پول را برگردانید و بعد تیک "روی کارتخوان برگردانده شد" را بزنید.
- نقد با گردکردن به 5 سنت: مبلغی که برگردانده میشود هم گرد میشود.
- برگشت به حساب (فروش نسیه): اگر رسید نسیهٔ یک مشتری تجاری بود، نسیه را انتخاب میکنید. مبلغ از فاکتور باز کم میشود و صندوق بلافاصله یک یادداشت بستانکاری میسازد (در UBL یک CreditNote، نوع 381، با ارجاع به فاکتور؛ در بلژیک امضاشده با signInvoice، UC4122). بیشتر از مبلغ باز فاکتور نمیتواند به حساب برگردد؛ بقیه را نقدی یا با کارت برگردانید. یادداشت بستانکاری در فاکتورها است و آن را مثل فاکتور ارسال میکنید.
کشوی پول با حسگر و کشو برای هر کارمند
بهطور پیشفرض خاموش. تنظیم در تنظیمات ← پرداختها ← کشوی پول.
- حسگر: بسیاری از کشوها از طریق چاپگر رسید اعلام میکنند که باز یا بستهاند (ESC/POS
DLE EOT 1، پین 3 درگاه DK). این فقط با چاپگر رسید متصل از طریق شبکه ممکن است. اندازهگیری: کشو بسته و اندازهگیری: کشو باز را بزنید؛ اگر تفاوتی باشد، وضعیت درست را اعمال میکنید (بالا = باز یا پایین = باز). بدون تفاوت = این کشو (یا کابل) حسگر ندارد. بدون پاسخ از چاپگر = نامعلوم، هرگز "بسته" نیست.- تا وقتی کشو باز است تسویه نشود: در این حالت سرور صندوق تسویهی جدید را با پیام "کشوی پول هنوز باز است" رد میکند.
- کشوی جداگانه برای هر کارمند: یک چاپگر رسید میتواند دو کشو را باز کند (کشوی 1 و کشوی 2). برای هر کارمند کشوی او را انتخاب کنید؛ در این صورت صندوق هنگام تسویهی نقدی، گذاشتن/برداشتن پول در کشو و باز کردن کشو، کشوی کسی را که وارد شده است باز میکند. در گزارش ← صندوق آنوقت کشو برای هر کارمند هست: موجودی اولیه صندوق برای هر کارمند، نقدی (بدون دستگاه پول نقد)، مورد انتظار، شمارش و اختلاف برای هر نفر (در گزارش رویدادها بهصورت
ladetelling). بستن روز معمولی همانطور که هست میماند. - تست کشوی 1 و تست کشوی 2 کشو را برای بررسی باز میکنند.
- باز کردن کشو بدون فروش (با دلیل) همیشه در گزارش رویدادها و در فایل حسابرسی صندوق (XAA) ثبت میشود، همانطور که ادارهی مالیات (Belastingdienst) میخواهد (استثناهایی مانند "no sale").
بخش 3 · مدیر سیستم
شروع کار
نصب. HorecaPOS را با برنامهٔ نصب مخصوص سیستم خود نصب کنید که در صفحهٔ دانلود OptimumPOS هست: Android (اپ)، Windows (برنامهٔ نصب)، macOS (نصبکننده برای Macهای Apple Silicon و Intel)، Linux (نصبکنندهٔ گرافیکی، یا بستهٔ .deb یا .rpm)، Raspberry Pi (نصبکنندهٔ گرافیکی یا .deb برای Raspberry Pi 3، 4 یا 5 با Raspberry Pi OS 64 بیتی) و Chromebook (اپ Android از Google Play). برای سرور صندوقی که تبلتها و نمایشگر آشپزخانه به آن وصل میشوند برای همهٔ کاربران را انتخاب کنید، یا برای فقط یک صندوق روی همان دستگاه فقط برای من را. نصبکننده هر چیزی را که لازم است، از جمله پایگاه داده، نصب میکند و هر شب پشتیبان میگیرد. برای بهروزرسانی، نسخهٔ جدید را نصب کنید: اطلاعات شما سر جایش میماند. برنامهٔ نصب به زبان کامپیوتر شما شروع میشود (در غیر این صورت انگلیسی)؛ در Windows و Linux میتوانید در صفحهٔ اول زبان دیگری انتخاب کنید. صندوق بعد از آن فوراً با همان زبان شروع میشود. بستههای .deb و .rpm و اپ Android از زبان سیستم پیروی میکنند، و در غیر این صورت هلندی.
مدیر سیستم صندوق را از تنظیمات راهاندازی میکند. آنجا زبانههایی مثل مجموعه، کارکنان، دسترسیها، ساعتهای کار، محصولات، هپیآور، موجودی، نقشهها، پرداخت، چاپگرها، حسابداری، پشتیبانها، ورود/خروج داده و پایگاه داده هست. اینکه مدیر کدام زبانهها را هم میبیند، به دسترسیها بستگی دارد.
پایگاه داده. در تنظیمات → پایگاه داده (فقط مدیر) بین MySQL / MariaDB، پایگاه داده داخلی و PostgreSQL انتخاب میکنید؛ هنگام تغییر، همه دادهها منتقل میشوند (نگاه کنید به پایگاه داده). اگر Optimum POS هنگام نصب از قبل یک آدرس ثابت تنظیم کرده باشد، همان آدرس معتبر است و فیلدی برای پر کردن وجود ندارد. در غیر این صورت سرور، پورت، پایگاه داده، کاربر و رمز عبور را خودتان پر میکنید. صندوق آنها را خودش ذخیره میکند، سپس دوباره پرشده نشان میدهد و همیشه میتوانید آنها را با تغییر اطلاعات MySQL/MariaDB یا تغییر اطلاعات PostgreSQL تغییر دهید. خالی گذاشتن رمز عبور یعنی: رمز ذخیرهشده حفظ میشود (برای همان کاربر). نصبکننده و بهروزرسانی چیزی را در DATABASE_URL یا پایگاه داده انتخابشده تغییر نمیدهند.
حسابداری
همهٔ موارد مربوط به حسابداری در تنظیمات → حسابداری است. همراه با حسابدارتان دفتر روزنامه و حسابهای دفتر کل را وارد کنید. اگر میخواهید صندوق فروش روزانه را هر روز خودش ثبت کند، در بالا در نرمافزار حسابداری نرمافزار خود را انتخاب کنید، از جمله Exact Online: فقط نرمافزارهایی را میبینید که در کشور کسبوکار شما کار میکنند. بلافاصله زیر آن اطلاعات آن نرمافزار را وارد و متصل میکنید. برای نرمافزارهایی که باید در آنها وارد شوید (مانند Exact Online، Twinfield یا Xero) ابتدا برنامه را پر میکنید: client ID و client secret. اگر Optimum POS هنگام نصب، نرمافزار یا یک مقدار را ثابت تنظیم کرده باشد، آن انتخاب یا آن فیلد را نمیبینید. همانجا فهرستی از همهٔ نرمافزارها هم هست: کدامها مستقیم متصل میشوند و کدامها فایل میگیرند. فایل را در گزارش → فروش در هر بازه → خروجی حسابداری میسازید: قالب نرمافزار خود، یا UBL (Peppol)، XAF یا گزارش روزانه را انتخاب کنید. همیشه اولین ثبت یا اولین ورود را به حسابدارتان بدهید تا بررسی کند.
برای یک کسبوکار هلندی آنجا فایل حسابرسی صندوق (XAA) هم هست: XML Auditfile Afrekensystemen ادارهٔ مالیات هلند (Belastingdienst) با همهٔ رسیدها، ردیفها، پرداختها و رویدادهای صندوق در بازهٔ انتخابشده. این را به حسابدار خود یا هنگام بازرسی به Belastingdienst میدهید.
حقوق و برنامهریزی
اگر کارکنان شما ورود و خروج خود را ثبت میکنند، در تنظیمات → ساعات کاری در پایین حقوق و برنامهریزی در دو بخش قرار دارد. در حقوق و دستمزد نرمافزار حقوق و دستمزد یا (در بلژیک) دبیرخانهٔ اجتماعی خود را انتخاب میکنید و برای هر کارمند شمارهٔ پرسنلی او در آن نرمافزار را وارد میکنید. سپس برای یک دوره فایل ساعات کارکرد و فروش هر کارمند را میسازید و آن را در نرمافزار حقوق و دستمزد خود وارد میکنید. در برنامهریزی کارکنان سیستم برنامهریزی خود را انتخاب میکنید: در Deputy، Dyflexis و Shiftbase فروش هر ساعت خودکار ارسال میشود، برای بقیه یک فایل فروش میسازید. به این ترتیب در برنامهریزی خود هزینهٔ دستمزد را کنار فروش میبینید. اگر بدون ثبت ورود و خروج کار میکنید، باز هم میتوانید فروش را به برنامهریزی خود بفرستید: در این حالت این گزینه در پایین تنظیمات → حسابداری، زیر فروش به برنامهریزی شما قرار دارد. اگر Optimum POS هنگام نصب چیزی را ثابت تنظیم کرده باشد، آن گزینه یا آن فیلد را نمیبینید.
پشتیبانها
صندوق هر شب بهطور خودکار و همیشه پیش از هر بهروزرسانی یک نسخه پشتیبان میگیرد. در تنظیمات ← پشتیبانها همه پشتیبانها را میبینید (زمان، توسط چه کسی یا خودکار، حجم) و با تهیه پشتیبان خودتان یکی میسازید. اگر آخرین پشتیبان بیش از دو روز قدیمی باشد، یک هشدار قرمز نمایش داده میشود: در این صورت با Optimum POS تماس بگیرید.
بازیابی با دکمه بازیابی کنار هر پشتیبان انجام میشود. هر چه بعد از آن پشتیبان اتفاق افتاده باشد از بین میرود. باید این را تیک بزنید و کد PIN خودتان را دوباره وارد کنید. صندوق ابتدا یک پشتیبان ایمنی از وضعیت فعلی میگیرد و سپس همه را از حساب خارج میکند. در بلژیک این کار از داخل صندوق ممکن نیست (شمارندههای جعبه سیاه ادامه پیدا میکنند)؛ آنجا این کار را Optimum POS انجام میدهد.
پایگاه داده
در تنظیمات → پایگاه داده (فقط مدیر) میبینید صندوق دادههایش را کجا نگه میدارد. در بالا پایگاه داده فعلی با برنامه، نسخه، جدولها، ردیفها و نشانی یا پوشه نمایش داده میشود. برای کارکنان و تبلتها، صندوق با هر پایگاه دادهای یکسان کار میکند. در Windows، macOS، Linux و Raspberry Pi از میان سه پایگاه داده انتخاب میکنید:
- MySQL / MariaDB: یک برنامه پایگاه داده جداگانه (MySQL 8.0 یا جدیدتر، MariaDB 10.6 یا جدیدتر)، مثلاً روی سرور یا NAS که از قبل دارید. در این حالت همه دادهها در جدولهای معمولی MySQL یا MariaDB هستند و برنامه گزارشگیری یا BI شما میتواند آنها را بخواند. صندوق دقیقاً مانند PostgreSQL حساب میکند.
- داخلی (PGlite): درون خود صندوق است و نیازی به نصب چیزی ندارید. بهترین انتخاب برای بیشتر کسبوکارها و پایگاه داده روی Android و Chromebook.
- PostgreSQL: یک برنامه پایگاه داده جداگانه روی رایانه صندوق یا جای دیگری در شبکه.
چه زمانی MySQL یا MariaDB؟ اگر کسبوکار شما از قبل سرور MySQL یا MariaDB دارد، اگر مسئول IT شما با آن کار میکند، یا اگر میخواهید دادهها را در گزارشهای خودتان، Excel یا برنامه BI بخوانید. اگر مطمئن نیستید، داخلی را انتخاب کنید: فوراً کار میکند.
برای MySQL یا MariaDB چه لازم است؟
- MySQL 8.0 یا جدیدتر، یا MariaDB 10.6 یا جدیدتر، که از سرور صندوق در دسترس باشد.
- یک پایگاه داده جداگانه برای صندوق (یا برای صندوقهای یک زنجیره)، با مجموعه نویسه utf8mb4.
- یک کاربر پایگاه داده که اجازه دارد در آن پایگاه داده جدول بسازد، تغییر دهد، تغییر نام دهد و حذف کند (CREATE، ALTER، DROP، INDEX، SELECT، INSERT، UPDATE، DELETE)، مثلاً اینطور:
CREATE DATABASE horecapos CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'horecapos'@'localhost' IDENTIFIED BY 'wachtwoord';
GRANT ALL PRIVILEGES ON horecapos.* TO 'horecapos'@'localhost';
اگر MySQL یا MariaDB روی رایانه دیگری اجرا میشود، در دو خط آخر بهجای localhost نشانی IP سرور صندوق را بگذارید.
انتقال به MySQL / MariaDB:
- در آدرس MySQL/MariaDB فیلدها را پر کنید: سرور (پیشفرض localhost)، پورت (پیشفرض 3306)، پایگاه داده (پیشفرض horecapos)، کاربر و رمز عبور؛ برای MariaDB هم همین. اگر آدرس از قبل تنظیم شده باشد، فیلدها پر هستند؛ اگر رمز عبور را خالی بگذارید، رمز ذخیرهشده میماند (برای همان کاربر). صندوق آدرس را خودش ذخیره میکند؛ اگر Optimum POS از قبل یک آدرس ثابت تنظیم کرده باشد، همان آدرس معتبر است و فیلدی وجود ندارد. اگر صندوق از قبل با MySQL/MariaDB کار میکند، اطلاعات را بعداً با تغییر اطلاعات MySQL/MariaDB تغییر میدهید. اتصال رمزگذاریشده را Optimum POS برایتان تنظیم میکند.
- روی تست اتصال بزنید: برنامه و نسخه را میبینید، یا دلیل ناموفق بودن را.
- روی انتقال به MySQL/MariaDB بزنید، تأیید کنید که متوجه هستید و PIN خودتان را وارد کنید.
انتقال در هر جهتی ممکن است میان سه پایگاه داده، و همه دادهها همراه آن منتقل میشوند:
- صندوق برای مدت کوتاهی درخواستی نمیپذیرد (معمولاً کمتر از یک دقیقه)؛ سپس تبلتها خودشان ادامه میدهند.
- صندوق ابتدا از وضعیت فعلی پشتیبان میگیرد (در تنظیمات → پشتیبانها).
- همه چیز به پایگاه داده جدید میرود و صندوق در هر جدول میشمارد که آیا همه چیز دقیقاً آنجاست.
- فقط وقتی همه چیز درست باشد، صندوق با پایگاه داده جدید ادامه میدهد. کارکنانی که وارد شدهاند، وارد میمانند.
اگر چیزی ناموفق باشد، هیچ چیز تغییر نمیکند و صندوق با پایگاه داده قدیمی به کار ادامه میدهد. پایگاه داده قدیمی سر جایش میماند، پس همیشه میتوانید برگردید. دادههای صندوق که از قبل در پایگاه داده جدید MySQL/MariaDB یا PostgreSQL بودند، جایگزین میشوند. در بلژیک هم ممکن است: شمارندههای جعبه سیاه دقیقاً منتقل میشوند.
پشتیبانگیری و بازیابی با هر سه پایگاه داده یکسان کار میکنند (تنظیمات → پشتیبانها). پشتیبانِ یک پایگاه داده را میتوان در هر پایگاه داده دیگری بازیابی کرد، حتی پشتیبان PostgreSQL را در MySQL یا MariaDB.
در MySQL یا MariaDB چه چیزی هست؟ هر جدول صندوق، با همان نام و ستونها (زمانها به UTC). هر جدول یک ستون کلید اضافی _hp_sleutel میگیرد و در جدولهای کمکی _horecapos_stand، _horecapos_kolom، _horecapos_reeks و _horecapos_wijziging (گزارش تغییرات، 14 روز نگه داشته میشود) صندوق وضعیت، نوع ستونها، شمارندهها و تغییرات را نگه میدارد. برنامههای دیگر دادهها را میخوانند؛ فقط صندوقها مینویسند.
روش کار: صندوق در یک نسخه کاری سریع روی سرور صندوق حساب میکند و هر تغییر را در همان مرحله در MySQL/MariaDB مینویسد. اگر این کار ناموفق باشد، تغییر انجام نمیشود و صندوق خطا نشان میدهد؛ پس MySQL/MariaDB را در دسترس نگه دارید. هنگام راهاندازی، صندوق همه چیز را از MySQL/MariaDB میخواند.
چند صندوق روی یک پایگاه داده. مانند PostgreSQL، چند صندوق میتوانند از یک پایگاه داده MySQL/MariaDB استفاده کنند، مثلاً هر شعبه یک زنجیره با سرور صندوق خودش. تغییرات یکی پس از دیگری انجام میشوند و هر صندوق ابتدا کارهای صندوقهای دیگر را دریافت میکند، بنابراین هنگام تغییر همزمان چیزی از دست نمیرود. اگر صندوقی پشتیبانی را بازیابی کند یا صندوقی با نسخه جدیدتر پایگاه داده را بهروز کند، صندوقهای دیگر خودبهخود همه چیز را دوباره میخوانند؛ پس همه صندوقها را همزمان بهروز کنید. صندوقی که بیش از 14 روز خاموش بوده، هنگام راهاندازی همه چیز را دوباره میخواند.
هنگام نصب پایگاه داده را هم انتخاب میکنید: MySQL / MariaDB، داخلی (پیشنهادی) یا PostgreSQL همراه با آدرس. اگر در دسترس نباشد، صندوق با پایگاه داده داخلی نصب میشود؛ بعداً میتوانید از همینجا انتقال دهید. در بهروزرسانی انتخاب حفظ میشود.
اتصال تبلتها و نمایشگرها
- روی هر تبلت/صندوق، آدرس سرور صندوق را باز کنید، مثلاً
http://192.168.1.20:3000، و آن را بهصورت میانبر روی صفحه اصلی بگذارید (Chrome: افزودن به صفحه اصلی). - صفحه آشپزخانه:
http://192.168.1.20:3000/keuken. - صفحه مشتری (رو به مشتری، اختیاری):
http://192.168.1.20:3000/klantscherm، بخش «صفحه مشتری» را ببینید. - صفحهها سرور صندوق را خودشان پیدا میکنند (همان آدرس، پورت 4000).
نمایشگر مشتری
صفحهای روی صندوق که رو به مشتری قرار دارد. مشتری تقریباً میبیند چه چیزی سفارش داده شده و مبلغ و روش پرداخت را خیلی واضح میبیند. این صفحه هیچ کنترلی ندارد: فقط کاری را که صندوق انجام میدهد دنبال میکند. بهطور پیشفرض خاموش است؛ از تنظیمات ← کسبوکار ← صفحه مشتری روشنش کنید. روی رایانهٔ صندوقی که دو صفحه دارد، صندوق بار اول آن را خودکار روشن میکند؛ اگر بعد از آن خاموشش کنید، خاموش میماند. بدون صفحه مشتری (خاموش، یا اگر صفحهای نصب نشده) همه چیز دقیقاً مثل همیشه کار میکند: صندوق تصویر را در پسزمینه میفرستد و کارکنان هیچوقت متوجه خطا یا نبود صفحه نمیشوند.
آنچه مشتری میبیند:
- حالت استراحت (کسی در حال پرداخت نیست): نام کسبوکار و یک متن خوشامد دلخواه (تنظیمات ← کسبوکار؛ خالی = "خوش آمدید").
- سفارش: محصولات با تعداد و مبلغ (ردیفهای یکسان با هم، منو بهصورت یک ردیف با اجزای آن بهصورت کوچک زیرش، تخفیف بهصورت یک ردیف) و جمع کل با اندازه بزرگ. در پرداخت تقسیمی، مبلغ پرداختشده زیر آن نمایش داده میشود. با تنظیمات ← کسبوکار ← عکسهای محصول ← در صفحه مشتری، کنار هر محصول یک عکس کوچک نمایش داده میشود.
- پرداخت: روش پرداخت (کارت، نقدی، کارت هدیه)، انعام و با اندازه بزرگ مبلغ قابل پرداخت. نقدی: مبلغی که مشتری میدهد و مبلغی که پس میگیرد، بهمحض اینکه در صندوق وارد شود. کارت: "دستورالعمل روی کارتخوان را دنبال کنید".
- تشکر: بعد از پرداخت، چند ثانیه "متشکریم!" همراه با مبلغ پرداختشده (نقدی: مبلغی که مشتری پس میگیرد)، و بعد دوباره صفحه استراحت.
اتصال به دو روش (هر دو روی خود دستگاه تنظیم میشوند):
- مانیتور دوم روی رایانهٔ صندوق (Windows، Linux/Raspberry Pi، macOS): خودکار. هنگام ورود و پس از نصب، صندوق صفحهٔ مشتری را بهصورت تمامصفحه روی کوچکترین صفحهای که صفحهٔ اصلی نیست باز میکند (اگر هماندازه باشند، سمت راستترین)؛ در Windows همیشه روی صفحهای غیر از صفحهٔ صندوق (صندوق روی صفحهٔ لمسی است و هنگام راهاندازی هم خودبهخود باز میشود). اندازه و جایگاه را سیستم تعیین میکند، پس هر اندازهای کار میکند. بدون صفحهٔ دوم اتفاقی نمیافتد. در Windows صفحهٔ مشتریِ بستهشده خودکار برمیگردد؛ در Linux و macOS میانبُر HorecaPOS صفحهٔ مشتری در منو آن را دوباره درست میکند. در Windows در حالت کیوسک Chrome (یا Edge) باز میشود: تمامصفحه، بدون نوار عنوان و بدون نوار وظیفه (بستن با Alt+F4). بدون کد اتصال، صندوق روی همان رایانه را دنبال میکند.
- در هر مرورگری، نگهداشتن طولانی در هیچ جا منوی مرورگر را باز نمیکند و هیچ پرسشی برای ترجمهٔ صفحه نمایش داده نمیشود.
- صندوق بسته = صفحهٔ مشتری بسته. اگر نرمافزار صندوق متوقف شود (راهاندازی مجدد، یک بهروزرسانی، صندوق متوقف یا حذف شود)، صفحهٔ مشتری هم پس از کمی بیش از 10 ثانیه بسته میشود؛ وقتی صندوق دوباره اجرا شود، خودبهخود برمیگردد. در Windows اگر فقط پنجرهٔ صندوق را ببندید هم بسته میشود. زیر Wayland (Linux) صندوق نمیتواند خودش پنجره را ببندد.
- صفحهٔ مشتری اشتباهی بسته شد؟ در Windows پس از چند ثانیه خودبهخود برمیگردد، تا زمانی که صندوق باز است و صفحهٔ دوم وصل است.
- همیشه فقط یک صفحهٔ مشتری. در Windows صفحهٔ مشتری فقط در حالت کیوسک روی صفحهٔ دوم است. صفحهٔ مشتریای که در پنجرهٔ صندوق باشد (مثلاً پس از قطع برق توسط Edge بازگردانده شده یا با دکمهٔ داخل صندوق باز شده) ظرف چند ثانیه خودبهخود بسته میشود؛ سپس صفحهٔ مشتری درست جای آن را میگیرد.
- کسی وارد نشده = فقط خوشامد. اگر صندوق روی صفحهٔ کد پین باشد (همچنین پس از راهاندازی مجدد یا خروج)، صفحهٔ مشتری فقط متن خوشامد را نشان میدهد، هرگز صورتحساب قبلی را.
- در Windows میتوانید باز شدن خودکار را با تیک صفحهٔ مشتری خودکار ... در نصبکننده خاموش کنید.
- در Linux صندوق پنجره را با wmctrl جابهجا میکند (همراه بسته نصب میشود). در Wayland (مثلاً Raspberry Pi OS با labwc) این کار ممکن نیست: یک بار خودتان صفحهٔ مشتری را به صفحهٔ دوم ببرید (مرورگر آن را به خاطر میسپارد)، یا در raspi-config گزینهٔ X11 را انتخاب کنید. در macOS، Mac بار اول در دسترسپذیری اجازه میخواهد.
- دستی: تنظیمات → کسبوکار → صفحهٔ مشتری → باز کردن صفحهٔ مشتری (مانیتور دوم). در Chrome و Edge (از جمله روی Chromebook) دکمه پنجره را فوراً روی صفحهٔ مشتری میبرد (بار اول مرورگر اجازه میخواهد)؛ یک کلیک روی صفحهٔ مشتری آن را تمامصفحه میکند. در مرورگرهای دیگر: بکشید و F11 را بزنید.
- صندوق Android با صفحهٔ مشتری داخلی (مثلاً Sunmi D2/T2) یا مانیتور از طریق HDMI/USB-C: این هم خودکار است. به محض نصب برنامه روی صندوق، صفحهٔ مشتری روی صفحهٔ دوم میآید؛ وصل و جدا کردن فوراً کار میکند.
- Sunmi T1 mini / T2 mini با نمایشگر متنی کوچک (2 خط): برنامه مبلغ را خودکار روی آن نشان میدهد: جمع کل، قابل پرداخت، در پرداخت نقدی باقیمانده، پس از تسویه متشکریم! و در حالت بیکار نام کسبوکار. صفحهٔ مشتری باید روشن باشد.
- iPad (صفحهٔ کاربری) با صفحهٔ خارجی از طریق HDMI/USB-C یا AirPlay: برنامه صفحهٔ مشتری را خودکار روی آن صفحه میبرد (آمادهشده؛ برنامهٔ iOS هنوز منتشر نشده است).
- Chromebook: بهعنوان صفحهٔ کاربری در Chrome، دکمهٔ باز کردن صفحهٔ مشتری (مانیتور دوم) مانند بالا کار میکند. در برنامهٔ Android، صفحهٔ مشتری به محض اینکه ChromeOS آن صفحه را در اختیار برنامههای Android بگذارد، خودکار روی صفحهٔ دوم میآید؛ اگر این کار را نکند، از یک دستگاه جداگانه با کد اتصال استفاده کنید.
- دستگاه جداگانه (تبلت یا کامپیوتر جدا کنار صندوق):
http://<kassaserver>:3000/klantschermرا باز کنید. صفحه در گوشه پایین سمت راست یک کد اتصال 6 کاراکتری نشان میدهد. آن را در صندوق در تنظیمات ← کسبوکار ← صفحه مشتری ← اتصال وارد کنید. قطع اتصال صفحه را به حالت کد اتصال برمیگرداند. اتصال برای هر صندوق جداگانه ذخیره میشود (در مرورگر همان صندوق)، پس هر صندوق میتواند صفحه مشتری خودش را داشته باشد.
صفحه مشتری کد PIN نمیخواهد (چیزی برای کنترل ندارد) و فقط تصویر صندوقی را نشان میدهد که به آن وصل است. تصویر فقط در حافظه سرور صندوق نگه داشته میشود؛ پس از راهاندازی دوباره، صفحه تا تغییر بعدی خالی است. تنظیم (روشن/خاموش و متن خوشامد) همراه پشتیبان و ورود/خروج داده (سایر تنظیمات) منتقل میشود.
رسید دیجیتال از طریق QR (اختیاری)
پیشفرض خاموش. روشن کردن از مسیر تنظیمات ← کسبوکار ← آشپزخانه و نمایشگر مشتری ← رسید دیجیتال (این گزینه وقتی نمایان میشود که نمایشگر مشتری روشن و ذخیره شده باشد). پس از پرداخت، در ممنون یک کد QR نمایش داده میشود؛ که در این حالت به جای چند ثانیه، 45 ثانیه باقی میماند. مهمان آن را با گوشی خودش اسکن میکند و رسید را میبیند، دقیقاً مانند رسید کاغذی (همان متن، و در صندوق بلژیکی همراه با بلوک FDM). روی گوشی میتواند رسید را چاپ کند، بهصورت pdf ذخیره کند یا بهصورت فایل متنی دانلود کند.
- این کار از طریق پرتال مدیریت انجام میشود:
https://kassa.<portaal>/__bon/<kassa>/<sleutel>. بنابراین صندوق باید به پرتال وصل باشد؛ وگرنه کد QR نمایش داده نمیشود و چیزی تغییر نمیکند. - کلید تصادفی است و قابل حدس زدن نیست، و 30 روز معتبر است. پس از آن صندوق خودش آن را پاک میکند. پرتال چیزی نگه نمیدارد.
- با مانیتور دوم و با نمایشگر مشتری جداگانه کار میکند. رسید کاغذی و رسید ایمیلی مثل قبل کار میکنند.
نمایشگر مشتری در حالت انتظار: نمایش اسلاید (اختیاری)
پیشفرض خاموش. روشن کردن از مسیر تنظیمات ← کسبوکار ← آشپزخانه و نمایشگر مشتری ← نمایشگر مشتری در حالت انتظار. وقتی هیچ صورتحسابی روی نمایشگر مشتری نیست، اسلایدها به نوبت نمایش داده میشوند (پیشفرض هر 8 ثانیه، قابل تنظیم از 4 تا 60):
- کمپینها: Happy hourها (اگر Happy hour روشن باشد)، با تخفیف، روزها و ساعتها و محصولات یا دستهها؛ موارد جاری اول میآیند، با "همین حالا!".
- محصولات ویژه (حداکثر 12، مثلاً تازه در منو)، با قیمت و (اگر عکس محصولات روی نمایشگر مشتری روشن باشد) عکس. محصولی که تمام شده باشد، نمایش داده نمیشود.
- کارت امتیاز: امتیاز به ازای هر یورو، جایزه و کارتهای مهر (فقط اگر کارت مشتری روشن باشد).
- متنهای دلخواه: حداکثر 5، هرکدام یک اسلاید جدا (مثلاً "از جمعه جدید: منوی تابستانی ما").
بدون اسلاید، نمایشگر مشتری مثل همیشه صفحهٔ خوشآمدگویی را نشان میدهد.
هپیآور
بهطور پیشفرض خاموش. از تنظیمات ← کسبوکار ← استفاده از هپیآور روشنش کنید؛ پس از آن زبانه تنظیمات ← هپیآور نمایش داده میشود.
- برای هر هپیآور: نام (روی رسید چاپ میشود)، روزها، از–تا (میتواند از نیمهشب بگذرد، مثلاً 23:00–01:00)، تخفیف درصدی یا قیمت ثابت، و اینکه برای کدام دستهها و/یا محصولات جداگانه است.
- در این بازه زمانی، صندوق هنگام ثبت محصول خودکار قیمت هپیآور را حساب میکند (هرگز گرانتر از حالت عادی نیست؛ در قیمت ثابت، گزینهها بهطور معمول اضافه میشوند). روی دکمه محصول، قیمت قدیم خطخورده همراه با قیمت جدید و HH نمایش داده میشود؛ در سفارش و روی رسید نام هپیآور میآید. آنچه قبلاً ثبت شده قیمت خودش را نگه میدارد.
- پیشنهاد روز: گزینه تمام روز را علامت بزنید (00:00–24:00) و روز(ها) را انتخاب کنید، مثلاً هر سهشنبه spareribs با قیمت ثابت.
- فصل: گزینه فقط در یک فصل (هر سال) را علامت بزنید و «از» و «تا» را انتخاب کنید (روز و ماه، مثلاً 1 ژوئن تا 31 اوت؛ عبور از سال نو هم مجاز است، مثلاً 1 دسامبر تا 28 فوریه). خارج از فصل، Happy hour اعمال نمیشود.
- تغییرات در گزارش رویدادها ثبت میشوند.
بازههای زمانی و فصلها
بهطور پیشفرض خاموش. از تنظیمات ← کسبوکار ← بازههای زمانی و نوع سفارش ← محصولات بر اساس بازه زمانی و فصل روشنش کنید؛ پس از آن زبانه تنظیمات ← بازههای زمانی نمایش داده میشود. اگر خاموشش کنید، همه محصولات دوباره همیشه فروخته میشوند و بازههای زمانی حفظ میشوند.
- برای هر بازه زمانی: نام (مثلاً صبحانه، ناهار، شام، منوی تابستانی)، روزها، از–تا (میتواند از نیمهشب بگذرد؛ تمام روز = 00:00–24:00)، در صورت نیاز یک فصل (هر سال، روز و ماه)، و اینکه کدام دستهها و/یا محصولات جداگانه به آن تعلق دارند.
- محصولات و دستههایی که در یک یا چند بازه زمانی هستند فقط وقتی فروخته میشوند که یکی از آن بازهها در جریان باشد؛ چیزی که در هیچ بازهای نیست، همیشه فروخته میشود. صفحه سفارش فقط چیزی را نشان میدهد که الان فروخته میشود و با شروع یا پایان یک بازه خودبهخود تغییر میکند؛ سرور بقیه را رد میکند ("الان فروخته نمیشود، فقط در صبحانه").
- فروشگاه اینترنتی همان محصولات را نشان میدهد و حساب میکند (در لحظه سفارش).
- قیمت متفاوت در یک روز یا یک فصل یک Happy hour است (پیشنهاد روز، بالا را ببینید).
- منو برای هر شعبه: هر صندوق (شعبه) محصولات، بازههای زمانی و قیمتهای خودش را دارد.
- تغییرات در گزارش رویدادها ثبت میشوند.
محصولات و قیمتها بر اساس نوع سفارش
بهطور پیشفرض خاموش. از تنظیمات ← کسبوکار ← بازههای زمانی و نوع سفارش ← محصولات و قیمتها بر اساس نوع سفارش روشنش کنید. اگر خاموشش کنید، دوباره همهجا قیمت عادی اعمال میشود و همهچیز همهجا فروخته میشود؛ قیمتهای واردشده حفظ میشوند.
- در تنظیمات ← محصولات برای هر محصول: قیمت بیرونبر و قیمت ارسال (خالی = قیمت عادی) و فروش در (سرو در محل، بیرونبر، ارسال؛ حداقل یکی). برای یک دسته هم فروش در، برای همه محصولات آن دسته.
- صفحه سفارش در سفارش بیرونبر یا ارسال، قیمت همان نوع سفارش و فقط چیزی را نشان میدهد که در آن فروخته میشود؛ سرور همان قیمت را حساب میکند و بقیه را رد میکند. Happy hour، منوها و گزینهها با همان قیمت حساب میشوند.
- نرخ مالیات بیرونبر (در محصول) مثل همیشه از این جداست.
- فروشگاه اینترنتی در بیرونبر و ارسال قیمتها و محصولات همان انتخاب را نشان میدهد (با تغییر انتخاب، صفحه منو دوباره بارگذاری میشود)، و سر میز قیمتها و محصولات سرو در محل را.
- خروجی و ورود پیکربندی (تنظیمات ← ورود/خروجی داده) قیمتها بر اساس نوع سفارش، "فروش در"، بازههای زمانی و فصل Happy hourها را هم شامل میشود.
منوها
بهطور پیشفرض خاموش. از تنظیمات ← کسبوکار ← استفاده از منوها روشنش کنید.
- منو یک محصول معمولی است (با قیمت منو) که در تنظیمات ← محصولات ← (محصول) ← منو برای آن بخشهایی تعریف میکنید:
- ثابت: همیشه همین محصول (مثلاً "نوشیدنی: شراب خانه")؛
- انتخابی: 1 (یا بیشتر) از یک دسته انتخاب کنید، در صورت نیاز محدود به محصولات مشخص (مثلاً "غذای اصلی: 1 مورد از غذاهای اصلی انتخاب کنید").
- برای هر بخش، مرحله سرو (1 = فوری، 2/3 = منتظر فراخوان).
- وقتی منو را ثبت میکنید، برای هر بخش غذاها را انتخاب میکنید. برای هر غذا (حتی غذاهای ثابت) میتوانید مثل یک محصول جداگانه گزینهها را انتخاب کنید (نوع پخت، پنیر اضافه؛ گزینههای اجباری باید انتخاب شوند) و یادداشت بگذارید. هزینه اضافه گزینهها به قیمت منو اضافه میشود. منو بهصورت یک ردیف با غذاها (و گزینههایشان) زیر آن نمایش داده میشود.
- غذاها بهصورت ردیفهای جداگانه، در مرحله سرو خودشان، به آشپزخانه/بار میروند (برگه آشپزخانه و صفحه آشپزخانه). خود ردیف منو ارسال نمیشود.
- قیمت منو برای محاسبه مالیات به نسبت قیمت عادی بخشها بین آنها تقسیم میشود، تا غذا و نوشیدنی هر کدام نرخ درست را داشته باشند. روی رسید، منو با قیمت کل و غذاها زیر آن چاپ میشود.
- اگر خود منو گزینه داشته باشد (مثلاً اندازه)، آن را بالای پنجره منو انتخاب میکنید. این گزینهها روی رسید کنار ردیف منو، و روی برگه آشپزخانه و صفحه آشپزخانه کنار هر غذای منو بهصورت "(منو)" نمایش داده میشوند.
- حذف/ابطال برای کل منو انجام میشود (روی ردیف منو بزنید).
- تقسیم / جابهجایی: ردیف منو را انتخاب کنید؛ غذاها هم همراهش میروند. اگر 2× یک منوی یکسان دارید، میتوانید 1 عدد از آن را هم جابهجا کنید (سرعنوان و غذاها تقسیم میشوند).
- بدون اتصال هم میتوانید منوها را ثبت کنید؛ آنها روی تبلت ذخیره و بهمحض برقراری دوباره اتصال ارسال میشوند (مثل محصولات جداگانه).
- هپیآور میتواند روی منو هم اعمال شود.
دستور پخت و بهای تمامشده (Apicbase)
اتصال به Apicbase (دستور پخت، بهای تمامشده، موجودی و خرید) از طریق Generic POS API مربوط به Apicbase (پیشفرض خاموش، هر بخش جداگانه روشن یا خاموش میشود). تنظیم در تنظیمات → دستور پخت (دسترسی تنظیم کسبوکار، پرداخت و چاپگرها). صندوق خودش با Apicbase ارتباط میگیرد (فقط ترافیک خروجی، نیازی به پورتال نیست).
- اتصال (همهچیز را مدیر وارد میکند)، به یکی از سه روش:
- چسباندن token: در Apicbase مسیر Library Settings → API Settings → New token → Service Account Token (scopes accounts، library، sales)؛ access token و refresh token را بچسبان؛
- ورود با API-app خود کسبوکار (client-id و رمز از API Settings): ورود به Apicbase و چسباندن کدی که Apicbase بعد از آن نشان میدهد؛
- token منقضیشده (پس از 7 روز) را صندوق خودکار با refresh token تمدید میکند.
- Outlet: دریافت outletها و انتخاب outlet این کسبوکار. صندوق آنجا POS را با location-id خودش روی Generic POS API تنظیم میکند (قابل وارد کردن؛ پیشفرض
HORECAPOS-…، برای هر صندوق یکتا). - روشن، با تیکها:
- محصولات، گروهها و گزینهها به Apicbase: گروههای محصول، محصولات (PLU = شمارهٔ PLU محصول، وگرنه کد، وگرنه id)، گزینهها بهعنوان modifiers، با قیمت و مالیات. خودکار پس از هر تغییر (پس از یک دقیقه) و هر روز. سپس در Apicbase هر محصول صندوق را به یک دستور پخت وصل میکنی؛
- هر رسید پرداختشده به Apicbase: قدیمیترها اول، حداکثر 100 در هر بار، ظرف یک ربع پس از پرداخت (و هر 5 دقیقه). تخفیف میان سطرها تقسیم میشود؛ مبالغ آزاد، هزینهٔ بستهبندی یکبارمصرف و ودیعه بهصورت محصول جداگانه در Apicbase میآیند؛ محصولات وزنی بهصورت 1 عدد با مبلغ کل. اگر موفق نشود، صندوق متوقف میشود (Apicbase رسیدها را به ترتیب میخواهد) و بعداً دوباره تلاش میکند: پرداخت تحت تأثیر قرار نمیگیرد. هنگام روشن کردن انتخاب میکنی از کدام روز (پیشفرض از همین حالا)؛
- دریافت بهای تمامشدهٔ هر پرس (هر 6 ساعت): برای هر دستور پخت وصلشده food cost (مواد اولیه و ضایعات)، با هزینهٔ پرسنل، قیمت فروش و حاشیهٔ سود طبق Apicbase. محاسبه بر اساس ارزانترین تأمینکننده، آخرین قیمت سفارش یا میانگین ارزش موجودی؛
- گرفتن قیمت فروش از Apicbase (پیشفرض خاموش): قیمت فروش محصولات وصلشده را در صندوق میگذارد (در گزارش رویدادها ثبت میشود).
- پایین صفحه: بهای تمامشده برای هر محصول با بهای تمامشده، بهای تمامشده با پرسنل، قیمت در صندوق، بهای تمامشده % و حاشیهٔ سود. دکمههای ارسال کاتالوگ همین حالا، ارسال رسیدها همین حالا و دریافت بهای تمامشده همین حالا.
کد: apps/pos-server/src/lib/apicbase.ts، routes/apicbase.ts؛ صفحه Apicbase.tsx. گزارش رویدادها: Apicbase. پیشنیاز: ماژول API در Apicbase. برای اپ Pin Voordeel برای همهٔ مشتریان: همکاری و گواهینامه از Apicbase (backlog را ببین). مستندات: https://developers.apicbase.com/docs/generic-pos-api-guide
نرمافزار هتل: روی اتاق گذاشتن
برای رستوران یا بار در هتل: صورتحساب را روی اتاق یک مهمان بگذارید. بهطور پیشفرض خاموش: تنظیمات → هتل (دسترسی تنظیم کسبوکار، پرداخت و چاپگرها).
- یک فهرست با همهٔ نرمافزارهای هتل (نرمافزار هتل که هتل از آن استفاده میکند). اتصالهای داخلی:
- Mews (Connector API: توکن کلاینت client token و توکن دسترسی access token، سرویس رستوران و برای هر نرخ مالیات بر ارزش افزوده کد مالیات در Mews)، apaleo (اپ اختصاصی با شناسهٔ کلاینت client-id و رمز کلاینت client secret، شناسهٔ اقامتگاه property-id؛ و در صورت نیاز برای هر نرخ مالیات نوع مالیات) و Cloudbeds (کلید API و شناسهٔ اقامتگاه property-id)، هر کدام با یک محیط آزمایشی و یک محیط واقعی؛
- Oracle OPERA Cloud (OHIP)، protel (protel I/O)، RoomRaccoon، Booking Experts، Amadeus (XMLPOS)، VIPS، Stayntouch، Clock PMS+، Guestline (Rezlynx)، Hotelogix، eviivo، Little Hotelier، Shiji و Infor HMS (Databridge). پس از انتخاب، دقیقاً فیلدهای مربوط به همان نرمافزار هتل نمایش داده میشود (کلیدها، شناسهٔ هتل، در صورت نیاز آدرس API آنها و برای هر نرخ مالیات کد آنها)، همراه با توضیح کوتاهی دربارهٔ آنچه باید از تأمینکننده درخواست کنید. این اتصالها بر اساس مستندات تأمینکنندگان ساخته شدهاند؛ از تأمینکننده بخواهید اتصال را تأیید کند و ابتدا با تست اتصال و یک رسید امتحان کنید؛
- یک دمو (چهار سوئیت، اتاق 4 تا 7) برای امتحان کردن؛
- Sirvoy، بهصورت اتصال نیمه و فقط با Sirvoy Pro. Sirvoy هیچ API ندارد که صندوق بتواند چیزی روی یک رزرو بگذارد، حتی با فایل (درونریزی CSV فقط رزرو جدید میسازد). با این اتصال صندوق مهمانان را میشناسد (اتاق، نام، ورود، خروج): جستوجو در روی اتاق و سلفسرویس در کیوسک و در فروشگاه اینترنتی عادی کار میکنند. رسید خودبهخود به Sirvoy نمیرود: پس از تسویه حساب در تنظیمات → هتل زیر باید در Sirvoy وارد شود میآید، با اتاق، مهمان، شمارهٔ رسید و مبلغ به تفکیک نرخ مالیات. هتل آن را دستی بهعنوان اضافه روی رزرو وارد میکند و روی وارد شد کلیک میکند (بازگشت با هنوز نه). لازم است:
- ترجیحاً صندوقی که به پرتال مدیریت وصل است: در این صورت نشانی از طریق پرتال میگذرد (
https://<portaal>/hotel/<kassa-id>/sirvoy?sleutel=...) و در هتل نیازی به باز کردن پورت نیست. در غیر این صورت خود صندوق باید از اینترنت از طریق https در دسترس باشد (دامنهٔ خودتان با گواهی یا port forwarding؛ Sirvoy نسخهٔ TLS 1.2 یا بالاتر میخواهد) و آن نشانی را وارد میکنید؛ - نشانی فقط یک بار دیده میشود؛ صندوق فقط hash آن را نگه میدارد. ساختن نشانی جدید = نشانی قدیمی دیگر کار نمیکند؛
- ترجیحاً صندوقی که به پرتال مدیریت وصل است: در این صورت نشانی از طریق پرتال میگذرد (
Sirvoy فقط وقتی رزروی تغییر کند چیزی میفرستد: رزروهای پیش از اتصال را صندوق فقط پس از تغییری در Sirvoy میشناسد. پیامها ممکن است درهم برسند؛ پیامی قدیمیتر (generatedAt) از آنچه صندوق دارد نادیده گرفته میشود. در هتل = لغو نشده و خارج نشده، پذیرش شده یا ورود امروز یا پیشتر، و خروج امروز یا بعدتر. تست اتصال میگوید چند رزرو رسیده است.
همهٔ نرمافزارهای هتل در هلند و/یا بلژیک فروخته میشوند. تست اتصال اطلاعات را بررسی میکند. کد هر اتصال: apps/pos-server/src/lib/pms/<naam>.ts.
- سلفسرویس (بهطور پیشفرض خاموش): مهمان هتل سفارشش را خودش به حساب اتاقش میگذارد، در کیوسک و/یا در فروشگاه اینترنتی (بردن و ارسال، نه هنگام سفارش سر میز). او شمارهٔ اتاق و نام خانوادگیاش را وارد میکند؛ صندوق در نرمافزار هتل بررسی میکند که آیا این مهمان اکنون در آن اتاق اقامت دارد. با سقف مبلغ برای هر سفارش (پیشفرض € 150)، و پس از 5 تلاش نادرست در یک ربع ساعت، اول باید به پذیرش مراجعه کند. پیام هرگز نمیگوید چه کسی در اتاق اقامت دارد.
- تسویه حساب: اگر اتصال روشن باشد، روش پرداخت روی اتاق هست. مهمان را با نام یا شمارهٔ اتاق جستوجو کنید (فقط مهمانانی که اکنون در هتل اقامت دارند) و روی روی اتاق ... بگذار بزنید. صندوق رسید را به تفکیک نرخ مالیات روی صورتحساب هتل مهمان ثبت میکند؛ مهمان هنگام تسویهٔ اتاق میپردازد.
- بلژیک: اگر سفارش از قبل سر میز در جعبهٔ سیاه ثبت شده باشد، اول از میز به اتاق میرود (signCostCenterChange به ROOM، UC4101)؛ رسید بهعنوان اعتبار اتاق (ROOM_CREDIT) به جعبهٔ سیاه میرود.
- اگر ثبت در نرمافزار هتل ناموفق باشد (بدون اینترنت)، فروش انجام شده و ثبت بهصورت ناموفق در تنظیمات → هتل میآید، با دوباره.
- گزارشها و حسابداری: روی اتاق (هتل) یک روش پرداخت جداگانه در گزارش X و Z، در گزارش روزانه و فایل حسابرسی (XAA) است.
کد: apps/pos-server/src/lib/hotel.ts، routes/hotel.ts، اتصالها در lib/pms/، کاتالوگ packages/shared/src/hotelcatalogus.ts؛ صفحه Hotel.tsx. گزارش رویدادها: هتل. رمزها (tokens) فقط در پایگاه دادهاند و هرگز روی صفحه نمیآیند.
مدیریت شراب با Vinify
تنظیمات → مدیریت شراب (پیشفرض خاموش؛ خاموش کردن همه چیز را حفظ میکند). Vinify انبار شراب، فهرست شراب و موجودی را پیگیری میکند و منبع اصلی شرابهاست. طبق الزامات POS در Vinify، صندوق یک API ارائه میدهد که با آن Vinify میتواند:
وارد شود، با هر سه روشی که Vinify میشناسد (مدیر تعیین میکند کدام روشن باشد):
- API-id و کلید API (
X-Api-IdوX-Api-Key، یاAuthorization: Bearer <id>:<sleutel>)؛ - کلید API و API-secret با امضا:
X-Api-Key،X-TimestampوX-Signature= hex HMAC-SHA256(secret,<timestamp>\n<METHODE>\n<pad met query>\n<sha256 van de body>)، حداکثر 5 دقیقه قدمت.
کلید و secret را صندوق میسازد (یک بار نمایش داده میشوند)؛ صفحهها فقط میبینند که وارد شدهاند یا نه. از طریق پورتال در https://<portaal>/vinify/<kassa-id>/... در دسترس است (بدون باز کردن پورت در محل؛ آدرس در تنظیمات → مدیریت شراب است). کدام محصولات شراب هستند: آنچه Vinify میسازد، بهعلاوه گروههایی که علامت میزنید. اگر Vinify آدرسی برای ارسال فروشها بدهد، صندوق خودش هم آنها را میفرستد (push، با توکن): پس از هر رسید پرداختشده و هر 5 دقیقه آنچه هنوز موفق نشده. Vinify اتصال به HorecaPOS را فعال میکند (hello@vinify.no). همه چیز در گزارش رویدادها. با Vinify.nl اشتباه نشود، که یک فروشگاه آنلاین شراب است: در میان تأمینکنندگان است (سفارش به تأمینکنندگان).
ورود سریع آدرس با کد پستی و پلاک
روشن کردن در تنظیمات → کسبوکار → ورود سریع آدرس (پیشفرض خاموش؛ فقط برای کسبوکاری در هلند). کد پستی و پلاک را تایپ کنید (با حرف یا پسوند هم، مثلاً 12A یا 12-1) و روی جستجوی آدرس بزنید: خیابان، پلاک، کد پستی و شهر پر میشوند. اگر روی آن شماره چند آدرس باشد (12، 12A، 12B)، آدرس درست را انتخاب میکنید. بعد از آن هنوز میتوانید همه چیز را خودتان تغییر دهید.
- در اطلاعات کسبوکار (تنظیمات → کسبوکار، بالای آدرس).
- برای مشتری کارت مشتری: در صندوق هنگام ثبت مشتری جدید و در گزارش → مشتریان. برای این کار مشتریان یک آدرس (اختیاری) دارند: خیابان و پلاک، کد پستی و شهر.
- آدرسها از سرور مکان PDOK رایگان میآیند (آدرسهای رسمی هلند، BAG): حساب یا کلید لازم نیست، فقط اینترنت. بدون اینترنت یا برای آدرس بلژیکی، آدرس را خودتان تایپ کنید.
اعلان نسخهٔ جدید
از تنظیمات ← کسبوکار ← اعلان بهروزرسانی روشنش کنید (پیشفرض خاموش).
- صندوق بهروز شد: اگر سرور صندوق بهروز شده باشد در حالی که یک تبلت هنوز صفحههای قدیمی را باز دارد، بالای صفحه "صندوق بهروز شد (نسخه …)" با دکمه تازهسازی نمایش داده میشود. تبلت هر 5 دقیقه، هنگامی که صفحه دوباره نمایان میشود و پس از راهاندازی دوباره سرور بررسی میکند.
- بهروزرسانی موجود است: اگر صندوق به پورتال مدیریت وصل باشد (
PORTAAL_URL/PORTAAL_SLEUTEL) و در آنجاNIEUWSTE_VERSIEپر شده باشد، کسی که اجازه مدیریت تنظیمات را دارد پیام "بهروزرسانی موجود است: نسخه …" را میبیند (با توضیحاتUPDATE_NOTITIE). بعداً این پیام را روی آن تبلت پنهان میکند تا وقتی نسخه جدیدتری بیاید. بهروزرسانی مثل همیشه باscripts\windows\update.cmdانجام میشود (بخش «بهروزرسانی» را ببینید).
پلتفرمهای رزرو
رزروهای TheFork، Formitable، Zenchef، Resengo (فقط بلژیک)، OpenTable (فقط هلند)، PlanPanther، RestoManager و Aqqo (فقط هلند) خودکار وارد صندوق و نقشهٔ سالن میشوند. از تنظیمات → پلتفرمهای رزرو روشن کنید (بهطور پیشفرض خاموش). فقط در صورتی که رزروها روشن باشند.
- کشور کسبوکار: فقط میتوانید پلتفرمهایی را انتخاب کنید که در کشور کسبوکار کار میکنند (Resengo فقط در بلژیک، OpenTable و Aqqo فقط در هلند). سرور نیز این را بررسی میکند.
- چند پلتفرم همزمان: میتوانید چند پلتفرم را کنار هم وصل کنید، مثلاً TheFork و Formitable. دو پلتفرم هرگز یک میز را در یک بازه زمانی نمیگیرند؛ در این صورت رزرو دوم بدون میز ثبت میشود.
- + اتصال پلتفرم: پلتفرم را انتخاب کنید و اطلاعات را وارد کنید. اطلاعات محرمانه (Client secret، کلید بازگشت) هرگز در نمای کلی نمایش داده نمیشوند؛ خالی گذاشتن = حفظ، پاک کردن = حذف.
- TheFork (API عمومی B2B): Restaurant-UUID، Client ID و Client Secret (از TheFork درخواست کنید). اگر صندوق لغو کند، در TheFork هم لغو میکند.
- Formitable، Zenchef، Resengo، OpenTable، PlanPanther، RestoManager، Aqqo: API آنها فقط برای شرکا است یا عمومی نیست (PlanPanther، RestoManager و Aqqo: اتصال به صندوق با هماهنگی آنها انجام میشود). رویدادهای Formitable (
booking.created،.changed،.canceled،.checkin،.checkout) شناسایی میشوند. - روی نقشهٔ سالن: اگر میزی در صندوق همان نام میز پلتفرم را داشته باشد و در آن بازهٔ زمانی آزاد باشد، رزرو روی آن میز قرار میگیرد؛ در غیر این صورت بدون میز (هنگام ورود انتخاب کنید). رزروی که دوباره برسد بهروزرسانی میشود، نه تکراری. در نمای کلی "از طریق TheFork" نمایش داده میشود.
- وضعیت: اگر پلتفرم لغو کند یا no-show گزارش دهد، صندوق آن را میپذیرد. آنچه در صندوق قبلاً رسیده ثبت شده، رسیده باقی میماند.
- گزارش بازگشت (بازگشت no-show): یک نشانی بازگشت وارد کنید (مثلاً نشانی سرویس اتصال خود). صندوق هر تغییر در صندوق (رسیده، no-show، لغوشده، پرداختشده با مبلغ) را بهصورت JSON میفرستد:
{ platform, id, status, statusEn, bedrag, valuta, tafel, tijdstip, gemeldOp }(مبلغ به سنت، فقط هنگام پرداخت)، همراه باAuthorization: Bearer <terugmeld-sleutel>اگر آن را وارد کرده باشید. اگر موفق نشود، صندوق هر دقیقه دوباره تلاش میکند و خطا کنار پلتفرم نمایش داده میشود. آنچه از خود پلتفرم آمده، بازگردانده نمیشود. - رزرو آزمایشی: رزروی میسازد همانطور که پلتفرم آن را میفرستاد.
- حذف: اتصال و کلید حذف میشوند؛ رزروها باقی میمانند.
- همهٔ تغییرات در گزارش رویدادها ثبت میشوند (بدون اطلاعات محرمانه).
باشگاههای مشتریان و نظرات
دو کلید جداگانه در تنظیمات ← امتیاز و نظرات (هر دو پیشفرض خاموش، در این صورت هیچجا چیزی از آنها دیده نمیشود). اگر خاموششان کنید، تنظیمات و آنچه قبلاً انجام شده حفظ میشود.
باشگاه مشتریان یک پلتفرم دیگر: مهمان در Joyn (بلژیک) و/یا Piggy (Leat؛ هلند و بلژیک) امتیاز جمع میکند. این جدا از کارت مشتری خود صندوق است؛ هر دو میتوانند همزمان روشن باشند.
- چند تا همزمان: در بلژیک Piggy و Joyn میتوانند با هم روشن باشند، هر کدام با اطلاعات خودش (پلتفرم را انتخاب کنید، پر کنید، ذخیره؛ ویرایش و حذف برای هر پلتفرم). مهمان برای هر برنامه کد QR جداگانه روی رسید، لینک جداگانه در رسید ایمیلشده و دکمه جداگانه در فروشگاه اینترنتی میگیرد و در هر برنامه برای هر سفارش یک بار امتیاز جمع میکند. آنچه قبلاً تنظیم شده بود، مثل قبل کار میکند.
- کد QR روی رسید: بعد از پرداخت، زیر رسید یک کد QR با "اسکن کنید و در ... امتیاز جمع کنید" چاپ میشود. در رسید ایمیلی یک لینک هست، و در فروشگاه اینترنتی (بیرونبر و ارسال) یک دکمه در صفحه سفارش و یک لینک در ایمیل تأیید. هر سفارش فقط یک بار امتیاز میدهد: رسید، ایمیل و فروشگاه اینترنتی از یک کد یکتا (شماره سفارش) استفاده میکنند. "کد QR روی رسید چاپی" را میتوانید خاموش کنید؛ ایمیل و فروشگاه اینترنتی همچنان لینک را دارند.
- Piggy، روش "کد QR و لینک": آدرس پورتال مشتریان Piggy خود، Shop UUID و Account secret را وارد کنید (Piggy Business Dashboard). بدون اینترنت کار میکند: صندوق خودش لینک را میسازد.
- Piggy، روش "ثبت فوری امتیاز": علاوه بر آن یک personal access token وارد کنید (Piggy ← Marketplace ← Private App). اگر صندوق رسید را ایمیل کند و مهمانی با آن آدرس ایمیل از قبل عضو باشد، صندوق امتیازها را فوراً ثبت میکند؛ روی رسید "امتیاز در Piggy ثبت شد" چاپ میشود. صندوق هرگز عضو جدید نمیسازد؛ غیرعضو (یا بدون آدرس ایمیل) = کد QR.
- Joyn، روش "کد QR و لینک": با partner key، shop reference و shared secret Joyn (درخواست از طریق api-integration@joyn.be). بدون اینترنت کار میکند. کد QR به مدت 2 ساعت معتبر است.
- Joyn، روش "از طریق API": با shop API key (اتصال را در پورتال فروشندگان Joyn فعال کنید). صندوق هنگام پرداخت یک کد امتیاز از Joyn درخواست میکند. استفاده از امتیازها مثل همیشه روی Joyn-iPad انجام میشود.
- ساخت لینک نمونه: بررسی میکند که اطلاعات درست باشد (لینکی به مبلغ € 10؛ فقط برای دیدن باز کنید).
- فقط پلتفرمهای کشور کسبوکار قابل انتخاباند؛ رمزها فقط در پایگاه داده ذخیره میشوند و هرگز روی صفحه نمایش داده نمیشوند (خالی گذاشتن = حفظ مقدار فعلی).
درخواست نظر: بعد از مراجعه یک ایمیل با دکمهای به Google و/یا Trustpilot.
- چند ساعت بعد (قابل تنظیم، پیشفرض 3) مهمان ایمیل را به زبان رسید دریافت میکند.
- فروشگاه اینترنتی: برای بیرونبر و ارسال، خود فروشگاه اینترنتی ایمیل میفرستد، چند ساعت پس از تکمیل سفارش در صندوق، به زبان مهمان.
- Google: لینک نظر را از نمایه کسبوکار خود جایگذاری کنید (Google ← نمایه کسبوکار شما ← درخواست نظر،
https://g.page/r/.../review) یا Place ID را وارد کنید. - Trustpilot: دامنه کسبوکار خود را وارد کنید (دکمه به
trustpilot.com/evaluate/<domein>میرود). اگر در Trustpilot یک آدرس دعوت دارید (Automatic Feedback Service،...@invite.trustpilot.com)، آن را هم وارد کنید: در این صورت ایمیل بهصورت BCC به Trustpilot هم میرود، با نام، آدرس ایمیل و شماره رسید بهصورت نامرئی، و Trustpilot خودش دعوت را میفرستد (پس دکمه Trustpilot جداگانهای نیست). فقط Trustpilot با آدرس دعوت: صندوق فقط به Trustpilot ایمیل میزند. - نه خیلی زیاد: هر مهمان (آدرس ایمیل) در هر دوره حداکثر یک درخواست دریافت میکند (پیشفرض 90 روز؛ 0 = هر بار). برای این کار صندوق فقط یک هش از آدرس نگه میدارد؛ خود آدرس ایمیل بلافاصله پس از ارسال ایمیل پاک میشود (اگر ارسال نشود، پس از سه تلاش، و در غیر این صورت پس از 14 روز).
- کد QR روی رسید (اختیاری): یک کد QR برای نظر هم زیر رسید چاپی.
- پیشنمایش ایمیل و پاک کردن ایمیلهای در انتظار (آدرسها بلافاصله پاک میشوند). گزارش رویدادها review_gevraagd را با a***@domein.nl نشان میدهد.
- Google و Trustpilot دادن پاداش برای نظر و درخواست فقط از مهمانان راضی ("review gating") را ممنوع میکنند. به همین دلیل صندوق از همه یکسان درخواست میکند و در ازای نظر چیزی نمیدهد.
- خواندن و پاسخ دادن به نظرات در صندوق: مدیریت نظرات را در پایین ببینید.
اتصال به Mailchimp و Klaviyo
مشتریان کارت مشتری در برنامهٔ ایمیل خودتان: در تنظیمات → کسبوکار → Mailchimp و Klaviyo (زیر بازاریابی پیامکی و ایمیلی). کلید روشن/خاموش ندارد: بدون اتصال با فهرست انتخابشده هیچ اتفاقی نمیافتد.
- اتصال: با یک کلید API (Mailchimp: Profile → Extras → API keys؛ Klaviyo: یک کلید خصوصی
pk_…با مجوز نوشتن برای Lists، Profiles، Subscriptions، Events، Campaigns و Templates). client secret و کلید هرگز دوباره نمایش داده نمیشوند (خالی گذاشتن = حفظ). سپس فهرست را انتخاب میکنید (Mailchimp: audience). - مشتریان: هر کس اجازهٔ ایمیل داده به فهرست میرود (مشترک)، با نام، نام خانوادگی، تلفن، تولد و امتیازهای وفاداری (Mailchimp: فیلد
PUNTENکه صندوق خودش میسازد؛ Klaviyo: ویژگیpunten). اجازه پس گرفته شد، ایمیل تغییر کرد یا مشتری حذف شد: لغو اشتراک. فقط آنچه تغییر کرده دوباره ارسال میشود. با اتصال، صندوق (و تیک "پیشنهادها" در فروشگاه اینترنتی) از هر مشتری جدید اجازهٔ ایمیل هم میخواهد و میتوان آن را در گزارش → مشتریان تغییر داد، حتی بدون بازاریابی ایمیلی خود صندوق. - لغو اشتراک: هر کس در Mailchimp یا Klaviyo اشتراکش را لغو کند، در صندوق هم دیگر اجازهٔ ایمیل ندارد (گزارش رویدادها: "لغو اشتراک در Mailchimp"). کسی که خودش اشتراکش را لغو کرده، صندوق دوباره مشترکش نمیکند.
- سفارشها: هر رسید پرداختشدهٔ مشتریِ داخل فهرست بهعنوان رویداد ارسال میشود (Mailchimp:
bestelling، با مبلغ، شمارهٔ رسید و تعداد؛ Klaviyo:Placed Order، با ارزش به یورو). با این کار در برنامهٔ ایمیل، ایمیلهای خودکار میسازید، مثلاً پس از اولین سفارش یا وقتی کسی یک ماه نیامده است. رسیدهای پیش از انتخاب فهرست ارسال نمیشوند. - کمپینها: در گزارش → بازاریابی یک کمپین را از طریق Mailchimp یا Klaviyo هم ارسال میکنید (ببینید بازاریابی پیامکی و ایمیلی)؛ آنگاه صندوق کمپین را آنجا میسازد و ارسال میکند.
- بهروزرسانی: هر 5 دقیقه، یا با اکنون بهروزرسانی کن. قطع اتصال: از صندوق حذف میشود؛ در Mailchimp و Klaviyo همهچیز باقی میماند. کلیدها در پایگاه داده هستند (در پشتیبان هستند، در خروجی پیکربندی نیستند).
کد: lib/mailinglijst.ts، routes/mailinglijst.ts و MailingKoppelingen.tsx.
BI و خروجی داده
دادههای فروش به Power BI، Looker Studio، Excel، Google Sheets، Tableau، Qlik Sense، Metabase، یک سرویس BI (برای نمونه YourBI، BI4Horeca یا Moore DRV) یا انبار داده خودتان. فعالسازی در تنظیمات ← BI و خروجی داده (پیشفرض خاموش). فقط خواندنی: از طریق اتصال هیچ چیزی در صندوق قابل تغییر نیست. بدون دادههای مهمانان.
- دادهها: رسیدها (رسیدهای برگشتی هم)، محصولات فروختهشده (ردیفهای رسید)، پرداختها، فروش روزانه، فروش ساعتی، ابطالها، محصولات، کارکنان (بدون کد پین) و ساعات کاری. مبالغ به یورو با نقطه بهعنوان جداکننده اعشار، زمانها به وقت محل کسبوکار.
- + اتصال: نرمافزار و روش را انتخاب کنید. هر نرمافزار از یک یا چند روش پشتیبانی میکند؛ میتوانید همزمان چند اتصال داشته باشید (حتی برای یک نرمافزار).
- نرمافزار خودش دریافت میکند (API): صندوق یک بار یک کلید فقطخواندنی میدهد. بازه با
?van=&tot=(YYYY-MM-DD) یا یک نشانی ثابت با?periode=(vandaag, gisteren, 7d, 30d, 90d, 365d, week, maand, vorigemaand, jaar)؛ حداکثر 366 روز، حداکثر 200.000 ردیف. کلید درAuthorization: Bearer،X-Sleutelیا?sleutel=. - از طریق پورتال: اگر صندوق به پورتال مشتریان متصل باشد، همان نشانی از بیرون محل کسبوکار هم کار میکند، بدون باز کردن پورت:
https://<portaal>/bi/<kassa-id>/<gegevens>?periode=90d&formaat=csv&sleutel=.... به این ترتیب سرویس Power BI آن را طبق زمانبندی بهروز میکند (بدون gateway) و Google Sheets میتواند آن را با=IMPORTDATA("...")دریافت کند (که منبع Looker Studio هم هست). صندوق نشانی را کنار اتصال نشان میدهد. - نمای کلی زنجیره از طریق پورتال مشتری (چند شعبه): یک نشانی و یک کلید برای همه صندوقهای شما با هم. در هر صندوقی که باید شرکت کند، نمای کلی زنجیره از طریق پورتال مشتری را روشن کنید (زیر سوئیچ BI) و در پورتال مشتری در بخش صندوقهای من → BI برای همه شعبههای شما یک کلید بسازید. سپس:
https://<portaal>/bi/keten/<gegevens>?periode=90d&formaat=csv&sleutel=hpk_.... پورتال دادهها را از هر صندوق دریافت و ادغام میکند و در هر ردیفkassaIdوzaakآمده است. صندوقهایی که آفلاین هستند یا شرکت نمیکنند درontbrekend(JSON) و در سرآیندX-Ontbrekendقرار میگیرند. خود صندوق برای این کار به کلید جداگانه نیاز ندارد؛ خاموش کردن آن در صندوق یا در پورتال مشتری آن را متوقف میکند. - با توکن، توکن بهصورت
Authorization: Bearerارسال میشود و یک امضا درX-HorecaPOS-Handtekeningقرار میگیرد (sha256=HMAC محتوا). اگر موفق نشود، صندوق هر دقیقه دوباره تلاش میکند؛ هیچ چیز دو بار ارسال نمیشود. با گزینه از تاریخ رسیدهای قدیمیتر را هم میفرستد. - صندوق فایل تحویل میدهد: هر روز (در یک ساعت مشخص، برای روز قبل؛ روزهای جاافتاده جبران میشوند) یا هر ساعت (امروز تا این لحظه)، بهصورت CSV (ویرگول، یا نقطهویرگول برای Excel هلندی) یا JSON، به یک پوشه روی رایانه صندوق (برای نمونه یک پوشه OneDrive یا SharePoint برای Power BI یا Excel)، یک سرور FTP(S) یا SFTP یا با ایمیل. نام فایلها:
horecapos_<gegevens>_<datum>.csv. - ارسال آزمایشی (push) و خروجی گرفتن اکنون (فایل) کنار اتصال.
- دانلود توسط خودتان: دادهها، بازه زمانی و قالب را انتخاب کنید.
- قالب Power BI (
.pbit): یک گزارش آماده برای Power BI Desktop، با دانلود قالب Power BI در BI و خروجی داده. ابتدا یک اتصال API (Power BI) بسازید. در مدل: یک جدول برای هر مجموعه داده با نوعهای درست، یک تقویم (سال، ماه، هفته، روز هفته)، روابط (تاریخ ← تقویم، ردیفهای رسید ← محصولات، ساعات کاری ← کارکنان) و سنجهها (فروش با و بدون مالیات، مالیات، انعام، رسیدها، مهمانها، میانگین هر رسید و هر مهمان، تعداد فروختهشده، فروش محصول، پرداختشده، برگشتیها، ساعات کاری، فروش به ازای هر ساعت کاری). سه صفحه: نمای کلی (ارقام اصلی، فروش بر اساس روز، روز هفته و ساعت، روشهای پرداخت)، محصولات (بر اساس گروه و محصول) و کارکنان (ساعات و فروش هر کارمند). از طریق پرتال، سرویس Power BI هم طبق برنامه آن را بهروز میکند. - اطلاعات محرمانه (توکن، رمز عبور، کلید) هرگز در نمای کلی نمایش داده نمیشوند؛ خالی گذاشتن = نگه داشتن، پاک کردن = حذف. همه چیز در گزارش رویدادها ثبت میشود (بدون اطلاعات محرمانه).
حقوق و برنامهریزی
با روشن بودن ثبت ورود و خروج کارکنان (تنظیمات → کسبوکار)، در تنظیمات → ساعات کاری در پایین حقوق و برنامهریزی (دسترسی مدیریت تنظیمات) در دو بخش جداگانه قرار دارد. اگر ثبت ورود و خروج خاموش باشد، ساعتی وجود ندارد: در این حالت فقط بخش برنامهریزی کارکنان (فروش، زنده یا بهصورت فایل فروش) در پایین تنظیمات → حسابداری، زیر عنوان فروش به برنامهریزی شما قرار دارد:
- حقوق و دستمزد (payroll): نرمافزار حقوق و دستمزد یا (بلژیک) دبیرخانهٔ اجتماعی را انتخاب کنید، فیلدهای آن را پر کنید و برای هر کارمند شمارهٔ پرسنلی او در آن نرمافزار را وارد کنید. سپس برای یک دوره فایل ساعات کارکرد (شیفتهای بستهشده، برای هر کارمند به تفکیک روز ثبت ورود) و فروش هر کارمند (بدون مالیات بر ارزش افزوده، آنچه او حساب کرده است) را میسازید: آماده برای Loket.nl (Variabele gegevens، جمع هر کارمند در طول دوره، سطر سرستون
aanslnr;persnr;ploeg;<looncomponent>) و SD Worx بلژیک (Tijdsregistratie، موقعیتهای ثابت، برای هر کارمند در هر روز)، در غیر این صورت فهرست ساعات (CSV: تاریخ؛ شمارهٔ پرسنلی؛ نام؛ ساعات؛ فروش بدون مالیات بر ارزش افزوده). کارکنان بدون شمارهٔ پرسنلی در فایل Loket یا SD Worx نمیآیند؛ صندوق اعلام میکند چه کسانی هستند. - برنامهریزی کارکنان (WFM): سیستم برنامهریزی را انتخاب کنید. ارسال دوباره، دادههای قبلی را بازنویسی میکند. افزون بر این فهرست فروش (CSV به تفکیک روز و ساعت، بدون و با مالیات بر ارزش افزوده) و برای Strobbo فایل Excel برای Importeer omzet.
- فقط نرمافزارهایی که در کشور کسبوکار کار میکنند، به تفکیک گروه و به ترتیب الفبا؛ سرور نرمافزاری از کشور دیگر را نمیپذیرد (400).
- کلیدها و توکنها هرگز روی صفحه نمایش داده نمیشوند.
- بر حسابداری اثر دارد: هزینهٔ دستمزد را نرمافزار حقوق و دستمزد در حسابداری ثبت میکند، فروش را صندوق (تنظیمات → حسابداری). AFAS Payroll و Exact Online Loon در همان محیط حسابداری AFAS و Exact هستند.
- روی نسخهٔ کپی صندوق در پورتال این کار ممکن نیست (صندوق داخل کسبوکار آن را انجام میدهد).
- API برخی نرمافزارها عمومی نیست یا فقط برای شرکا در دسترس است (از جمله Loket، Nmbrs، Nostradamus، Employes، Shyfter، Planday، Eitje): اینها با در صورت درخواست مشخص شدهاند؛ تا آن زمان فایل. ساختار فایل SD Worx و Strobbo از مستندات خود آنها گرفته شده است: اولین ورود داده را بدهید بررسی کنند.
| نرمافزار | NL | BE | مستقیم | فایل | توضیح |
|---|---|---|---|---|---|
| نرمافزارهای حقوق و دستمزد و ارائهدهندگان خدمات حقوق و دستمزد | |||||
| ADP | ✓ | ✓ | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | اتصال از طریق ADP (در صورت درخواست)؛ تا آن زمان فهرست ساعات برای هر کارمند و هر روز. |
| AFAS Payroll | ✓ | – | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | حقوق و دستمزد در AFAS Profit (همان محیط حسابداری در AFAS)؛ اتصال در صورت درخواست، تا آن زمان فهرست ساعات. |
| BCS HR | ✓ | – | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | اتصال از طریق BCS (در صورت درخواست)؛ تا آن زمان فهرست ساعات. |
| Buddee | ✓ | – | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | نرمافزار منابع انسانی و حقوق و دستمزد؛ اتصال در صورت درخواست، تا آن زمان فهرست ساعات برای هر کارمند و هر روز. |
| Employes | ✓ | – | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | Employes یک API برای ساعات کارکرد دارد (توکن مشتری)؛ اتصال پس از هماهنگی با Employes انجام میشود. تا آن زمان فهرست ساعات. |
| Exact Online Loon | ✓ | – | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | حقوق و دستمزد در Exact Online (همان محیط حسابداری در Exact)؛ اتصال در صورت درخواست، تا آن زمان فهرست ساعات. |
| Humanwave | ✓ | – | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | اتصال از طریق Humanwave (در صورت درخواست)؛ تا آن زمان فهرست ساعات. |
| Loket.nl | ✓ | – | با درخواست | Loket.nl Variabele gegevens (CSV), فهرست ساعات برای هر کارمند و هر روز (CSV) | فایل برای Werkgever → Collectieve mutaties → Importeren → Variabele gegevens (ساعات هر کارمند در طول دوره). بهصورت زنده از طریق API مربوط به Loket پس از ثبتنام نزد Loket. |
| Nmbrs | ✓ | – | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | فهرست ساعات برای هر کارمند و هر روز، برای وارد کردن در Nmbrs. بهصورت زنده از طریق API مربوط به Nmbrs پس از ثبت یک اپ نزد Nmbrs. |
| Salar (Van Winckel) | ✓ | – | – | فهرست ساعات برای هر کارمند و هر روز (CSV) | فهرست ساعات برای هر کارمند و هر روز برای دفتر حسابداری؛ قالب ورود دادههای Salar عمومی نیست. |
| دبیرخانههای اجتماعی | |||||
| Acerta | – | ✓ | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | دبیرخانهٔ اجتماعی: ساختار فایل کارکرد را از Acerta دریافت میکنید؛ تا آن زمان فهرست ساعات. |
| Group S | – | ✓ | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | دبیرخانهٔ اجتماعی: ساختار فایل کارکرد را از Group S دریافت میکنید؛ تا آن زمان فهرست ساعات. |
| Liantis | – | ✓ | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | دبیرخانهٔ اجتماعی با یک API که Liantis برای هر شرکت جداگانه فعال میکند؛ تا آن زمان فهرست ساعات. |
| Partena Professional | – | ✓ | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | دبیرخانهٔ اجتماعی: ساختار فایل کارکرد را از Partena دریافت میکنید؛ تا آن زمان فهرست ساعات. |
| SD Worx | ✓ | ✓ | – | SD Worx Tijdsregistratie (TXT), فهرست ساعات برای هر کارمند و هر روز (CSV) | بلژیک: فایل Tijdsregistratie (ثبت زمان؛ موقعیتهای ثابت، برای هر کارمند در هر روز) برای «Tijdsregistratie importeren». هلند: فهرست ساعات. |
| Securex | – | ✓ | با درخواست | فهرست ساعات برای هر کارمند و هر روز (CSV) | دبیرخانهٔ اجتماعی: اتصالها از طریق شرکا انجام میشود؛ تا آن زمان فهرست ساعات. |
| برنامهریزی و ثبت ساعات کار | |||||
| Book'u | – | ✓ | با درخواست | فروش به تفکیک روز و ساعت (CSV) | Book'u اظهارنامههای Dimona را انجام میدهد؛ اتصال به صندوق در صورت درخواست ممکن است. تا آن زمان فهرست فروش. |
| Deputy | ✓ | ✓ | ✓ | فروش به تفکیک روز و ساعت (CSV) | زنده: فروش هر ساعت، هر ساعت به Deputy (Sales) فرستاده میشود. یک توکن دائمی را در Deputy در بخش اتصالهای API میسازید. |
| Dyflexis | ✓ | – | ✓ | فروش به تفکیک روز و ساعت (CSV) | زنده: فروش هر ساعت، هر ساعت به Dyflexis (information streams) فرستاده میشود. توکن API را از طریق Dyflexis دریافت میکنید. |
| Eitje | ✓ | – | با درخواست | فروش به تفکیک روز و ساعت (CSV) | Eitje از طریق برنامهٔ شرکای خود متصل میشود؛ تا آن زمان فهرست فروش به تفکیک روز و ساعت. |
| Exact Horeko | ✓ | – | با درخواست | فروش به تفکیک روز و ساعت (CSV) | اتصال از طریق Horeko (در صورت درخواست)؛ تا آن زمان فهرست فروش. |
| Fooks | ✓ | – | با درخواست | فروش به تفکیک روز و ساعت (CSV) | Fooks اتصالهای صندوق را خودش میسازد؛ تا آن زمان فهرست فروش به تفکیک روز و ساعت. |
| L1NDA | ✓ | – | با درخواست | فروش به تفکیک روز و ساعت (CSV) | L1NDA اتصالهای صندوق را همراه با شرکا میسازد؛ تا آن زمان فهرست فروش به تفکیک روز و ساعت. |
| Mr. Einstein | ✓ | – | با درخواست | فروش به تفکیک روز و ساعت (CSV) | منابع انسانی، شیفتبندی و هزینهٔ دستمزد برای رستوران و کافه؛ Mr. Einstein اتصالهای صندوق را همراه با تأمینکنندهٔ صندوق میسازد (درخواست از طریق mreinstein.nl/contact). تا آن زمان فهرست فروش به تفکیک روز و ساعت. |
| Nostradamus | ✓ | ✓ | با درخواست | فروش به تفکیک روز و ساعت (CSV) | Nostradamus فروش را از طریق رابط صندوق خود دریافت میکند (توکن API و دامنهٔ کسبوکار، پس از درخواست از Nostradamus)؛ تا آن زمان فهرست فروش به تفکیک روز و ساعت. |
| Plan-Me | – | ✓ | با درخواست | فروش به تفکیک روز و ساعت (CSV) | Plan-Me اظهارنامههای Dimona را انجام میدهد؛ اتصال به صندوق در صورت درخواست ممکن است. تا آن زمان فهرست فروش. |
| Planday | ✓ | ✓ | با درخواست | فروش به تفکیک روز و ساعت (CSV) | Planday یک API باز برای سیستمهای صندوق دارد؛ اتصال پس از هماهنگی انجام میشود. تا آن زمان فهرست فروش. |
| Shiftbase | ✓ | – | ✓ | فروش به تفکیک روز و ساعت (CSV) | زنده: فروش هر روز، هر ساعت به دفتر روزانهٔ بخش در Shiftbase فرستاده میشود. کلید API را در Shiftbase در App center میسازید. |
| Shyfter | – | ✓ | با درخواست | فروش به تفکیک روز و ساعت (CSV) | Shyfter اظهارنامههای Dimona را انجام میدهد و فروش روزانه را از طریق API خود میپذیرد؛ اتصال پس از هماهنگی با Shyfter انجام میشود. تا آن زمان فهرست فروش. |
| Strobbo | ✓ | ✓ | – | ورود فروش به Strobbo (Excel), فروش به تفکیک روز و ساعت (CSV) | فایل Excel برای Planning → € → Importeer omzet (فروش هر روز برای هر محل کار). |
| Tamigo | ✓ | ✓ | با درخواست | فروش به تفکیک روز و ساعت (CSV) | اتصال از طریق Tamigo (در صورت درخواست)؛ تا آن زمان فهرست فروش. |
| Werktijden.nl | ✓ | – | – | فروش به تفکیک روز و ساعت (CSV), فهرست ساعات برای هر کارمند و هر روز (CSV) | Werktijden.nl خودش ساعات را ثبت میکند و (هنوز) فروش را از طریق API خود نمیپذیرد؛ فهرستها برای مقایسه هستند. |
| XPS Logic | ✓ | – | با درخواست | فروش به تفکیک روز و ساعت (CSV) | XPS Logic برای کارکنان موقت و نیروی شرکتهای کاریابی طراحی شده است؛ اتصال در صورت درخواست ممکن است. تا آن زمان فهرست فروش. |
الزامات قانونی در بلژیک و هلند
آنچه قانون میخواهد و آنچه HorecaPOS برای آن انجام میدهد (از حسابدارتان بخواهید تأیید کند چه چیزی برای کسبوکار شما صدق میکند):
| کشور | الزام | HorecaPOS |
|---|---|---|
| بلژیک | سیستم صندوق ثبتشده (GKS 2.0) با جعبهٔ سیاه برای کسبوکارهای رستورانی که باید از آن پیروی کنند (از جمله با فروش بیش از € 25.000 در سال از غذا، بدون مالیات بر ارزش افزوده) | اتصال به جعبهٔ سیاه (FDM)، اطلاعات الزامی روی رسید و شمارندهها در گزارش Z (کشور بلژیک در تنظیمات → کسبوکار، FDM_API_KEY و FDM_TERMINAL_ID); در بالای تنظیمات → کسبوکار انتخاب میکنید که آیا کسبوکار مشمول GKS است: بله = تسویه فقط با جعبهٔ سیاه فعال، نه = بدون آن، با اعلام مدیر (هر سال دوباره)؛ تا وقتی چیزی انتخاب نشده، تسویه ممکن نیست. صندوق درآمد غذا را میشمارد و بالای 25.000 € هشدار میدهد |
| بلژیک | صورتحساب الکترونیکی از طریق Peppol: از 1 ژانویهٔ 2026 فاکتورهای میان شرکتهای بلژیکی مشمول مالیات بر ارزش افزوده بهطور الزامی الکترونیکی و ساختاریافته هستند (UBL، Peppol BIS 3)؛ رسیدهای صندوق برای مصرفکنندگان مشمول آن نیستند | صدور فروش روزانه بهصورت UBL مطابق Peppol BIS Billing 3.0 برای نرمافزار حسابداری (خروجی حسابداری)؛ و فاکتور از روی فیش برای مشتریان تجاری (تنظیمات ← فاکتورها): UBL مطابق Peppol BIS Billing 3.0 بههمراه فاکتوری برای چاپ، ارسال با ایمیل، از طریق Billit به شبکه Peppol، به نشانی خودتان یا دانلود (نگاه کنید به فاکتور برای مشتریان تجاری) |
| بلژیک | مالیات رستورانها از 1 مارس 2026: غذای بیرونبر و نوشیدنیهای بدون الکل 12% (در محل و بیرونبر)، الکل 21%، غذاهایی که مشتری خودش آماده میکند (فوندو، گورمه) 6% | دستیار مالیات بر ارزش افزوده (تنظیمات ← قوانین و مقررات): نوع هر محصول، نرخ درست فوراً یا از یک تاریخ؛ شرح نرخهای A/B/C بهروز شده است |
| هلند | قانون الکل: الکل به جوانان زیر 18 سال نه، حتی در فروش آنلاین و ارسال (بررسی سن هنگام تحویل) | بررسی سن: محصولات الکلی؛ در فروشگاه آنلاین مشتری خودش 18+ را تأیید میکند (کادر از پیش علامتخورده نیست) با این پیام که سن هنگام تحویل بررسی میشود؛ "18+" روی فیش آشپزخانه، فیش ارسال و فیش صندوق |
| هلند | لیوان و ظرف یکبارمصرف (SUP): از 2024 قیمتی جداگانه و آشکار برای بستهبندی پلاستیکی یکبارمصرف در بیرونبر و ارسال | هزینه ظرف یکبارمصرف برای هر محصول، بهصورت ردیف جداگانه روی فیش (با مالیات محصول) و جداگانه در فروش |
| هلند | ودیعه بطری برای قوطی و بطری پلاستیکی | ودیعه بطری برای هر محصول (€ 0,15 / € 0,25)، ردیف جداگانه بدون مالیات در بیرونبر و ارسال، جداگانه در فروش |
| هلند | پرداخت نقدی: از 1 ژانویه 2026 دیگر € 3.000 یا بیشتر نقدی برای کالا ممنوع است | هشدار در بیرونبر و ارسال (در دستگاه پول نقد هم)؛ تأیید ممکن است و در گزارش ثبت میشود |
| هلند و بلژیک | تغییر مالیات: یک نرخ یا یک محصول از یک تاریخ درصد مالیات دیگری میگیرد | برنامهریزی تغییر مالیات: صندوق آن را در همان روز اجرا میکند (در بلژیک برای هر محصول، حروف A/B/C/D ثابتاند) |
| هلند | اقامت (شبمانی) 21% از 1 ژانویه 2026 | نرخ مالیات برای هر محصول قابل تنظیم |
| اتحادیه اروپا | دستورالعمل Omnibus: قیمت خطخورده "قبلی" فقط میتواند کمترین قیمت 30 روز گذشته باشد | فروشگاه آنلاین فقط در برابر کمترین قیمت 30 روز گذشته خط میزند (صندوق تاریخچه قیمتها را نگه میدارد؛ ساعتهای تخفیفی که هر هفته تکرار میشوند حساب میشوند) |
| اتحادیه اروپا | European Accessibility Act (از 28 ژوئن 2025): فروشگاههای آنلاین دسترسپذیر (WCAG 2.1 AA) | فروشگاه آنلاین با صفحهکلید و صفحهخوان کار میکند (پیوند "رفتن به محتوا"، فوکوس آشکار، برچسبها) و بیانیه دسترسپذیری دارد (پیوند در پایین) |
| هلند | XML Auditfile Financieel (XAF): استاندارد ادارهٔ مالیات هلند (Belastingdienst) برای انتقال (بخشی از) اسناد حسابداری؛ XAF 4.0 از 2027 الزامی است | خروجی بهصورت XAF 4.0 (خروجی حسابداری) |
| هلند | سیستم صندوق قابل اعتماد: نگهداری دادههای صندوق (همهٔ رسیدها، اصلاحات و رویدادها) و امکان تحویل دیجیتال آنها هنگام بازرسی؛ ادارهٔ مالیات هلند (Belastingdienst) برای این کار XML Auditfile Afrekensystemen (XAA) را توصیه میکند | خروجی بهصورت XAA 3.2 (گزارش → فروش در هر بازه → فایل حسابرسی صندوق)، در صورت تمایل امضاشده با گواهی تأمینکننده |
| بلژیک | ثبت حضور در سیستم صندوق ثبتشده: ثبت شروع و پایان زمان کار کارکنان در سیستم صندوق | ثبت ورود و خروج کارکنان (تنظیمات → کسبوکار؛ الزامی = اول ثبت ورود) در جعبهٔ سیاه ثبت میشود |
| بلژیک | Dimona: هر اشتغال (از جمله flexi-job و دانشجویان) پیش از شروع به RSZ اعلام شود | این کار را دبیرخانهٔ اجتماعی یا ابزار برنامهریزی شما انجام میدهد (مثلاً Shyfter، Book'u، Plan-Me)؛ HorecaPOS ساعات کارکرد و فروش را فراهم میکند (تنظیمات → ساعات کاری → حقوق و برنامهریزی) |
| هلند | ثبت زمان کار و استراحت (قانون ساعات کار، Arbeidstijdenwet) | ثبت ورود و خروج با ساعات کارکرد هر کارمند، قابل اصلاح توسط مدیر (با گزارش تغییرات)، و فهرست ساعات برای نرمافزار حقوق و دستمزد |
| هلند و بلژیک | HACCP / ایمنی مواد غذایی: ثبت دما (سردکن، فریزر، گرم نگهداشتن، پخت، سرد کردن مجدد، دریافت) و نظافت؛ NL Hygiënecode voor de Horeca (NVWA)، BE خودکنترلی FAVV (راهنمای G-023) | ثبت HACCP در صندوق (تنظیمات ← قوانین و مقررات، دکمهٔ HACCP در بالا): نقاط اندازهگیری با محدوده، وظایف نظافت و بازرسی، اقدام اصلاحی الزامی هنگام انحراف، غیرقابل تغییر، گزارش ثبتهای از دست رفته بهصورت CSV یا چاپی (نگاه کنید به ثبت HACCP) |
| هلند و بلژیک | الزام نگهداری (NL 7 سال، BE 10 سال) | رسیدها، گزارشهای Z و گزارش رویدادها در پایگاه داده و در نسخههای پشتیبان نگهداری میشوند؛ گزارش رویدادها را نمیتوان از صندوق تغییر داد یا پاک کرد |
قوانین و مقررات
تنظیمات ← قوانین و مقررات (مدیر؛ دستیار مالیات بر ارزش افزوده با مجوز مدیریت محصولات هم). همهچیز بهطور پیشفرض خاموش است؛ بدون این تنظیمات صندوق مثل همیشه کار میکند.
- بررسی سن برای الکل (18+): در «محصولات» گزینه حاوی الکل را علامت بزنید (یا از دستیار مالیات استفاده کنید). در بیرونبر و ارسال با الکل، "18+" روی فیش آشپزخانه، فیش صندوق و در صفحه سفارشها نشان داده میشود. در فروشگاه آنلاین مشتری خودش تأیید میکند که 18 سال یا بیشتر دارد (کادر از پیش علامتخورده نیست) و میبیند که سنش هنگام تحویل بررسی میشود.
- هزینه ظرف یکبارمصرف (هلند): مبلغی برای هر محصول (قیمتهای پیشنهادی: لیوان € 0,25، ظرف غذا € 0,50، ظرف کوچک € 0,05). در بیرونبر و ارسال، صندوق خودش ردیف "هزینه ظرف یکبارمصرف" را روی فیش میگذارد (با مالیات محصول)؛ این ردیف خودکار همراه محصولات میرود (پایگاه داده آن را دنبال میکند، حتی پس از حذف، جابهجایی یا نوع دیگری از سفارش) و جداگانه در فروش است. در محل هزینهای نیست. Thuisbezorgd.nl و فروشگاه آنلاین هزینه خودشان را حساب میکنند.
- ودیعه بطری (هلند): برای هر محصول (€ 0,15 قوطی/بطری کوچک، € 0,25 بطری بزرگ)، ردیف "ودیعه بطری" بدون مالیات، فقط در بیرونبر و ارسال.
- نقدی € 3.000 یا بیشتر (هلند، از 1-1-2026 برای کالا ممنوع): در بیرونبر و ارسال، هنگام تسویه و در دستگاه پول نقد هشدار داده میشود؛ کارمند میتواند تأیید کند (مثلاً کترینگ بهعنوان خدمت)، که در گزارش ثبت میشود. خوردن و نوشیدن در محل خدمت است: هشداری نیست.
- دستیار مالیات بر ارزش افزوده: نوع هر محصول (غذا، نوشیدنی بدون الکل، نوشیدنی الکلی، خوراکی بدون آمادهسازی، سایر؛ در ابتدا حدسی بر اساس نام و گروه). صندوق نرخ درست را در محل و برای بیرونبر نشان میدهد (بلژیک از 1-3-2026: غذا و نوشابه 12%، بیرونبر هم؛ الکل 21%؛ خوراکی بدون آمادهسازی 6%. هلند: 9% و 21%) و آن را اعمال میکند، فوراً یا از یک تاریخ.
- برنامهریزی تغییر مالیات: یک محصول به نرخ دیگر، یا (فقط هلند) یک نرخ با درصد جدید، از یک تاریخ. صندوق آن را در آن روز خودش اجرا میکند (هر ربع ساعت بررسی میشود، و هنگام راهاندازی).
فاکتورها (در بلژیک بین شرکتها الزامی) در بخش فاکتور برای مشتریان تجاری آمدهاند. هنوز باید انجام شود: GKS 2.0، پرسیدن وضعیت گواهیدهی (نگاه کنید به docs/backlog-concurrenten.md).
فاکتور برای مشتریان تجاری
تنظیمات ← فاکتورها (مدیر؛ بهطور پیشفرض خاموش): فاکتور برای مشتریان تجاری (UBL / Peppol) را روشن کنید. وقتی روشن باشد، زیر آن پرداخت نسیه، اطلاعات روی فاکتور، سرویسهای Peppol، اتصال بانکی (همراه با پرداخت نسیه) و فهرست همه فاکتورها قرار دارند. در بلژیک صدور فاکتور الکترونیکی بین شرکتها از 1-1-2026 الزامی است.
- فاکتورها برای مشتریان تجاری: رسیدها ← رسید را انتخاب کنید ← فاکتور. مشتری را وارد کنید (یا یک مشتری قبلی را انتخاب کنید)؛ صندوق یک فاکتور شمارهدار میسازد (مثلاً F2026-0001، پیاپی برای هر سال)، بهصورت UBL مطابق Peppol BIS Billing 3.0 و بهصورت فاکتور برای چاپ یا ذخیره بهصورت PDF. ارسال با ایمیل (هر دو بهصورت پیوست، در صورت نیاز با رونوشت برای حسابدار)، از طریق Billit به شبکه Peppol (
BILLIT_API_KEY،BILLIT_PARTY_ID)، از طریق Storecove (STORECOVE_API_KEY،STORECOVE_LEGAL_ENTITY_ID؛ گیرنده از Peppol ID مشتری تعیین میشود، مثلاً 0208 → BE:EN، 0106 → NL:KVK، وگرنه با ایمیل از طریق Storecove) یا از طریق Banqup از Unifiedpost (BANQUP_CLIENT_ID،BANQUP_CLIENT_SECRET،BANQUP_SPACE_ID؛BANQUP_SANDBOX=1برای محیط آزمایشی؛ Banqup فایل UBL را بررسی میکند و خودش تحویل میدهد)، به یک نشانی دلخواه (FACTUUR_HTTP_URL، مثلاً یک نرمافزار حسابداری یا سرویس Peppol دیگر) یا دانلود. یک فاکتور برای هر رسید؛ رسید از قبل پرداخت شده، پس "تسویهشده". شماره KvK/شماره شرکت، IBAN، Peppol ID، پیشوند و مهلت پرداخت در اطلاعات روی فاکتور. همه فاکتورها در پایین زبانه (مجوز فروش بر اساس دوره). - کلیدها، رمزها و هدرها هرگز نمایش داده نمیشوند (فقط "وارد شده"؛ خالی گذاشتن = حفظ، پاک کردن = حذف) و در گزارش ثبت نمیشوند (فقط اینکه کدام فیلدها تغییر کردند). در پایگاه داده ذخیره میشوند (
vestiging.peppol_gegevens): در پشتیبانها هستند، در خروجی پیکربندی نیستند.
کیوسک سلفسرویس
مهمانان مثل رستوران فستفود، خودشان روی یک ستون یا تبلت سفارش میدهند و در صندوق یا با کارت در کیوسک پرداخت میکنند. صفحههای سفارش بخشی از خود صندوقاند، پس منو، قیمتها، گزینهها، منوهای ترکیبی، هپیآورها، بخشهای روز، عکسها، آلرژنها، زبانها و رسید از صندوق میآیند و لازم نیست جای دیگری تنظیم شوند. روی کیوسک اپ PinPortal Kiosk 2 اجرا میشود (اندروید، از جمله Sunmi، و ویندوز، لینوکس و macOS) که صفحه را نشان میدهد و رسید را چاپ میکند. بهطور پیشفرض خاموش.
روشن کردن و تنظیم (مدیر): تنظیمات ← کسبوکار ← نمایشگرها و کارکرد ← کیوسک سلفسرویس.
- انتخاب کنید مهمان چه چیزی میتواند انتخاب کند: همینجا و/یا بیرونبر (بیرونبر با قیمت بیرونبر و نرخ مالیات بیرونبر حساب میشود، اگر تنظیم شده باشند).
- متن خوشامد، پس از چند ثانیه بدون لمس کیوسک به ابتدا برمیگردد (سبد خالی میشود)، و کدام گروههای محصول روی کیوسک باشند (هیچکدام علامت نخورده = همه).
- چیز دیگری هم میخواهید؟: گروههای محصول را علامت بزنید (مثلاً نوشیدنی، دسر)؛ کنار سبد، کیوسک چند محصول از آنها پیشنهاد میدهد.
- پرداخت، برای هر کیوسک (نگاه کنید به افزودن و اتصال کیوسک):
- در صندوق (پیشفرض، مثل کیوسک قدیمی): مهمان سفارش میدهد، شماره تحویل میگیرد و در صندوق پرداخت میکند. کنار کیوسک کارتخوان لازم نیست.
- با کارت در کیوسک: مهمان روی کارتخوان کنار کیوسک پرداخت میکند.
- مهمان انتخاب میکند: در صندوق یا با کارت. اگر کیوسک کارتخوان نداشته باشد، پرداخت در صندوق است.
- به آشپزخانه (هنگام پرداخت در صندوق): بلافاصله پس از سفارش در کیوسک (پیشفرض)، یا فقط پس از پرداخت در صندوق.
- رسید: روی چاپگر کیوسک (پیشفرض)، روی چاپگر رسید صندوق، یا بدون رسید (فقط شماره روی صفحه). هنگام پرداخت در صندوق، کیوسک برگهای با شماره و هنوز پرداخت نشده چاپ میکند؛ رسید هنگام تسویه در صندوق میآید.
- وضعیت سفارش روی گوشی (اختیاری، بهطور پیشفرض خاموش): روی رسید کیوسک و صفحه پایانی یک کد QR میآید. مهمان آن را اسکن میکند، شماره و وضعیت خود را (سفارش داده شد، در حال آمادهسازی، آماده) میبیند و وقتی سفارش آماده شد اعلان میگیرد. این از طریق پورتال مدیریت کار میکند، پس صندوق باید به آن وصل باشد.
- الکل و محصولات کیلویی هرگز روی کیوسک نیستند: بدون کارکنان نمیتوان سن را بررسی کرد و ترازو هم نیست.
- اسکنر بارکد (اختیاری، بهطور پیشفرض همه خاموش): تیک بزنید که اسکن در کیوسک چه کاری میتواند بکند:
- یک محصول در سبد (کد محصول)؛
- یک کد تخفیف؛
- یک کارت مشتری (مهمان امتیاز جمع میکند)؛
- یک کارت هدیه یا کارت اعتباری بهعنوان پرداخت. اگر موجودی کافی باشد، سفارش فوراً پرداخت میشود. در غیر این صورت کارت بخشی را میپردازد و مهمان بقیه را با کارت بانکی یا در صندوق میپردازد (این کار در کیوسکی که فقط کارت بانکی میپذیرد هم مجاز است). پس از چنین پرداخت جزئی، مهمان دیگر نمیتواند لغو کند؛ سفارش در صندوق با عنوان Kiosk … · شماره دیده میشود.
خود اسکنر را روی کیوسک تنظیم میکنید: در اپ PinPortal Kiosk 2 در مدیریت ← اسکنر بارکد (بهصورت صفحهکلید، اسکنر داخلی یا یک درگاه COM)، همراه با تست اسکنر. اسکنری که مثل صفحهکلید کار میکند بدون اپ هم کار میکند.
- شارژ اعتبار (اختیاری، پیشفرض خاموش؛ فقط وقتی کار میکند که اعتبار قابل شارژ روشن باشد): در این صورت در صفحهٔ شروع کیوسک شارژ اعتبار نمایش داده میشود. مهمان کارت یا کارت هدیهٔ خود را اسکن میکند (یا کد را تایپ میکند)، موجودی را میبیند و مبلغی را انتخاب میکند. مبالغ را خودتان تنظیم میکنید (1 تا 6، پیشفرض € 10، € 20 و € 50). پرداخت همانطور انجام میشود که برای کیوسک تنظیم شده است: با کارت، یا در صندوق با شمارهٔ تحویل. پس از تسویه حساب مبلغ به موجودی اضافه میشود. چنین شارژی به آشپزخانه نمیرود، روی نمایشگر فراخوان نمیآید و کد QR نمیگیرد. حداکثر موجودی اعتبار قابل شارژ اینجا هم اعمال میشود.
- به حساب اتاقم (اتصال هتل، بهطور پیشفرض خاموش؛ تنظیمات → هتل → سلفسرویس): آنگاه کنار سبد خرید به حساب اتاقم بگذار نمایش داده میشود. مهمان هتل شمارهٔ اتاق و نام خانوادگی را وارد میکند؛ اگر با مهمانی که اکنون در آن اتاق اقامت دارد مطابقت داشته باشد، سفارش به آشپزخانه میرود و بهصورت پرداختشده به حساب اتاق ثبت میشود (ببینید نرمافزار هتل: گذاشتن به حساب اتاق).
- بلژیک (جعبهٔ سیاه): آنچه هنوز با جعبهٔ سیاه آزمایش نشده، در کیوسک خودبهخود خاموش است (کارت هدیه یا اعتبار بهعنوان روش پرداخت، شارژ اعتبار، کد تخفیف، منوها، گزینههای انتخابی با هزینهٔ اضافه، ساعت تخفیف)، درست مانند صندوق.
افزودن و اتصال کیوسک
- در کیوسکها یک نام وارد کنید (مثلاً کیوسک ورودی) و افزودن کیوسک را انتخاب کنید. یک کد اتصال 6 رقمی میگیرید (30 دقیقه معتبر).
- برای کیوسک انتخاب کنید مهمان چگونه پرداخت کند: بهطور پیشفرض در صندوق. اگر کیوسکی با کارتخوان است، با کارت یا مهمان انتخاب میکند را انتخاب کنید و کارتخوان این کیوسک را انتخاب کنید (از تنظیمات ← پرداختها).
- صفحهٔ کیوسک را روی کیوسک باز کنید:
- در محل کسبوکار: در اپ در مدیریت ← Vast adres نشانیای که کنار تنظیم آمده، مثلاً
http://192.168.1.20:3000/kiosk؛ - یا از طریق پورتال مدیریت (https، حتی اگر کیوسک در همان شبکه نباشد): نشانی کیوسک را که کنار تنظیم آمده به کد کیوسک اپ متصل کنید، مثل کیوسک قدیمی.
- در محل کسبوکار: در اپ در مدیریت ← Vast adres نشانیای که کنار تنظیم آمده، مثلاً
- کد اتصال را روی کیوسک وارد کنید. تمام: کیوسک کلید خودش را به خاطر میسپارد. اتصال دوباره کد جدید میدهد؛ حذف اتصال را قطع میکند.
کنار هر کیوسک دیده میشود که آنلاین است یا نه.
مهمان اینطور سفارش میدهد
- صفحهٔ شروع با متن خوشامد؛ مهمان زبانش را انتخاب میکند (همهٔ زبانهای صندوق) و برای سفارش لمس میکند.
- همینجا یا بیرونبر.
- منو بر اساس گروه محصول، با عکس، قیمت (با هپیآور)، آلرژنها و آنچه تمام شده. محصولات دارای انتخاب یا منو، پنجرهٔ انتخاب را باز میکنند.
- سبد: تغییر تعداد و در صورت تمایل چیز دیگری هم میخواهید؟.
- سفارش (پرداخت در صندوق): مهمان شماره تحویل خود را بزرگ روی صفحه همراه با مبلغ میبیند، برگه را میگیرد و در صندوق پرداخت میکند. در صندوق سفارش با نام کیوسک ورودی · 42 باز است (شمارهای که مهمان میگوید)؛ تسویه مثل همیشه. پس از آن روی صفحه فراخوان پرداختشده نمایش داده میشود و اگر قرار بود پس از پرداخت باشد به آشپزخانه میرود.
- پرداخت با کارت: صندوق مبلغ را به کارتخوان این کیوسک میفرستد (همان اتصال پرداخت صندوق). اگر موفق نشود، مهمان میتواند دوباره امتحان کند یا لغو کند (یا اگر اجازه انتخاب دارد، در صندوق پرداخت کند). فقط پس از پرداخت موفق سفارش به آشپزخانه میرود و تسویه میشود. مهمان شماره تحویل خود را بزرگ روی صفحه میبیند و رسید را میگیرد.
- پس از چند ثانیه کیوسک به ابتدا برمیگردد.
هنگام اختلال: اعلان و حالت اضطراری (در اپ کیوسک، مدیریت ← Bij storing؛ بهطور پیشفرض خاموش). اگر کیوسک به صندوق دسترسی نداشته باشد، Even gesloten نمایش داده میشود. دو امکان اضافه:
- Teams، Slack، Discord، ntfy، Home Assistant، Make یا Zapier) و وقتی همهچیز دوباره کار کرد hersteld. با Testmelding sturen نشانی را بررسی میکنید.
- حالت اضطراری: کیوسک یک منوی ساده را که صفحهٔ کیوسک میفرستد ذخیره میکند: محصولات بدون گزینه یا منوی ترکیبی، با قیمت صرف در محل (یا بیرونبر، اگر تنها گزینه همین باشد).
- اگر صندوق مدتی در دسترس نباشد (بهطور پیشفرض 60 ثانیه)، مهمان از این منو سفارش میدهد.
- مهمان با کارت یا در پیشخوان پرداخت میکند. پرداخت با کارت فقط وقتی ممکن است که Pinbetaling در اپ روشن باشد.
- دو رسید اضطراری چاپ میشود: یکی برای مهمان (N1، N2 …) و یکی برای پیشخوان/آشپزخانه. روی آن نوشته شده که رسید صندوق نیست.
- وقتی صندوق برگردد، صفحهٔ کیوسک سفارشهای اضطراری را با نام Nood N… <kiosk> در صندوق ثبت میکند. این سفارشها به آشپزخانه نمیروند (رسید اضطراری را از قبل دارد) و روی نمایشگر فراخوان نمیآیند.
- پرداخت با کارت و همان مبلغی که در صندوق است: بهصورت پرداخت کارتی دستی تسویه میشود. در غیر این صورت (پرداخت در پیشخوان یا مبلغ دیگر) سفارش برای گارسون باز میماند.
- همهچیز در گزارش رویدادها ثبت است.
- بلژیک: با سیستم صندوق ثبتشده (GKS، جعبه سیاه) هر فروش باید فوراً از طریق صندوق و FDM انجام شود. بنابراین حالت اضطراری احتمالاً مجاز نیست؛ ابتدا بپرسید. اپ کیوسک آن را در بلژیک فقط پس از یک تأیید اضافه روشن میکند و صندوق در بخش کیوسک هشدار میدهد.
در صندوق، سفارش کیوسک یک سفارش معمولی است (بیرونبر یا در محل، با نام کیوسک ورودی) به نام کارمند Kiosk. صندوق خودش آن را میسازد؛ هیچکس نمیتواند با آن وارد شود. آن را غیرفعال نکنید، وگرنه کیوسک نمیتواند سفارش دهد. سفارشهای کیوسک در گزارشها، در رسیدها و روی صفحه فراخوان هستند. سفارشی که در کیوسک کامل نشود (سفارش داده نشده یا با کارت پرداخت نشده) پس از 30 دقیقه خودبهخود منقضی میشود.
پرداخت کارتی در حالت آزمایشی (تنظیمات ← پرداختها)؟ در این صورت کیوسک واقعاً پولی نمیگیرد؛ برای امتحان مفید است. بدون اینترنت پرداخت با کارت ممکن نیست؛ کیوسک میگوید میتوان از پیشخوان سفارش داد.
اختلال: اگر صندوق در دسترس نباشد، اپ کیوسک "موقتاً بسته" را نشان میدهد و خودش ادامه میدهد. اگر کیوسک از طریق پورتال مدیریت کار کند و اینترنت قطع شود، اپ میتواند به صندوق در شبکه محلی برگردد (در اپ: مدیریت ← افزونهها ← هنگام اختلال برگشت به شبکه محلی)؛ کیوسک خودش این نشانی را میدهد.
خاموش کردن: کیوسک نشان میدهد که لحظاتی بسته است. کیوسکها و تنظیمات حفظ میشوند. در گزارش رویدادها روشن/خاموش، تنظیمات، کیوسکهای افزوده و حذفشده، اتصالها و سفارشهای لغوشده ثبت میشوند.
تابلوی منوی دیجیتال
منو با قیمتها روی تلویزیون (یا مانیتور دیگری با مرورگر)، مستقیم از صندوق. پیشفرض خاموش؛ روشن کردن از مسیر تنظیمات ← کسبوکار ← نمایشگرها و کارکرد ← تابلوی منوی دیجیتال. سپس روی تلویزیون http://<kassaserver>:3000/menubord را باز کنید (یا دکمهٔ روی صفحهٔ جداگانه / روی تبلت یا گوشی با کد QR). بدون ورود و بدون اتصال.
- برای هر دسته، محصولات با قیمت، به ترتیب صندوق. خودتان انتخاب کنید کدام دستهها (و به چه ترتیبی)، 1 تا 4 ستون، تیره یا روشن، یک عنوان دلخواه (خالی = نام کسبوکار)، عکس محصولات و آلرژنها.
- بلافاصله درست: تابلو هر 10 ثانیه منو را دریافت میکند (و بلافاصله پس از هر تغییر)، بنابراین محصول تمامشده (خطخورده با تمام شد، یا حذفشده از تابلو)، موجودی خالی، Happy hour (قیمت ویژه با قیمت عادی خطخورده، و نام و زمان پایان در بالا) و بازههای زمانی (فقط آنچه اکنون فروخته میشود) خودبهخود درست نمایش داده میشوند.
- اگر همهچیز روی صفحه جا نشود، صفحهها به نوبت عوض میشوند (پیشفرض هر 12 ثانیه، قابل تنظیم از 5 تا 120).
کارکنان و پینکدها
تنظیمات ← کارکنان (فقط مدیر سیستم): افزودن کارمند، تغییر نام، نقش و کد PIN، و غیرفعال کردن.
- نقشها: گارسون (ثبت سفارش، تسویه، گزارش X)، مدیر (بهعلاوه تخفیف، مرجوعی، بستن روز، کشوی پول و گزارش رویدادها) و مدیر سیستم (همه چیز، از جمله همه تنظیمات). این حالت پیشفرض است؛ اختیارات گارسون و مدیر قابل تغییر است (بخش دسترسیهای هر نقش را ببینید).
- کد PIN از 4 تا 8 رقم، و در میان کارمندان فعال یکتا. کدهای PIN فقط بهصورت رمزنگاریشده (hash) در پایگاه داده ذخیره میشوند و قابل بازخوانی نیستند.
- حذف واقعی ممکن نیست (رسیدها و گزارش رویدادها به کارمند ارجاع میدهند)؛ غیرفعال = دیگر نمیتواند وارد شود.
- همیشه دستکم یک مدیر سیستم فعال باقی میماند.
- تغییر نقش، کد PIN جدید یا غیرفعال کردن: جلسههای فعال آن کارمند بلافاصله بسته میشوند.
- بلژیک: بهصورت اختیاری شماره ملی (rijksregisternummer) برای ثبت کارکنان.
- زبان: زبان صفحهها برای این کارمند (یا "زبان دستگاه"). پس از ورود، صندوق بلافاصله به همان زبان است؛ کارمند میتواند خودش هم با پرچم کوچک پایین سمت راست زبان را عوض کند (بخش زبانها را ببینید).
- نکته: پیش از راهاندازی صندوق، کدهای PIN نمایشی 1111 و 2222 را عوض کنید.
ورود با کارت (اختیاری)
بهطور پیشفرض خاموش. روشن کردن: تنظیمات ← کارکنان، تیک ورود با کارت (NFC، RFID یا iButton). لازم است: یک کارتخوان ورود USB که مثل صفحهکلید کار کند (برای کارتهای NFC یا RFID، جاکلیدیها، مچبندها یا کلیدهای iButton). چنین کارتخوانی شمارهٔ کارت را "تایپ" میکند و Enter را میزند؛ هیچ درایور یا اتصالی لازم نیست.
- اتصال: روی کارمند بزنید، سپس اتصال کارت و کارت را جلوی کارتخوان بگیرید. هر کارت متعلق به یک کارمند است. اگر کارت گم شد، برداشتن کارت.
- ورود: در صفحهٔ ورود کارت را جلوی کارتخوان بگیرید. کد PIN هم مثل قبل کار میکند.
- ثبت ورود و خروج (اگر روشن باشد): در صفحهٔ ورود ثبت ورود / خروج و کارت را جلوی کارتخوان بگیرید.
- شمارهٔ کارت فقط بهصورت رمزنگاریشده (hash) در پایگاه داده ذخیره میشود، درست مثل کد PIN. کارمندان غیرفعال با کارت خود هم نمیتوانند وارد شوند.
- خاموش: ورود فقط با کد PIN، مثل همیشه. کارتهای متصلشده حفظ میشوند.
دسترسی بر اساس نقش
تنظیمات ← دسترسیها (فقط مدیر سیستم): برای هر نقش تیک بزنید که گارسون و مدیر چه کارهایی مجازند. بهطور پیشفرض همه چیز دقیقاً مثل بالا است (همانطور که صندوق همیشه کار میکرد)؛ خانهای که با پیشفرض فرق دارد رنگی است.
| دسترسی | گارسون | مدیر |
|---|---|---|
| حذف ردیفها پس از ثبت سفارش (ابطال) | بله | بله |
| دادن / برداشتن تخفیف | خیر | بله |
| گذاشتن محصول روی "تمام شد" | بله | بله |
| چاپ کپی رسید | بله | بله |
| مرجوعی (رسید برگشتی) | خیر | بله |
| تسویه بهصورت نسیه و دریافت پرداختهای نسیه (فقط وقتی پرداخت نسیه روشن است) | خیر | بله |
| وضعیت میانی (گزارش X) | بله | بله |
| بستن روز (گزارش Z) | خیر | بله |
| فروش در هر بازه | خیر | بله |
| مدیریت کشوی پول | خیر | بله |
| مدیریت کارتهای هدیه (فقط با کارت هدیه دارای موجودی) | خیر | بله |
| خواندن و پاسخ دادن به نظرات (فقط وقتی مدیریت نظرات روشن است) | خیر | بله |
| مدیریت کارت مشتری (فقط وقتی کارت مشتری روشن است) | خیر | بله |
| مشاهده گزارش رویدادها | خیر | بله |
| مشاهدهٔ تصاویر دوربین (فقط وقتی تصاویر دوربین روشن است) | خیر | بله |
| مدیریت موجودی انبار (فقط وقتی موجودی روشن است) | خیر | بله |
| مدیریت محصولات | خیر | خیر |
| مدیریت نقشههای سالن | خیر | خیر |
| تنظیم کسبوکار، پرداخت و چاپگرها | خیر | خیر |
| مشاهده و ویرایش ساعات کاری | خیر | خیر |
- مدیر سیستم همیشه اجازه همه کار را دارد. تغییر کارکنان و دسترسیها همیشه فقط برای مدیر سیستم است (وگرنه کسی میتواند به خودش دسترسی بیشتری بدهد).
- دکمهها و زبانههایی که یک نقش اجازه آنها را ندارد، برای آن نقش پنهاناند؛ سرور صندوق هم این را کنترل میکند. مثلاً اگر مدیر دسترسی مدیریت محصولات بگیرد، دکمه تنظیمات را فقط با زبانه محصولات میبیند.
- تغییرات بلافاصله روی همه صندوقها اعمال و در گزارش رویدادها ثبت میشوند. بازگشت به پیشفرض همه چیز را به حالت قبل برمیگرداند.
اطلاعات مجموعه
تنظیمات ← کسبوکار (فقط مدیر سیستم): نام، آدرس، کد پستی، شهر، تلفن و شماره مالیاتی (btw) شعبه. این اطلاعات بالای هر رسید صندوق و پیشفاکتور چاپ میشوند. متن پایین رسید هم اینجا تنظیم میشود (چند خط مجاز است؛ خالی = بدون متن؛ پیشفرض "Bedankt en tot ziens!")، و زیر آن زبان رسید صندوق (پیشفرض هلندی؛ بخش زبانها را ببینید). پیشنمایش رسید همزمان تغییر میکند. پس از ذخیره، رسید بعدی بلافاصله از اطلاعات جدید استفاده میکند. کشور و اطلاعات مالیاتی (GKS) عمداً اینجا قابل تغییر نیستند. در بلژیک شماره مالیاتی الزامی است. با تیک گرد کردن پرداختهای نقدی به 5 سنت (پیشفرض خاموش)، جمع کل در پرداخت نقدی گرد میشود (€ 6,62 ← € 6,60، € 6,63 ← € 6,65)؛ اختلاف بهصورت "گرد کردن" روی رسید میآید. پرداخت کارتی همیشه دقیق تا سنت است.
مدیریت محصولات
بهعنوان مدیر سیستم وارد شوید و تنظیمات ← محصولات را انتخاب کنید.
- افزودن، ویرایش (نام، قیمت، دسته، نرخ مالیات برای سرو در محل و بیرونبر، نام روی رسید، کد، تمام شده) و حذف دستهها و محصولات. هم دستهها و هم محصولات میتوانند رنگ خودشان را داشته باشند؛ محصول رنگی در صفحه سفارش دکمه رنگی میگیرد (متن برای خوانایی خودکار سفید یا تیره میشود).
- تغییر ترتیب با کشیدن یک دسته یا محصول از ≡. این کار با موس و با انگشت روی تبلت انجام میشود. همین ترتیب بعداً در صفحه سفارش نمایش داده میشود؛ صفحههای باز صندوق بلافاصله خودشان بهروز میشوند.
- حذف، محصول را از صندوق برمیدارد، اما سفارشهای قدیمی و دفتر مالیاتی همچنان آن محصول را میشناسند. یک دسته را فقط وقتی خالی باشد میتوانید حذف کنید.
- گزینهها: یک محصول یا دسته را باز کنید و زیر "گزینهها" گروههای انتخاب اضافه کنید، مثل "نوع پخت" (دقیقاً یکی، اجباری)، "سس" (حداکثر یکی) یا "اضافه" (چندتایی، با حداقل و حداکثر؛ حداکثر خالی = نامحدود). هر گزینه یک نام و یک هزینه اضافه دارد (میتواند منفی باشد، مثلاً -0,50). گروههای انتخاب یک دسته برای همه محصولات آن دسته، علاوه بر گزینههای خود محصول، اعمال میشوند. ترتیب با ▲▼. حذف همیشه ممکن است: سفارشها و رسیدهای موجود گزینههای انتخابشده را خودشان نگه میدارند. سرور هم گزینههای اجباری و حداکثر را بررسی میکند.
- عکس برای هر محصول: بخش «عکسهای محصول» را ببینید.
- قیمت به ازای کیلو، شماره PLU و وزن ظرف (tarra) (فقط وقتی ترازو روشن است): بخش «تنظیم ترازو» را ببینید. بدون تیک، محصول مثل قبل به ازای هر عدد میماند.
عکس محصولات
هر محصول میتواند یک عکس داشته باشد.
- گذاشتن عکس: تنظیمات ← محصولات ← محصول را انتخاب کنید ← انتخاب عکس (روی تبلت یا گوشی میتوانید مستقیم با دوربین هم عکس بگیرید). عکس در مرورگر تا حداکثر 512 × 512 پیکسل کوچک میشود (JPEG، معمولاً 20–80 کیلوبایت) و فوراً ذخیره میشود؛ عکس دیگر آن را جایگزین میکند، حذف عکس آن را برمیدارد. در فهرست محصولات، یک عکس کوچک جلوی نام دیده میشود. فقط با دسترسی مدیریت محصولات؛ jpg، png و webp، حداکثر 512 کیلوبایت.
- نمایش را مدیر سیستم در تنظیمات ← کسبوکار ← عکسهای محصول انتخاب میکند، جدا از هم و بهطور پیشفرض خاموش:
- عکس محصول روی دکمههای صفحه سفارش: عکس در بالای دکمه محصول، با نام و قیمت زیر آن.
- عکس محصول کنار محصولات در صفحه مشتری: یک عکس کوچک جلوی هر ردیف در صفحه مشتری (خود صفحه مشتری هم باید روشن باشد). محصولات بدون عکس همانطور که هستند میمانند؛ اگر خاموش باشد، همه چیز دقیقاً مثل قبل کار میکند.
اسکنر بارکد
با اسکنر بارکد در صندوق، محصولات، کدهای تخفیف، کارتهای مشتری و کارتهای هدیه را اسکن میکنید. روشنکردن در تنظیمات ← اسکنر (زبانهای کنار چاپگرها و ترازو؛ بهطور پیشفرض خاموش). تیک بزنید که اسکن در صفحهٔ سفارش چه کاری انجام دهد:
- محصول روی رسید: محصولی که آن کد را دارد (تنظیمات ← محصولات، فیلد کد؛ مثلاً بارکد EAN روی بستهبندی). اگر محصول گزینه، منو یا قیمت بهازای هر کیلو داشته باشد، ابتدا پنجرهٔ انتخاب یا ترازو باز میشود، درست مثل زدن روی دکمه. اسکن در صفحهٔ سفارش در چاپ برچسبها هم همین کار را میکند؛ آن هم مثل قبل کار میکند.
- کد تخفیف روی رسید (اگر کدهای تخفیف روشن باشند).
- کارت مشتری: مشتریای که آن شمارهٔ کارت را دارد روی رسید میآید (اگر کارت مشتری روشن باشد). اگر کد ناشناختهای را روی رسیدی که مشتری دارد اسکن کنید، صندوق میپرسد آیا این کارت جدید اوست.
- کارت هدیه یا کارت اعتباری: صندوق موجودی را نشان میدهد (اگر کارتهای هدیه با موجودی روشن باشند). پرداخت از تسویه حساب ← کارت هدیه انجام میشود؛ آنجا هم میتوانید کارت را اسکن کنید.
صندوق ابتدا در محصولات، سپس در کارتهای مشتری، کارتهای هدیه و کدهای تخفیف جستوجو میکند. اسکن در صفحهٔ سفارش کار میکند، وقتی داخل یک فیلد ورودی نیستید. داخل یک فیلد ورودی، کد بهطور عادی در همان فیلد نوشته میشود.
تست اسکنر: در تنظیمات ← اسکنر با هر اسکن کد و تشخیص صندوق را میبینید، حتی اگر اسکنر هنوز خاموش باشد. اگر کار نکرد:
- اسکنر را روی صفحهکلید (USB-HID) با یک Enter بعد از کد تنظیم کنید. در بیشتر اسکنرها این از قبل همینطور است.
- یک اسکنر داخلی (مثلاً اسکنر صندوق Sunmi) را در تنظیمات اسکنر دستگاه روی ورودی صفحهکلید تنظیم کنید.
- برچسبهای ترازوی TS6X (وزن و قیمت) را خود بخش ترازو پردازش میکند، حتی وقتی اسکنر روشن است.
در کیوسک اسکنر را جداگانه تنظیم میکنید (تنظیمات ← کسبوکار ← کیوسک)؛ کیوسک سلفسرویس را ببینید.
چاپ برچسبها
برچسب کالا با نام، قیمت و یک بارکد، روی چاپگر برچسب (Brother، Dymo، Zebra ...) که روی کامپیوتر یا تبلت نصب شده است. روشن کردن در تنظیمات ← کسبوکار ← چاپ برچسبها (بهطور پیشفرض خاموش). همانجا اندازهٔ برچسب را هم انتخاب میکنید (38 × 25، 57 × 32، 62 × 29 یا 100 × 50 میلیمتر) و اینکه قیمت و بارکد روی آن بیاید یا نه. چاپ نمونه یک برچسب آزمایشی چاپ میکند.
- تنظیمات ← محصولات ← (محصول) ← برچسبها: تعداد را انتخاب کنید و چاپ.
- خرید ← (سفارش دریافتشده) ← چاپ برچسبها: از هر محصول به تعدادی که رسیده برچسب (واحدهای سفارش دریافتشده × تعداد در هر واحد سفارش؛ نه مواد اولیه). حداکثر 500 برچسب در یک بار.
- صندوق پنجرهٔ چاپ را باز میکند: در آنجا چاپگر برچسب و اندازهٔ کاغذ رول را انتخاب کنید. هر برچسب یک صفحه است.
- بارکد همان کد محصول است (تنظیمات ← محصولات): 8 یا 13 رقم با رقم کنترل درست = EAN (12 رقم: رقم کنترل اضافه میشود)، در غیر این صورت Code 128 (حروف، ارقام و علائم، تا 30 نویسه). بدون کد، بارکدی وجود ندارد.
- اسکن در صفحهٔ سفارش (تیک، بهطور پیشفرض خاموش): بارکدخوانی که مثل صفحهکلید عمل میکند، محصول با آن کد را با انتخابهای معمول (گزینهها، ترازو، حساسیت) اضافه میکند. نه همراه با ترازوی TS6X، که برچسبهای خودش را با وزن و قیمت دارد.
- دسترسی: مدیریت محصولات یا مدیریت موجودی.
تنظیم ترازو (A&D، Aclas، Adam Equipment، Avery Berkel، Avery Weigh-Tronix، Balanzas Marques، Baxtran، Bizerba، Brecknell، CAS، Datalogic، Dibal، DIGI، Dini Argeo، Excell Precision، Gram، Ishida، Kern & Sohn، Mettler Toledo، Minebea Intec، Ohaus، Precia Molen، Precisa، Rice Lake، Rongta، Sartorius، Star Micronics، T-Scale، UWE، Wedderburn، Wintec، Zebra)
زبانه جداگانه تنظیمات ← ترازو (دسترسی تنظیم کسبوکار، پرداخت و چاپگرها، بهطور پیشفرض فقط مدیر سیستم؛ این زبانه همیشه هست، حتی اگر ترازو هنوز خاموش باشد). بهطور پیشفرض خاموش: در این حالت صندوق دقیقاً مثل قبل کار میکند. زبانه را نمیبینید؟
جستوجوی خودکار. اگر هنوز چیزی تنظیم نشده باشد، صندوق هنگام باز کردن این بخش خودش جستوجو میکند (دکمهٔ جستوجو دوباره این کار را انجام میدهد):
- آیا صندوق (سرور صندوق) روی یک ترازوی کامپیوتری یا هوشمند (AI) Aclas اجرا میشود (TS6X، TS3X، TS5EX/NX/GX، iS6X، iS2X، iR6X، Ti6X، iL8X؛ برند/مدل دستگاه: در Windows از طریق WMI، در Android از طریق
getprop، در Linux از طریق DMI) و Aclas Scale Module پاسخ میدهد؟ در این صورت آن ترازو بهعنوان روی همین دستگاه آماده میشود، و ترازوی برچسبزن هم؛ در Linux (بدون Scale Module) ترازوی داخلی روی پورت داخلی پیداشده (/dev/ttyS...) با نام "TS6X (داخلی)" و همراه با مدل آماده میشود؛ - آیا یک OS6X به پورت COM/USB وصل است؟ هر پورت با 9600، 4800، 2400 و 19200 baud امتحان میشود: اول کمی گوش دادن (ارسال پیوسته)، سپس ارسال
W(Toledo)، و در غیر این صورت Dialog 06 (9600، 7 بیت داده، توازن فرد: درخواست وضعیت).
پیدا شد = با دکمهٔ روشن کردن و استفاده در فرم قرار میگیرد: یک ضربه و کار میکند. (جستوجو یک W به هر پورت COM آزاد میفرستد؛ پورتی که اشغال است، مثلاً توسط دستگاه کارتخوان، رد میشود.)
همهٔ ترازوهای Aclas. برای هر ترازو مدل را انتخاب میکنید؛ آنوقت صندوق میداند چطور میتوان آن را وصل کرد. دو نوع وجود دارد:
- روی همین دستگاه (یک بار تنظیم): صندوق روی خود ترازو (ترازوی کامپیوتری یا هوشمند) اجرا میشود. با Windows یا Android از طریق Aclas Scale Module وزن میکند، بدون پورت، سرعت یا پروتکل؛ با Linux (بدون Scale Module) از طریق پورت داخلی ترازو (معمولاً
/dev/ttyS0یا/dev/ttyS1)، با پورت، سرعت و پروتکل. از این نوع فقط یکی برای هر صندوق وجود دارد؛ جستوجو آن را خودکار پیدا میکند. ترازوی کامپیوتری یا هوشمند (TS6X، iS6X ...) همیشه روی همین دستگاه است: فقط یک بار میتواند در لیست باشد و بعد از آن مدلهای کامپیوتری/هوشمند دیگر قابل انتخاب نیستند. یک TS6X در جای دیگری از کسبوکار میتواند برچسب چاپ کند (در این صورت فقط اسکن برچسب را روشن کنید). - متصل (چند تا همزمان): ترازو با کابل (RS232/USB)، Bluetooth یا شبکه به سرور صندوق وصل است. به هر تعداد که لازم است (حداکثر 8)، هر کدام با نام خودش.
یک لیست، دو تیک. همهٔ ترازوها در یک لیست هستند. برای هر ترازو روشن میکنید چه کاری انجام دهد: توزین کنار صندوق (صندوق هنگام سفارش وزن را میپرسد) و/یا اسکن برچسب (ترازو برچسبی با بارکد چاپ میکند که صندوق آن را اسکن میکند، و PLUهای صندوق را دریافت میکند). ترازوی کامپیوتری یا هوشمند مثل TS6X هر دو کار را میکند؛ ترازوی برچسبزن سری LS فقط برچسب. برچسبها فقط میتوانند از یک ترازو در هر کسبوکار بیایند.
| مدل | نوع | اتصالها | در صندوق |
|---|---|---|---|
| OS6X | ترازوی POS | RS232، USB، Bluetooth | متصل، چند تا همزمان |
| OS2X | ترازوی POS | RS232، USB | متصل، چند تا همزمان |
| CS6X، CS3X | ترازوی صندوق | RS232، USB، Ethernet، Wi-Fi | متصل، چند تا همزمان |
| TS6X، TS3X، TS5EX، TS5NX، TS5GX | ترازوی کامپیوتری با سیستمعامل (Windows، Android، Linux) | RS232، USB، Ethernet، Wi-Fi | روی همین دستگاه (1 عدد)، همچنین بهعنوان ترازوی برچسبزن |
| iS6X، iS2X، iR6X، Ti6X، iL8X | ترازوی هوشمند (AI) با تشخیص محصول (Windows، Android، Linux) | RS232، USB، Ethernet، Wi-Fi | روی همین دستگاه (1 عدد)، همچنین بهعنوان ترازوی برچسبزن |
| iS5X، OiT2X | ترازوی هوشمند (فقط Linux) | RS232، USB، Ethernet | متصل یا بهعنوان ترازوی برچسبزن |
| LS2S، LS2RX، LS2CX، LS2NX، LS5SX، LS5RX، LS5CX، LS5NX، LS6CX، LS6RX، LS6NX | ترازوی برچسبزن | RS232، Ethernet، Wi-Fi | اسکن برچسب و PLUها |
| PS1CX، PS1DX، PS6CX، PS6DX | ترازوی قیمتدار | RS232 | متصل، چند تا همزمان |
| PS1BX | ترازوی قیمتدار بدون اتصال | هیچ | وارد کردن دستی وزن |
| LH15X | ترازوی آویز با چاپگر برچسب | RS232، Ethernet، Wi-Fi | متصل یا بهعنوان ترازوی برچسبزن |
A&D، Adam Equipment، Avery Berkel، Avery Weigh-Tronix، Balanzas Marques، Baxtran، Bizerba، Brecknell، CAS، Datalogic، Dibal، DIGI، Dini Argeo، Excell Precision، Gram، Ishida، Kern & Sohn، Mettler Toledo، Minebea Intec، Ohaus، Precia Molen، Precisa، Rice Lake، Rongta، Sartorius، Star Micronics، T-Scale، UWE، Wedderburn، Wintec و Zebra. مدلهای پرکاربرد این برندها که مشخص است صندوق چگونه با آنها ارتباط برقرار میکند در فهرست آمدهاند (در انتظار آزمایش = پروتکل در هیچ منبعی صریحاً نوشته نشده است؛ صندوق محتملترین گزینه را انتخاب میکند). همه بهصورت متصل (چند ترازو همزمان)، یا بهعنوان ترازوی برچسبزن که صندوق برچسب آن را اسکن میکند:
| برند | مدل | نوع | اتصال | پروتکل (تنظیم کارخانه) | در صندوق |
|---|---|---|---|---|---|
| A&D | EK-i (از جمله EK-610i)، HV-WP | ترازوی صندوق (فقط وزن) | RS232، EK-i همچنین USB | پیوسته (حالت stream)، 2400 baud، 7E1 | متصل، چند تا همزمان |
| Adam Equipment | Swift | ترازوی قیمتدار | RS232، USB (اختیاری) | پیوسته (پیوسته به رایانه)، 9600 8N1 (در انتظار آزمایش) | متصل، چند تا همزمان |
| Avery Berkel | FX110، FX120، FX131 (توکار، با اسکنر) | ترازوی صندوق | RS232، FX131 همچنین USB | Mettler Toledo 82/7 = Toledo 8217 (صندوق W میفرستد)، 9600 baud، 7E1 | متصل، چند تا همزمان |
| Avery Berkel | FX125 | ترازوی قیمتدار | RS232 | Checkout-Dialog 06 (9600، 7O1) | متصل، چند تا همزمان |
| Avery Berkel | Xs, XTs, XTi | ترازوی برچسبزن | Ethernet، Wi-Fi، USB | PLUهای خود ترازو | اسکن برچسبها |
| Avery Weigh-Tronix | 7820, 7829, ZP900 | ترازوی صندوق | RS232، 7820 همچنین USB، ZP900 همچنین USB و Ethernet | NCI (صندوق W میفرستد)، 9600 baud، 7E1 | متصل، چند تا همزمان |
| Balanzas Marques | BM1000P TOP | ترازوی صندوق (فقط وزن) | RS232 | METTLER (صندوق W میفرستد، Toledo)، 9600 baud، 7E1 | متصل، چند تا همزمان |
| Balanzas Marques | BM5 Junior Tower Label, BM500 ETQ | ترازوی برچسبزن | Ethernet، USB، RS232، BM500 ETQ همچنین Wi-Fi | PLUهای خود ترازو | اسکن برچسبها |
| Baxtran | TW, VW, XTA, XTA-P | ترازوی قیمتدار | RS232 | Toledo (صندوق W میفرستد)، 9600 baud، 7E1 | متصل، چند تا همزمان |
| Bizerba | CS 300 (توکار هم) | ترازوی صندوق | RS232 | Checkout-Dialog 06 (9600، 7O1) | متصل، چند تا همزمان |
| Bizerba | K-Class Flex، KH II | ترازوی برچسبزن | Ethernet | PLUهای خود ترازو | اسکن برچسبها |
| Brecknell | 6702U, 6710U, 6720U | ترازوی صندوق | RS232، USB (پورت COM مجازی) | NCI (صندوق W میفرستد)، 9600 baud، 7E1 | متصل، چند تا همزمان |
| CAS | PD-II, PDN, PDI, PDS-B | ترازوی صندوق | RS232، PDN همچنین USB و Bluetooth، PDI همچنین USB | ECR type 2 = Toledo (صندوق W میفرستد)، 9600 baud، 7E1 | متصل، چند تا همزمان |
| CAS | CL3000, CL5500, CL7200 | ترازوی برچسبزن | Ethernet، USB، RS232، CL5500 و CL7200 همچنین Wi-Fi | PLUهای خود ترازو | اسکن برچسبها |
| Datalogic | Magellan 9300i، 9400i، 9800i (اسکنر با ترازو) | ترازوی صندوق | RS232 (پورت جداگانهٔ ترازو)، USB | Mettler Toledo 8217 (صندوق W میفرستد)، 9600 baud، 7E1 | متصل، چند تا همزمان |
| Dibal | KS-400, D-POS 400 | ترازوی صندوق | RS232، D-POS 400 همچنین USB | Checkout-Dialog 06 (9600، 7O1) | متصل، چند تا همزمان |
| Dibal | G-325, PI-100 | ترازوی قیمتدار | RS232 | Checkout-Dialog 06 (9600، 7O1) | متصل، چند تا همزمان |
| Dibal | M-500 (Mistral), D-900, CS-2200 | ترازوی برچسبزن | Ethernet، Wi-Fi، USB | PLUهای خود ترازو | اسکن برچسبها |
| DIGI | DS-781 | ترازوی قیمتدار | RS232 | DIGI Type B (صندوق ENQ میفرستد)، 9600 8N1 | متصل، چند تا همزمان |
| DIGI | SM-120، SM-6000 | ترازوی برچسبزن | Ethernet، Wi-Fi | PLUهای خود ترازو | اسکن برچسبها |
| Dini Argeo | DFW, DGT, 3590E | ترازوی صندوق (فقط وزن) | RS232، USB، Ethernet، DFW و 3590E همچنین Wi-Fi | پیوسته (ST,GS, 0.512,kg)، 9600 8N1 | متصل، چند تا همزمان |
| Excell Precision | TPE, AM4, FD4-P, FDP4-P, GE4, GEP4 | ترازوی قیمتدار | RS232 | پیوسته (ST,GS,+0.876kg)، 9600 8N1 (فقط TPE در انتظار آزمایش) | متصل، چند تا همزمان |
| Gram | XFOC RS, XFOC+ RS, ZFOC RS | ترازوی قیمتدار | RS232، USB (کابل Gram) | Gram (صندوق ENQ و سپس DC1 میفرستد)، 9600 8N1 (XFOC در انتظار آزمایش) | متصل، چند تا همزمان |
| Ishida | Uni-3, Uni-5, Uni-7, Uni-9 | ترازوی برچسبزن | Ethernet، Wi-Fi، USB | PLUهای خود ترازو | اسکن برچسبها |
| Kern & Sohn | RPB, RFC | ترازوی قیمتدار | RS232، USB | Checkout-Dialog 06 (Prot = DLG-06، 9600، 7O1) | متصل، چند تا همزمان |
| Kern & Sohn | RFE (قیمت)، IFB، EOC | ترازوی قیمتدار / ترازوی صندوق | RS232 | پیوسته، 9600 8N1 | متصل، چند تا همزمان |
| Mettler Toledo | Ariva-S | ترازوی صندوق | RS232، USB (پورت COM مجازی) | Toledo 8217 (صندوق W میفرستد)، 9600 baud، 7E1 | متصل، چند تا همزمان |
| Mettler Toledo | Viva | ترازوی صندوق | RS232 | Toledo 8217، 9600 baud، 7E1 | متصل، چند تا همزمان |
| Mettler Toledo | bPlus، UC Evo | ترازوی برچسبزن | Ethernet، Wi-Fi | PLUهای خود ترازو | اسکن برچسبها |
| Minebea Intec | Signum, Combics, Midrics, Puro | ترازوی صندوق (فقط وزن) | RS232، USB، Signum و Combics همچنین Ethernet | پیوسته (SBI، چاپ خودکار)، 9600 8N1 | متصل، چند تا همزمان |
| Ohaus | Aviator 7000 | ترازوی قیمتدار | RS232 یا USB | Checkout-Dialog 06 (9600، 7O1) | متصل، چند تا همزمان |
| Ohaus | Valor 7000, Ranger 3000, Ranger 4000, Ranger 7000, Defender 3000 | ترازوی صندوق (فقط وزن) | RS232، USB، Ethernet | پیوسته (Auto Print Continuous)، 9600 8N1 | متصل، چند تا همزمان |
| Precia Molen | DP400 | ترازوی صندوق | RS232، USB | Checkout-Dialog 06 (9600، 7O1) | متصل، چند تا همزمان |
| Precia Molen | DPOS CR, C 210 B, C 210 C | ترازوی قیمتدار | RS232 | Checkout-Dialog 06 (9600، 7O1؛ C 210 در انتظار آزمایش) | متصل، چند تا همزمان |
| Precia Molen | Corail 500 | ترازوی برچسبزن | Ethernet، Wi-Fi | PLUهای خود ترازو | اسکن برچسبها |
| Precisa | XB، XT، LS، LX (ترازوهای دقیق آزمایشگاهی) | ترازوی صندوق (فقط وزن) | RS232، LS و LX همچنین USB | پیوسته (حالت چاپ CONTINUOUS)، 9600 8N1 | متصل، چند تا همزمان |
| Rice Lake | BenchPro BP-S, BenchPro BP-R | ترازوی صندوق | RS232 | BP-S Toledo 8213، BP-R NCI (هر دو: صندوق W میفرستد)، 9600 baud، 7E1 (در انتظار آزمایش) | متصل، چند تا همزمان |
| Rongta | RLS1000, RLS1100 | ترازوی برچسبزن | Ethernet، RS232، Wi-Fi | PLUهای خود ترازو | اسکن برچسبها |
| Sartorius | Entris, Quintix | ترازوی صندوق (فقط وزن) | RS232، USB | پیوسته (SBI، چاپ خودکار)، 9600 8N1 | متصل، چند تا همزمان |
| Star Micronics | mG-T12, mG-T30, mG-T60, mG-S8200 | ترازوی صندوق (فقط وزن) | RS232، USB (پورت COM مجازی) | پیوسته، 9600 8N1 (در انتظار آزمایش) | متصل، چند تا همزمان |
| T-Scale | PA10, PA15, PEA10 | ترازوی برچسبزن | Ethernet | PLUهای خود ترازو | اسکن برچسبها |
| UWE | ASEP | ترازوی قیمتدار | RS232 | پیوسته، 9600 8N1 (در انتظار آزمایش) | متصل، چند تا همزمان |
| Wedderburn | TSDS983 | ترازوی صندوق | RS232 | DIGI Type B (صندوق ENQ میفرستد)، 9600 8N1 (در انتظار آزمایش) | متصل، چند تا همزمان |
| Wedderburn | TSDS781T, TSDS782T | ترازوی قیمتدار | RS232 | DIGI Type B، 9600 8N1 (در انتظار آزمایش) | متصل، چند تا همزمان |
| Wedderburn | TSSM120 | ترازوی برچسبزن | Ethernet، RS232 | PLUهای خود ترازو | اسکن برچسبها |
| Wintec | ScalePOS ACS-S60E (صندوق با ترازوی داخلی) | ترازوی صندوق | COM6 داخلی (Windows) یا COM4 (Android) | پیوسته، 9600 8N1 (در انتظار آزمایش) | متصل |
| Zebra | MP7000، MP72 (اسکنر با ترازو) | ترازوی صندوق | RS232 (پورت AUX) | SASI = Toledo (صندوق W میفرستد)، 9600 baud، 7E1 (در انتظار آزمایش) | متصل، چند تا همزمان |
- A&D EK-i و HV-WP: ترازو را روی stream (EK-i:
prt 0؛ تنظیم کارخانه روی کلید PRINT است) و صندوق را روی پیوسته با 2400 baud و 7E1 تنظیم کنید (تنظیم کارخانهٔ A&D همین است). پیامST,+00512.00 gاست (US= ناپایدار،OL= بیش از حد سنگین). - Adam Equipment Swift: ترازو را روی پیوسته به رایانه (8N1) تنظیم کنید؛ آنگاه صندوق روی پیوسته است.
- Avery Berkel FX110، FX120 و FX131: روی ترازو پروتکل Mettler Toledo 82/7 را انتخاب کنید و صندوق را روی درخواست (Toledo) با 7E1 (9600 baud) تنظیم کنید. Dialog 06 هم ممکن است. FX125 (با نمایشگر قیمت) Toledo را پشتیبانی نمیکند: آنجا Dialog 06. وقتی مدل را انتخاب کنید، صندوق این تنظیمات را خودکار انجام میدهد.
- Avery Weigh-Tronix 7820، 7829 و ZP900 و Brecknell 6702U، 6710U و 6720U: NCI، پروتکل Weigh-Tronix. صندوق
Wمیفرستد (مانند Toledo)، ترازو با وزن (1.234KG) و یک خط وضعیت پاسخ میدهد؛ این خط نشان میدهد ترازو ناپایدار، بیش از حد سنگین یا بیش از حد سبک است. صندوق روی درخواست (Toledo) با 7E1 (9600 baud) است. USB بهعنوان پورت COM مجازی کار میکند. در ZP900، صندوق را به پورت 2 وصل کنید (NCI). در 67xxU روی ترازو 8213 (SCP03) هم قابل انتخاب است. - Balanzas Marques BM1000P TOP: در پورت COM پروتکل B (METTLER) و 9600 baud، 7 بیت داده، توازن زوج را انتخاب کنید؛ در این صورت صندوق روی درخواست (Toledo) با 7E1 است.
- Baxtran TW، VW، XTA و XTA-P (ترازوهای محاسبهگر قیمت؛ VW و XTA-P پایهدار): در منوی RS232 ترازو، پروتکل Toledo، 9600 baud و 7 بیت داده با توازن زوج (7E1) را انتخاب کنید؛ در این صورت صندوق روی درخواست (Toledo) با 7E1 است. وقتی مدل را انتخاب کنید، صندوق این تنظیمات را خودکار انجام میدهد. CONT (ترازو خودش میفرستد) هم کار میکند: در این صورت صندوق را روی پیوسته با همان سرعت و بیتهای داده تنظیم کنید. اتصال با کابل RS232 (9 پین) یا کابل USB به RS232.
- Bizerba CS 300: Checkout-Dialog 06 (مشخصات فنی Bizerba): صندوق قیمت هر کیلو را میفرستد و ترازوی کالیبرهشده مبلغ را حساب میکند. اگر ترازو کدهای کنترلی خواست، آنها را از Bizerba یا تأمینکننده میگیرید.
- CAS PD-II، PDN، PDI و PDS-B (PDS-B از جمله نزد LRE): روی ترازو ECR type 2 (Toledo) را انتخاب کنید و صندوق را روی درخواست (Toledo) با 7E1 (9600 baud) تنظیم کنید.
- Datalogic Magellan 9300i، 9400i و 9800i: Scale Interface Type پورت جداگانهٔ ترازو را روی Mettler Toledo 8217 و صندوق را روی درخواست (Toledo) با 7E1 تنظیم کنید.
- Dibal KS-400، D-POS 400، G-325 و PI-100: روی ترازو پروتکل Checkout_Dialog06 (پروتکل 24) و 9600 baud، 7 بیت داده، توازن فرد (نوع پارامتر 5) را انتخاب کنید؛ در این صورت صندوق روی Dialog 06 است. D-POS 400 از طریق USB هم وصل میشود.
- DIGI DS-781: ترازو را روی Type B / فرمان استاندارد تنظیم کنید (data transmission
00011)؛ صندوقENQمیفرستد و وزن خالص، وزن ظرف، قیمت هر کیلو و مبلغ را پس میگیرد. - Dini Argeo DFW، DGT و 3590E: پورت سریال را روی ارسال پیوسته (9600 8N1) تنظیم کنید؛ آنگاه صندوق روی پیوسته است.
- Excell Precision TPE (و نسل 4ام AM4، FD4-P، FDP4-P، GE4، GEP4): خروجی RS232 را روی پیوسته (9600 8N1) تنظیم کنید؛ آنگاه صندوق روی پیوسته است.
- Gram XFOC RS، XFOC+ RS و ZFOC RS: پروتکل Gram (9600 8N1). صندوق
ENQمیفرستد، ترازو باACKپاسخ میدهد، صندوقDC1میفرستد و ترازو وزن را میفرستد:SOH STX S/U/F teken gewicht eenheid BCC ETX EOT(S= ثابت،U= در حال حرکت،F= خطا؛ BCC = XOR از وضعیت تا خودِ واحد). اتصال با RS232 یا کابل USB شرکت Gram. - Kern & Sohn RPB و RFC: روی ترازو
Prot = DLG-06را تنظیم کنید (اتصال صندوق گزینهٔ 965-419 است)؛ آنگاه صندوق روی Dialog 06 است. RFE، IFB و EOC: ارسال پیوسته (8N1)، صندوق روی پیوسته. - Mettler Toledo Ariva/Viva: ترازو را روی پروتکل Toledo (8217) و صندوق را روی درخواست (Toledo) با بیتهای داده / توازن = 7E1 تنظیم کنید (Mettler: 9600 baud، 7 بیت داده، توازن زوج؛ Ariva را میتوان از طریق USB هم بهعنوان پورت COM مجازی وصل کرد). وقتی مدل را انتخاب کنید، صندوق این تنظیمات را خودکار انجام میدهد.
- Minebea Intec Signum، Combics، Midrics و Puro و Sartorius Entris و Quintix: SBI با چاپ خودکار (9600 8N1)؛ آنگاه صندوق روی پیوسته است. پیام
N + 0.512 kgاست؛ بدون واحد یعنی وزن هنوز ناپایدار است. - Ohaus Aviator 7000: در تنظیمات ترازو (مرحلهٔ 20) پروتکل Dialog 06 را انتخاب کنید؛ در این صورت صندوق روی Dialog 06 است. RS232 یا USB، بسته به کابل.
- Ohaus Valor 7000، Ranger 3000/4000/7000 و Defender 3000 (توزین بدون قیمت): ترازو را روی Auto Print Continuous (9600 baud، 8N1) و صندوق را روی پیوسته تنظیم کنید. ترازو
0.512 kg Gمیفرستد؛?بعد از وزن یعنی وزن هنوز ثابت نشده است. Ranger 7000 از طریق Ethernet هم وصل میشود (پورت TCP 9761). - Precia Molen DP400، DPOS CR و C 210 (ترازوهای تجاری از 2025 متعلق به Dibal هستند): Dialog 06 (9600 7O1)، مانند Dibal. اگر با C 210 کار نکرد، درخواست (Toledo) با 7E1 را امتحان کنید.
- Precisa XB، XT، LS و LX: حالت چاپ را روی CONTINUOUS و 9600 8N1 تنظیم کنید، بدون تاریخ، زمان و ID در خط؛ آنگاه صندوق روی پیوسته است. بدون واحد یعنی وزن هنوز ناپایدار است.
- Rice Lake BenchPro BP-S (Toledo 8213) و BP-R (NCI): صندوق روی درخواست (Toledo) با 7E1 است.
- Star Micronics mG-T و mG-S8200: از طریق RS232 یا USB (پورت COM مجازی، با درایور Star) روی پیوسته.
- UWE ASEP: RS232 به رایانه/صندوق، صندوق روی پیوسته (در انتظار آزمایش).
- Wedderburn TSDS983، TSDS781T و TSDS782T ترازوهای DIGI با شمارهٔ مدل خودشان هستند: DIGI (Type B)، مانند DIGI DS-781. اگر کار نکرد، درخواست (Toledo) با 7E1 را امتحان کنید.
- Wintec ScalePOS ACS-S60E: صندوق روی خودِ ScalePOS اجرا میشود؛ ترازوی داخلی روی COM6 (Windows) یا COM4 (Android) است، 9600 8N1. پیوسته را انتخاب کنید؛ اگر ترازو چیزی نفرستد، جستوجو پروتکل درست را پیدا میکند.
- Zebra MP7000 و MP72: پورت AUX RS232 در تنظیم کارخانه روی SASI است (9600 7E1، صندوق
Wمیفرستد): صندوق روی درخواست (Toledo) با 7E1. - ترازوهای برچسبزن این برندها (Avery Berkel، Balanzas Marques، Bizerba، CAS، Dibal، DIGI، Ishida، Mettler Toledo، Precia Molen، Rongta، T-Scale، Wedderburn) سیستمهای مستقلی با فایل PLU خودشان هستند. برای ترازو گزینهٔ اسکن برچسبها را روشن کنید و همان بارکدی را تنظیم کنید که روی ترازو هست (EAN-13، شروع با 20–29، PLU و وزن یا قیمت). PLUها را روی خود ترازو یا با نرمافزار برند تنظیم میکنید؛ ارسال به TS6X و دانلود فایل PLU فقط برای Aclas وجود دارند.
همین فهرست در صندوق زیر تنظیمات ← ترازو ← همه ترازوها هست (ACLAS_MODELLEN در packages/shared/src/weegschaal.ts، با برند هر مدل).
تا حد ممکن کمتر پر کنید: وقتی مدلی را انتخاب کنید، صندوق بقیه را همانطور که برند در کارخانه تنظیم کرده آماده میکند: اتصال پورت COM / USB روی اولین پورت آزاد، 9600 baud (A&D: 2400) و پروتکل برند (Toledo: Aclas با 8N1، و با 7E1 Avery Berkel FX، Avery Weigh-Tronix، Balanzas Marques، Baxtran، Brecknell، CAS، Datalogic، Mettler Toledo، Rice Lake و Zebra؛ Dialog 06: Avery Berkel FX125، Bizerba، Dibal، Kern & Sohn RPB/RFC، Ohaus Aviator و Precia Molen؛ DIGI Type B: DIGI و Wedderburn؛ Gram: Gram؛ پیوسته: A&D، Adam Equipment، Dini Argeo، Excell Precision، بقیهٔ Kern & Sohn، Minebea Intec، بقیهٔ Ohaus، Precisa، Sartorius، Star Micronics، UWE و Wintec)، و یک نام (مثلاً OS6X، OS6X 2). ترازوی رایانهای یا هوش مصنوعی به روی همین دستگاه تبدیل میشود (مثلاً TS6X (داخلی)؛ در Linux روی پورت داخلی /dev/ttyS0). اگر چیزی درست نبود، جستجو پورت، سرعت و پروتکل درست را پیدا میکند.
روی همین دستگاه (Aclas Scale Module): ترازو وزن کالیبرهشده را نشان میدهد؛ صندوق قیمت هر کیلو و وزن ظرف (بهعنوان پیشوزن ظرف) را میفرستد و مبلغی را که ترازو حساب میکند میپذیرد، درست مثل Dialog 06.
- Android: برنامهٔ Aclas AclasScaleDriver (
com.aclas.aclasscaledriver) معمولاً از قبل روی ترازو نصب است؛ اگر نیست،aclas-android/AclasScaleDriver.apkرا نصب کنید. برنامهٔ HorecaPOS مستقیم با سرویس آن برنامه ارتباط برقرار میکند، پس به کتابخانهٔ اضافه نیازی نیست. - Linux: Aclas برای Linux هیچ Scale Module ندارد. فقط مدل را انتخاب کنید (مثلاً TS6X): اتصال در این صورت روی همین دستگاه (پورت داخلی) روی
/dev/ttyS0، 9600 baud، Toledo میشود. ترازوی داخلی معمولاً روی/dev/ttyS0یا/dev/ttyS1است؛ جستوجو آنها را امتحان میکند و پورت، سرعت و پروتکل درست را تنظیم میکند. اینجا هم فقط یک بار ممکن است.
نرمافزار Aclas همراه صندوق است: Scale Module برای Windows (aclas-module)، AclasScaleDriver برای Android (aclas-android) و Aclas Sync SDK برای Windows و Linux (aclas-sdk). Aclas اجازه میدهد آنها را همراه صندوق ارائه کنیم. نصبکنندههای Windows و Linux آنها را دارند؛ لازم نیست چیزی جداگانه دانلود یا نصب شود.
Bluetooth (مثلاً OS6X): اول ترازو را جفت کنید. Windows از آن یک پورت COM میسازد (تنظیمات Bluetooth → گزینههای بیشتر Bluetooth → پورتهای COM)، Linux یک /dev/rfcomm0: همان پورت را وارد کنید. در برنامهٔ Android آدرس Bluetooth را وارد کنید (00:11:22:AA:BB:CC)؛ برنامه یک بار اجازهٔ دستگاههای نزدیک را میخواهد و از طریق Bluetooth SPP وصل میشود.
ترازوهای هوشمند (تشخیص محصول): دوربین محصول را در نرمافزار Aclas روی ترازو تشخیص میدهد. توزین از طریق Scale Module (روی همین دستگاه) یا پورت RS232 انجام میشود؛ ترازوهای برچسبزن هوشمند پس از تشخیص، برچسبی با بارکد چاپ میکنند که صندوق آن را اسکن میکند (مثل TS6X).
Aclas AI Recognition Plugin (ترازوی هوشمندی که صندوق روی آن اجرا میشود، مثلاً iS6X با Windows): افزونهٔ Aclas محصول را تشخیص میدهد و بارکد آن را مثل یک اسکنر در صندوق تایپ میکند (با Enter پس از آن)؛ صفحهٔ سفارش محصول را با وزنش به سفارش اضافه میکند. تنظیم آن به این صورت است:
- برای ترازو اسکن برچسبها را با همان بارکدی که در افزونه است روشن کنید. پیشنهاد: شروع با
27، PLU 5 رقم، وزن (Aclas نوع 17): در این صورت صندوق خودش با قیمت هر کیلو حساب میکند. با قیمت (نوع 12، شروع با22) هم میشود. - برای آن ترازو توزین کنار صندوق را خاموش کنید: افزونه و Scale Module نمیتوانند همزمان به ترازو دسترسی داشته باشند. وزن از بارکد میآید. اگر افزونه در جستجو پاسخ دهد، صندوق همان را پیشنهاد میکند و Scale Module را راهاندازی نمیکند. بدون کد فعالسازی، افزونه وزن میکند و مبلغ را حساب میکند، اما محصولی را تشخیص نمیدهد.
- در خود افزونه: بارکد در Scale and Barcode Format Settings → Default Barcode Format (نوع 17)، و در تنظیمات پنجره نقطهای که افزونه روی آن کلیک میکند و کد را تایپ میکند. برای این کار جای خالیای در صفحهٔ سفارش انتخاب کنید، نه روی یک دکمه. محصولات جدید را خود کسبوکار روی ترازو به افزونه یاد میدهد (آموزش هوش مصنوعی).
- به محصولات وزنی یک شمارهٔ PLU بدهید و PLUها را به ترازو بفرستید (ارسال به TS6X یا فایل PLU)؛ افزونه بر اساس شمارهٔ PLU تشخیص میدهد.
- صندوق فقط تا زمانی به افزونه اجازهٔ تشخیص میدهد که صفحهٔ سفارش روی خود ترازو باز باشد (
POST /aiplugin/resume، هنگام بستن/aiplugin/suspend، پورت 5003 روی ترازو؛ بار اول همچنین EmployeeMode: نمایشگر مشتری ترازو محصولی نشان نمیدهد). روی صندوقها و تبلتهای دیگر و از طریق پرتال مدیریت هیچ اتفاقی نمیافتد. - افزونه همیشه در حالت Resume شروع میشود و نمیتواند وضعیتش را اعلام کند. به همین دلیل صفحهٔ سفارش هر 30 ثانیه دوباره resume میفرستد؛ اگر این قطع شود (صفحه بسته، افزونه یا ترازو راهاندازی مجدد شده)، صندوق ظرف یک دقیقه افزونه را روی Suspend میگذارد و همانجا نگه میدارد.
- افزونه برای هر ترازو یک کد فعالسازی از Aclas میخواهد (وابسته به شمارهٔ سریال). فعلاً روی Windows کار میکند؛ نسخهٔ Android از Aclas بعداً میآید (صندوق آنجا هم همین کار را میکند).
Aclas OS6X (ترازوی POS کنار صندوق، RS232/USB؛ ترازوهای متصل دیگر هم همینطور کار میکنند):
- یک یا چند ترازو (حداکثر 8)، هر کدام با یک نام (مثلاً پیشخوان، بار) و اتصال خودش: پورت COM / USB (
COM3در Windows،/dev/ttyUSB0در Linux/Android) همراه با سرعت، یا شبکه از طریق مبدل سریال به شبکه (آدرس IP و پورت TCP، مثلاً 4001). - پروتکل: درخواست (Toledo) = صندوق
Wمیفرستد و ترازو با وزن پاسخ میدهد (Toledo 8217، که OS6X معمولاً روی آن تنظیم است؛ همچنین پیامهای وضعیت ناپایدار/اضافهبار/زیر صفر) یا پیوسته = ترازو خودش مدام وزن را میفرستد (ST,GS, 0.512kg،US= ناپایدار) یا Dialog 06 (کالیبرهشده)، پایینتر را ببینید، یا DIGI (Type B) = صندوقENQمیفرستد و DIGI با وضعیت، وزن خالص، وزن ظرف، قیمت هر کیلو و مبلغ پاسخ میدهد (37 نویسه:<status> <toestand> CR 0<netto> CR 4<tarra> CR U<kiloprijs> CR T<bedrag> CR LF؛ بیت حالت 1 = پایدار، بیت 2 = زیر صفر، بیت 3 = بیش از حد سنگین، بیت 4 = بیش از حد سبک)، یا Gram = صندوقENQمیفرستد، منتظرACKمیماند،DC1میفرستد وSOH STX <S/U/F> <teken> <gewicht> <eenheid> <BCC> ETX EOTرا میخواند. همان پروتکل و همان سرعت را روی ترازو تنظیم کنید. بیتهای داده / توازن: 8N1 (Aclas، Adam Equipment، DIGI، Dini Argeo، Excell Precision، Gram، Kern & Sohn، Minebea Intec، Ohaus، Precisa، Sartorius، Star Micronics، UWE، Wedderburn، Wintec) یا 7E1 (A&D، Avery Berkel، Avery Weigh-Tronix، Balanzas Marques، Baxtran، Brecknell، CAS، Datalogic، Mettler Toledo 8217، Rice Lake، Zebra)؛ Dialog 06 همیشه 7O1 است. درخواست NCI را هم میخواند (Avery Weigh-Tronix، Brecknell، Rice Lake BP-R): در پاسخ بهWترازوLF 1.234KG CR LF S00 CR ETXرا میفرستد؛ خط وضعیت (S+ 2 یا 3 بایت) نشان میدهد که ترازو ناپایدار است (بایت 1 بیت 0)، بیش از حد سبک (بایت 2 بیت 0) یا بیش از حد سنگین (بایت 2 بیت 1)؛^^^^^= بیش از حد سنگین،_____= بیش از حد سبک. - Dialog 06 (Checkout-Dialog 06، پروتکل اروپایی برای ترازوی کالیبرهشدهٔ متصل به صندوق): صندوق قیمت هر کیلو (و وزن ظرف محصول) را به ترازو میفرستد؛ ترازو وزن میکند، مبلغ را خودش حساب میکند و قیمت هر کیلو، وزن و مبلغ را روی نمایشگر (کالیبرهشدهٔ) خودش نشان میدهد. صندوق وزن و مبلغ را میپذیرد؛ در پنجرهٔ توزین "محاسبهشده توسط ترازو" نوشته میشود. همیشه 9600 baud، 7 بیت داده، توازن فرد، 1 بیت توقف (سرعت در تنظیمات در این حالت مهم نیست). روند:
EOT STX 01 ESC <kiloprijs 6> ESC ETX(با وزن ظرف: رکورد03با 4 رقم گرم) → ACK؛ENQ→STX 02 ESC 3 ESC <gram 5> ESC <kiloprijs 6> ESC <bedrag 6> ETX؛ NAK →EOT STX 08 ETX→STX 09 ESC <code> ETX(22 = هنوز آماده نیست، پس از 100 ms دوباره؛ 20 = در حال حرکت؛ 21 = اول بردارید؛ 30/31 = خیلی سبک؛ 32 = خیلی سنگین؛ 11 = قیمت نامعتبر). کدهای کنترلی: بسیاری از ترازوهای Dialog 06 گاهبهگاه (مثلاً هر 30 توزین) کدهای کنترلی نرمافزار صندوق را میخواهند (رکورد 11 → رکورد 10). این کدها و نحوهٔ محاسبهشان را سازندهٔ ترازو فقط به تأمینکنندهٔ صندوق میدهد. آنها را در کدهای کنترلی وارد کنید (جفتهای 4 نویسهای هگزادسیمال، مثلاً74AE 1B2C)؛ صندوق هر وقت ترازو درخواست کند آنها را میفرستد. اگر ترازو با یک عدد متغیر (Z) حساب کند و در نتیجه کدهای ثابت درست نباشند، صندوق این را اعلام میکند؛ در این صورت از تأمینکننده بخواهید ترازو را بدون این کنترل تنظیم کند، یا از Toledo استفاده کنید. - ترازوها به کامپیوتر یا دستگاهی وصل هستند که سرور صندوق روی آن اجرا میشود؛ همهٔ صندوقها و تبلتها از طریق سرور صندوق وزن میکنند و در پنجرهٔ توزین انتخاب میکنند از کدام ترازو استفاده کنند. آزمایش یک بار وزن میکند.
- شبکه همهجا کار میکند.
- وارد کردن دستی وزن هم: روشن = حتی با وجود ترازو هم میتوان وزن را تایپ کرد؛ بدون OS6X همیشه ممکن است.
اسکن برچسب (تیک کنار ترازو: Aclas TS6X، یک ترازوی کامپیوتری یا هوشمند دیگر، سری LS یا LH15X؛ ترازو + چاپگر برچسب، یکی برای هر کسبوکار):
- آدرس IP: فقط برای ارسال به TS6X لازم است. توزین و اسکن برچسب بدون آن کار میکنند. اگر صندوق روی خود TS6X اجرا میشود، خالی بگذارید: صندوق در این صورت به خودش میفرستد (127.0.0.1). اگر همان ترازو کنار صندوق هم وزن میکند، هر دو تیک کنار همان ترازو هستند (جستوجو این را همینطور آماده میکند).
- اسکن برچسب: اسکن برچسبها در صفحهٔ سفارش. تنظیم کنید بارکد چه شکلی دارد، درست مثل روی TS6X: شروع با (20–29، پیشفرض
28)، تعداد ارقام PLU (4، 5 یا 6) و سپس وزن به گرم یا قیمت به سنت، بهعلاوهٔ رقم کنترلی (EAN-13). زیر تنظیمات یک نمونه نشان داده میشود. - شمارههای PLU: در تنظیمات → محصولات، محصول وزنی یک قیمت هر کیلو، در صورت نیاز وزن ظرف و یک شمارهٔ PLU (یکتا) میگیرد. شمارهٔ PLU را از یک لیست انتخاب میکنید (بدون PLU، آزاد بعدی، شمارهٔ دیگر…)؛ با تیک زدن قیمت هر کیلو، شمارهٔ آزاد بعدی از قبل وارد شده است. فقط برای برچسبها و PLUهای TS6X لازم است: بدون TS6X میتواند بدون PLU بماند.
- ارسال مستقیم در Windows و Linux کار میکند؛ در Android و macOS از فایل PLU استفاده کنید. در نصب اول، نام فیلدهای فایل PLU و کدهای
aclas-plu.ps1را با راهنمای SDK ترازوی تحویلشده مقایسه کنید (تنها یک جا برای تغییر:ACLAS_PLU_KOLOMMENدرpackages/shared/src/weegschaal.ts).
پورتال مدیریت: گزارش به پورتال شامل عملکرد ترازو (A&D، Aclas، Adam Equipment، Avery Berkel، Avery Weigh-Tronix، Balanzas Marques، Baxtran، Bizerba، Brecknell، CAS، Datalogic، Dibal، DIGI، Dini Argeo، Excell Precision، Gram، Ishida، Kern & Sohn، Mettler Toledo، Minebea Intec، Ohaus، Precia Molen، Precisa، Rice Lake، Rongta، Sartorius، Star Micronics، T-Scale، UWE، Wedderburn، Wintec، Zebra) با روشن/خاموش و اینکه کدام ترازوها به تفکیک مدل وجود دارند (مثلاً TS6X (op dit apparaat), 2x OS6X, PS1CX, Ariva-S, DS-781, LS6RX, 5 producten per kilo)؛ بدون نشانیهای IP، پورتهای COM یا نشانیهای Bluetooth.
قانون کالیبراسیون (اوزان و مقیاسها): ترازویی که با آن فروش انجام میدهید باید کالیبره و پلمبشده باشد (کلاس III، مثل OS6X). با Toledo/پیوسته، صندوق با وزنی که ترازو میدهد حساب میکند؛ با Dialog 06، خود ترازوی کالیبرهشده قیمت را حساب میکند.
کد: packages/shared/src/weegschaal.ts (پروتکلها، برچسبها، فایل PLU)، apps/pos-server/src/lib/weegschaal.ts و routes/weegschaal.ts؛ صفحههای WeegschaalInstellingen.tsx و WeegDialoog.tsx.
Thuisbezorgd.nl / Takeaway.com
سفارشهای Thuisbezorgd.nl مستقیم و بدون واسطه (بدون Deliverect، HubRise و مانند آن) وارد صندوق میشوند: Just Eat Takeaway JET Connect با پرتال مدیریت Pin Voordeel ارتباط دارد و صندوق پیامهایش را از آنجا دریافت میکند.
در بلژیک نام این پلتفرم Takeaway.com است: همان شرکت (Just Eat Takeaway) و همان اتصال. برای کسبوکاری در بلژیک، در صفحهها، پیامها، روی فیش آشپزخانه و در پرتال مدیریت همهجا Takeaway.com بهجای Thuisbezorgd.nl نوشته میشود. در ادامه Thuisbezorgd برای هر دو به کار رفته است.
چرا از طریق پرتال؟ صندوق فقط به PORTAAL_URL و PORTAAL_SLEUTEL نیاز دارد (بخش پرتال مدیریت را ببینید) و فقط درخواستهای خروجی میفرستد.
تنظیم (تنظیمات ← پلتفرمهای ارسال غذا ← Thuisbezorgd.nl / Takeaway.com، دسترسی تنظیم کسبوکار، پرداخت و چاپگرها؛ پیشتر این در تنظیمات ← کسبوکار بود):
- استفاده از Thuisbezorgd را روشن کنید (فوراً اعمال میشود، جدا از ذخیره).
- ثبتنام در Thuisbezorgd. سپس کسبوکار در Thuisbezorgd (Partner Hub یا مدیر حساب) OptimumPOS / Pin Voordeel را بهعنوان صندوق انتخاب میکند. JET آنوقت یک جلسهٔ راهاندازی (onboarding) شروع میکند؛ پرتال صندوق ثبتنامشده را پیدا میکند (بر اساس کد پستی و نام، وگرنه Pin Voordeel جلسه را دستی در پرتال وصل میکند)، پیکربندی را میفرستد و منو را از صندوق میخواهد. پس از آن اتصال فعال میشود.
- محصولاتی را که از طریق Thuisbezorgd قابل سفارش هستند تیک بزنید (برای هر گروه یا تکی)، در صورت تمایل با توضیحی برای Thuisbezorgd. منو (قیمت، گزینهها بهصورت modifier، آلرژنها، مالیات بر ارزش افزوده) خودکار منتقل میشود؛ PLU = شناسهٔ محصول/گزینه. پس از هر تغییر در کاتالوگ، صندوق ظرف 30 ثانیه منو را بهروز میکند؛ فقط "تمام شد"/"دوباره موجود" از طریق API موجودی ارسال میشود.
- ساعات کاری Thuisbezorgd: جدا برای ارسال و بیرونبر (مثلاً
16:00-22:00، چند بازه با ویرگول). با دکمهٔ ذخیره ساعات کاری زیر آن ذخیره میشوند و بهمحض آماده شدن اتصال، بهعنوان service times به Thuisbezorgd میروند. - موقتاً بسته / دوباره باز (در هلند و بلژیک حداکثر تا صبح روز بعد ساعت 07:00 دوباره باز میشود).
سفارشها. هر سفارش به یک سفارش عادی بدون میز تبدیل میشود (bezorgen یا afhalen، نام گروه TB <ordernummer>) با قیمتهایی که مشتری پرداخته، بهعلاوهٔ هزینهٔ ارسال/هزینهٔ خدمات بهصورت ردیف جداگانه و تخفیف Thuisbezorgd بهصورت ردیف تخفیف؛ اگر جمع کل باز هم درست نباشد، یک ردیف "اختلاف Thuisbezorgd" اضافه میشود. فیش آشپزخانه فوراً به آشپزخانه/بار میرود (قابل خاموش کردن). صندوق ظرف چند ثانیه به پرتال تأیید میفرستد و پرتال آن را به JET اعلام میکند؛ اگر این کار ظرف 3 دقیقه انجام نشود یا صندوق آفلاین باشد، JET پیام "ناموفق" دریافت میکند و کسبوکار به Orderpad برمیگردد.
دکمهٔ Thuisbezorgd در نوار بالا (همراه با تعداد سفارشهای در جریان): لیست، مشتری و آدرس، زمان آماده شدن/تحویل و خط زمانی (track & trace): دریافت شد، پیک در راه رستوران، پیک در رستوران، در راه مشتری، تحویل شد (از JET)، بهعلاوهٔ مراحل خودتان (در حال آمادهسازی، آماده، در راه/تحویل شد در ارسال توسط خودتان، تحویل گرفته شد). JET Connect نقشهٔ زندهٔ پیک را در اختیار صندوق نمیگذارد؛ مشتری آن را در برنامهٔ Thuisbezorgd میبیند. سفارش جدید، لغو سفارش و "پیک در رستوران" یک نوار نارنجی و یک صدا ایجاد میکنند. تکمیل (پرداخت آنلاین) با روش پرداخت online تسویه میکند؛ اگر مشتری دم در پرداخت کند، بهطور عادی تسویه کنید. لغو سفارش از سوی Thuisbezorgd سفارش را باطل میکند و یک فیش آشپزخانهٔ "لغو شد" چاپ میکند.
کد: apps/pos-server/src/lib/thuisbezorgd.ts، routes/thuisbezorgd.ts؛ صفحههای ThuisbezorgdInstellingen.tsx و Thuisbezorgd.tsx. سمت پرتال: horecapos-portaal/src/thuisbezorgd.mjs (README پرتال را ببینید).
شمارش در پرتال مدیریت. تعداد سفارشهای Thuisbezorgd در هر روز در گزارش به پرتال مدیریت فرستاده میشود (verkoopTelling در lib/portaal.ts): سفارشهای دریافتشده و لغونشده، در روز دریافت. سفارش Thuisbezorgd که در صندوق تسویه میشود (از جمله با تکمیل (پرداخت آنلاین)) آنجا دوباره جزو بیرونبر/ارسال حساب نمیشود. اطلاعات Thuisbezorgd در پایگاه دادهٔ صندوق است و بنابراین بهطور عادی در نسخههای پشتیبان صندوق هم هست.
فروشگاه اینترنتی و سفارش آنلاین
هر کسبوکار میتواند فروشگاه اینترنتی خودش را داشته باشد: یک سایت سفارش (و اپ) با هویت بصری خودش برای بیرونبر، ارسال، سفارش سر میز با کد QR و رزرو، با پرداخت آنلاین (MultiSafepay یا Buckaroo) یا پرداخت هنگام تحویل/ارسال. فروشگاه اینترنتی یک پروژهٔ جداگانه است، horecapos-webshop (Node.js، README آنجا را ببینید)، و روی همان سروری اجرا میشود که پرتال مدیریت.
روشن کردن و راهاندازی در مدیریت فروشگاه اینترنتی انجام میشود: دکمهٔ مدیریت فروشگاه اینترنتی در پرتال مشتری (مالک) یا در بخش نصب در پرتال مدیریت (Pin Voordeel). آنجا روشن/خاموش، آدرس وب (<zaak>.<webshopdomein> یا دامنهٔ اختصاصی)، هویت بصری (رنگها، لوگو، عکس سربرگ، فونت)، ساعات کاری و بازههای زمانی برای بیرونبر و ارسال، منطقهٔ ارسال (کدهای پستی، شعاع یا منطقهای روی نقشه، با هزینه و حداقل)، پرداخت، کدهای تخفیف، متنها، زبانها، کدهای QR برای میزها، رزرو و اپ (قابل نصب بهصورت PWA؛ اپ Android از طریق Trusted Web Activity) و اعلانهای پوش (اختیاری، بهطور پیشفرض خاموش) قرار دارند: مهمان در صفحهٔ سفارش خود اعلان را روشن میکند و وقتی سفارش آماده یا در راه است یک اعلان پوش دریافت میکند؛ هر کس بخواهد گاهبهگاه یک پیشنهاد ویژه هم دریافت میکند که کسبوکار آن را از مدیریت فروشگاه اینترنتی (زبانهٔ اعلانهای پوش) میفرستد. این قابلیت روی Android و رایانهها (Chrome، Edge، Firefox، Samsung Internet)، در اپ Android، و روی iPhone و iPad (iOS 16.4 یا جدیدتر) کار میکند، به شرطی که مهمان فروشگاه اینترنتی را به صفحهٔ اصلی اضافه کند. هیچ پیامک یا ایمیلی ارسال نمیشود و هیچ نام یا شمارهای ذخیره نمیشود. جزئیات در README فروشگاه اینترنتی.
منو. صندوق منو را خودکار میفرستد: همهٔ محصولات فعال (نه کیلویی)، به تفکیک گروه محصول، با قیمت، گزینهها، آلرژنها، ناموجود بودن و عکس محصول، بهعلاوهٔ میزها و اطلاعات کسبوکار، و اینکه کدام کانالهای بازاریابی روشناند (برای تیک "دریافت پیشنهادها" هنگام پرداخت، بازاریابی پیامکی و ایمیلی را ببینید). این کار هنگام راهاندازی، به محض روشن شدن فروشگاه اینترنتی، ظرف 30 ثانیه پس از هر تغییر در کاتالوگ و ظرف چند ثانیه پس از هر تغییر در تنظیمات ← کسبوکار، مانند بازاریابی یا کارت مشتری (یا با ارسال منو همین حالا) انجام میشود. برای بیرون نگه داشتن یک محصول از فروشگاه اینترنتی میتوانید در مدیریت فروشگاه اینترنتی (پنهان کردن)، یا در پایگاه داده با artikel.webshop = false اقدام کنید.
سفارشها. بیرونبر و ارسال به یک سفارش عادی بدون میز تبدیل میشوند (نام گروه WEB <bestelnummer>) با قیمتهایی که مهمان دیده، بهعلاوهٔ هزینهٔ ارسال و کارمزد تراکنش بهصورت ردیف جداگانه و کد تخفیف بهصورت ردیف تخفیف؛ اگر جمع کل باز هم درست نباشد، یک ردیف "اختلاف فروشگاه اینترنتی" اضافه میشود. انعام مهمان جزو درآمد حساب نمیشود: در پایان (پرداخت آنلاین) بهعنوان انعام در پرداخت ثبت میشود. سفارش سر میز (کد QR) به حساب باز همان میز اضافه میشود (پرداخت آنلاین: بهعنوان گروهی جداگانه سر همان میز). فیش آشپزخانه فوراً به آشپزخانه/بار میرود (در پنجرهٔ فروشگاه اینترنتی قابل خاموش کردن است). صندوق ظرف چند ثانیه با شمارهٔ فیش تأیید میکند؛ سپس مهمان "دریافت شد" را میبیند و ایمیلی دریافت میکند. اگر صندوق آفلاین باشد، فروشگاه اینترنتی سفارشی نمیپذیرد (مهمان این را فوراً میبیند) و اگر سفارشی بیش از حد بیپاسخ بماند، به کسبوکار ایمیل میزند. رزروهای فروشگاه اینترنتی در رزروها قرار میگیرند (فقط اگر رزرو در صندوق روشن باشد). اگر حداکثری برای هر بازهٔ زمانی تعیین شده باشد (ارسال و بازههای زمانی)، سفارشهای فروشگاه اینترنتی که زمان دارند در آن شمرده میشوند.
بلژیک (جعبهٔ سیاه). سفارش فروشگاه اینترنتی فوراً بهعنوان سفارش (signOrder) به جعبهٔ سیاه میرود، پیش از برگهٔ کار، درست مانند سفارش در صندوق. اگر این کار موفق نشود، سفارش وارد صندوق نمیشود و فروشگاه اینترنتی آن را بعداً دوباره میفرستد. آنچه هنوز با جعبهٔ سیاه آزمایش نشده، در منوی فروشگاه اینترنتی خاموش است (کارتهای هدیه، کدهای تخفیف، نسیه، به حساب اتاق، منوها، گزینههای انتخابی با هزینهٔ اضافه، ساعت تخفیف و انعام) و اگر یک فروشگاه اینترنتی قدیمی باز هم آن را بفرستد، رد میشود. تکمیل انعام، نسیه و به حساب اتاق را مانند صندوق بررسی میکند.
به حساب اتاق (اتصال هتل، تنظیمات → هتل → سلفسرویس → در فروشگاه اینترنتی): منو مقدار kamer: { maxBedrag } را میگیرد؛ فروشگاه اینترنتی betaling.wijze = "kamer" را همراه با kamer و achternaam میفرستد. صندوق مهمان را در نرمافزار هتل بررسی میکند (نه سر میز، نه با کارت هدیه) و او را همراه سفارش ذخیره میکند؛ تکمیل (به حساب اتاق) به حساب اتاق تسویه میکند و رسید را در صورتحساب هتل ثبت میکند. فاکتور تجمیعی در پرداخت نسیه: رسید آنگاه بهعنوان قلم باز باقی میماند.
دکمهٔ فروشگاه اینترنتی در نوار بالا (با تعداد سفارشهای در جریان): فهرست، مشتری و آدرس، زمان دلخواه یا "در سریعترین زمان"، روش پرداخت و خط زمانی. مهمان مراحل در حال آمادهسازی، آماده و در راه را زنده در فروشگاه اینترنتی میبیند (و با ایمیل، اگر کسبوکار بخواهد). تسویه در صندوق = تکمیل شد؛ لغو فقط ردیفهای همان سفارش فروشگاه اینترنتی را حذف میکند، یک فیش آشپزخانهٔ "لغو شد" چاپ میکند، و مبلغ سفارشی که آنلاین پرداخت شده را فروشگاه اینترنتی برمیگرداند. رسید، نیامد یا لغو شد در یک رزرو هم به فروشگاه اینترنتی برمیگردد. سفارش یا رزرو جدید یک نوار نارنجی و یک صدا ایجاد میکند.
کد: apps/pos-server/src/lib/webshop.ts، routes/webshop.ts؛ صفحهٔ Webshop.tsx. سمت پرتال: horecapos-portaal/src/webshop.mjs.
صندوق و فروشگاه اینترنتی یکسان (هر بخش جداگانه روشن میشود، پیشفرض خاموش؛ فروشگاه اینترنتی قدیمیتر فیلدهای جدید را نادیده میگیرد). هرچه در صندوق روشن است، در فروشگاه اینترنتی هم کار میکند:
- Happy hour: فروشگاه اینترنتی همان قیمتی را حساب میکند که صندوق در آن لحظه دارد (قیمت عادی خطخورده و نام Happy hour)، با فصل هم.
- بازههای زمانی و نوع سفارش (اگر روشن باشند): فروشگاه اینترنتی فقط چیزی را نشان میدهد که الان فروخته میشود، و در بیرونبر و ارسال قیمت و محصولات همان انتخاب را (سر میز: سرو در محل). منو برای هر محصول
prijzen(afhalen،bezorgen) وnietBijو فهرستdagdelenرا میگیرد. - منوها: مهمان غذاها را انتخاب میکند (ثابت و انتخابی، با گزینههایشان)؛ در صندوق بهصورت ردیف منو با غذاها زیر آن ثبت میشود و قیمت منو تقسیم میشود (مالیات هر غذا درست است). غذاهایی که فقط در یک منو هستند بهصورت
menuArtikelenفرستاده میشوند. فروشگاه اینترنتی قدیمی بدون انتخابها: منو مثل قبل بهصورت محصول عادی روی رسید میآید. - موجودی تمام = ناموجود، همچنین گزینههای انتخابی با مادهای که تمام شده است.
- آلرژنها: خاموش در صندوق = نه در فروشگاه اینترنتی.
- کارت مشتری: مهمان هنگام پرداخت میتواند امتیاز جمع کند (با شماره تلفن یا ایمیل)؛ صندوق مشتری را به سفارش وصل میکند و امتیازها هنگام تسویه اضافه میشوند (استفاده از امتیاز در محل انجام میشود). فروشگاه اینترنتی موجودی را نشان میدهد.
- کارتهای هدیه (تنظیمات → کسبوکار → کارتهای هدیه → فروش کارت هدیه در فروشگاه اینترنتی، فقط با موجودی): مهمان کارت میخرد و آنلاین پرداخت میکند؛ صندوق کارت را میسازد که فوراً فعال است و کد از طریق پورتال به فروشگاه اینترنتی برمیگردد (وضعیت و ایمیل). اگر کارت هدیه بهعنوان روش پرداخت هم روشن باشد، مهمان هنگام بیرونبر میتواند "با کارت هدیه در محل" را انتخاب کند.
- کدهای تخفیف (تنظیمات → کدهای تخفیف، با کلید در کسبوکار): برای هر کد در صندوق و/یا در فروشگاه اینترنتی؛ استفاده برای هر دو با هم شمرده میشود.
- توقف و شلوغی: دکمهٔ فروشگاه اینترنتی در نوار بالا: توقف فروشگاه اینترنتی (با متنی برای مهمان) و شلوغ (دقیقههای اضافه). ظرف چند ثانیه به فروشگاه اینترنتی میرسد.
- رزرو آنلاین با قوانین صندوق (تنظیمات → کسبوکار → رزروها): حداکثر نفرات، روزهای جلوتر، بازهٔ رزرو، حداقل زمان از قبل و زمانها برای هر روز هفته.
- ارسال و بازههای زمانی: بخش فروشگاه اینترنتی از صندوق پیروی میکند را در ارسال و بازههای زمانی ببینید.
- All-you-can-eat سر میز (تنظیمات ← کسبوکار ← All-you-can-eat ← همچنین هنگام سفارش سر میز با کد QR): اگر سر میز پکیجی در جریان باشد، مهمان غذاهای مربوط به آن را بهصورت شامل با قیمت € 0 میبیند، همراه با دورها، حداکثر برای هر نفر، زمان انتظار و محدودیت زمانی. بقیه را بهطور عادی میپردازد؛ همه چیز به حساب میز میرود. اگر وضعیت میز همین الان تغییر کرده باشد، صندوق سفارش را رد میکند و مهمان دوباره سفارش میدهد.
- نسیه (تنظیمات ← فاکتورها ← پرداخت نسیه ← در فروشگاه اینترنتی هم): بخش در فروشگاه اینترنتی را در پرداخت نسیه ببینید.
- ثبتنام آنلاین در فهرست انتظار (تنظیمات ← کسبوکار ← فهرست انتظار): بخش ثبتنام آنلاین در فهرست انتظار را در لیست انتظار برای مهمانان بدون رزرو ببینید.
- فروش افزایشی (Upsell): "چیز دیگری هم میخواهید؟" (اختیاری، بهطور پیشفرض خاموش؛ تنظیمات ← کسبوکار ← تسویه حساب ← فروش افزایشی (Upsell) در فروشگاه اینترنتی): دستهها (مثلاً نوشیدنیها، سسها، دسرها) و تعداد پیشنهادها را انتخاب کنید. آنگاه در فروشگاه اینترنتی کنار سبد و هنگام تسویه حساب محصولاتی از آن دستهها نمایش داده میشوند که هنوز در سبد نیستند (فقط آنچه اکنون برای فروش است، تمامنشده و بدون انتخابهای الزامی)؛ مهمان آنها را با یک لمس اضافه میکند. هیچ دستهای انتخاب نشده = خاموش، مثل قبل. کیوسک فروش افزایشی خودش را دارد (ببینید کیوسک سلفسرویس).
منوی فروشگاه اینترنتی برای این کار versie: 2 دارد با فیلدهای menuArtikelen، allergenenAan، happyhours، menus، klantenkaart، cadeaubon، kortingscodes، pauze، drukteMin، volgt، bezetting، reserveren.online، ayce، opRekening، wachtlijst و upsell. تأییدیه به پورتال علاوه بر اینها cadeaubonnen (کدها)، klant (امتیازها) و plek (فهرست انتظار) را هم دارد.
شمارش در پرتال مدیریت. بیرونبر و ارسال از طریق فروشگاه اینترنتی جداگانه شمرده میشوند (webshop، webshopGeannuleerd در verkoopTelling)، در روز دریافت، و دوباره در بیرونبر/ارسال شمرده نمیشوند. سفارش سر میز بهطور عادی جزو میز شمرده میشود.
پرداخت کارتی و کارتخوانها
تنظیمات → پرداخت (فقط مدیر):
- ترمینالها: برای هر ترمینال یک نام، شناسهٔ ترمینال و کلید API مخصوص خودش از PinPortal (Klant → Bewerk klant → Overige → API Keys). پس از ذخیره، فقط انتهای کلید دیده میشود؛ کلید هرگز به مرورگر برنمیگردد. با آزمایش اتصال کلید و ترمینال را بررسی میکنید.
- حالت آزمایشی: یک ترمینال را شبیهسازی میکند (پس از حدود 7 ثانیه موفق؛ مبلغی که به 13 سنت ختم شود رد میشود). برای آزمایش بدون دستگاه کارتخوان مفید است.
اگر دستکم یک ترمینال با کلید API وجود داشته باشد (یا حالت آزمایشی روشن باشد)، تسویه حساب → کارت / Bancontact پرداخت را بهطور خودکار روی ترمینال شروع میکند، برای مبلغی که سرور حساب میکند.
تا وقتی اتصال روشن است، سرور "کارت" را فقط با یک پرداخت موفق روی ترمینال برای دقیقاً همان سفارش و همان مبلغ میپذیرد. درخواستها مثل PHP-SDK رسمی بهصورت فرم ساده ارسال میشوند، و اگر API اصلی پاسخ ندهد از API پشتیبان (api-backup.pinvandaag.com) استفاده میشود. هر پاسخ API با [pin] در پنجرهٔ سرور نمایش داده میشود، که هنگام اختلال مفید است. پرداخت موفقی که هنوز پردازش نشده (مثلاً تبلت از کار افتاده)، در تسویهٔ بعدی همان سفارش دوباره پیدا میشود.
انعام (کارت، نقد و کارت هدیه)
در صفحهٔ تسویه، کنار هر روش پرداخت یک ردیف دکمهٔ انعام هست: هیچ، 5٪، 10٪، 15٪ (رو به بالا گرد به 10 سنت)، گرد کردن (تا یورو کامل بعدی) و مبلغ دیگر. در پرداخت با کارت، مشتری مبلغ + انعام را یکجا روی ترمینال میپردازد؛ در پرداخت نقدی، انعام در باقی پول و در کشوی صندوق حساب میشود. روی رسید، مبلغ پرداختشده با کارت و زیر آن "که از آن انعام" نوشته میشود؛ جمع کل و مالیات بر ارزش افزوده تغییر نمیکنند، چون انعام جزو فروش نیست. در گزارش X/Z انعام برای هر روش پرداخت و بهصورت "جمع انعام" نشان داده میشود.
مدیر دکمههای انعام را در تنظیمات → کسبوکار → انعام تنظیم میکند: روشن/خاموش، کدام درصدها (حداکثر 4، مثلاً "5، 10، 15")، اینکه دکمهٔ "گرد کردن" باشد یا نه و با کدام روشهای پرداخت (کارت، نقد، کارت هدیه) انعام ممکن است. "هیچ" و "مبلغ دیگر" همیشه وجود دارند.
"بکنیدش …" همیشه، با هر روش پرداخت، وجود دارد، حتی وقتی دکمههای انعام خاموش هستند (تنظیمی ندارد): مشتری خودش صورتحساب را رو به بالا گرد میکند و تفاوت آن انعام است. دکمههایی با یورو کامل بعدی و مبالغ رُند بعدی وجود دارند (مثلاً € 28,00 → 29، 30، 40؛ € 44,00 → 45، 50، 60) و جمع کل دیگر برای وارد کردن جمع کل به دلخواه. زدن دوباره روی دکمهٔ انتخابشده = بدون گرد کردن. حداکثر € 500 انعام (همان سقف سرور صندوق).
بدون اینترنت
صندوق در شبکهٔ محلی کار میکند و به اینترنت نیاز ندارد؛ فقط پرداخت با کارت از طریق اتصال به اینترنت نیاز دارد. اگر کسبوکار اینترنت نداشته باشد، در نوار بالا بدون اینترنت · پرداخت دستی با کارت نمایش داده میشود (هر دقیقه بررسی میشود). در این صورت، و همچنین پس از شروع ناموفق روی ترمینال، در صفحهٔ تسویه دکمهٔ قبلاً با کارت روی ترمینال پرداخت شده ظاهر میشود: مبلغ را روی خود ترمینال بگیرید و با این دکمه ثبت کنید.
نقشهها و میزها
تنظیمات → نقشههای سالن (فقط مدیر):
- افزودن نقشهٔ سالن (مثلاً سالن، تراس، گلخانه)، تغییر نام، حذف و جابهجا کردن ترتیب با ◀ ▶.
- میزها را با دکمههای بالای شبکه اضافه کنید (گرد، مربع، دراز، میز ایستاده) و با ماوس یا انگشت به جای خودشان بکشید. گوشهٔ آبی میز انتخابشده آن را بزرگتر یا کوچکتر میکند.
- برای هر میز نام/شماره، تعداد نفرات (صندلیهای دور میز حساب میشوند) و شکل را تنظیم کنید؛ تکثیر یا حذف کنید.
- با صفحهکلید: کلیدهای جهت جابهجا میکنند (Shift = گام بزرگتر)، Delete حذف میکند.
- تغییرات فقط پس از ذخیره اعمال میشوند؛ "واگرد" همهچیز را برمیگرداند.
- میز یا نقشهٔ سالنی که سفارش باز دارد قابل حذف نیست. میزهای حذفشده در سفارشهای قدیمی حفظ میشوند.
انتقال تنظیمات به شعبهٔ دوم
تنظیمات → ورود/صدور (فقط مدیر). اگر یک کسبوکار را کامل راهاندازی کردهاید، پیکربندی را به یک فایل .json صادر کنید و آن را در صندوق کسبوکار دوم وارد کنید. برای هر بخش قابل انتخاب است:
- محصولات: دستهها، محصولات، قیمتها (بر اساس نوع سفارش هم)، مالیات، گزینهها، منوها، Happy hourها (با فصل)، بازههای زمانی، آلرژنها، مواد اولیه/دستورها، کارتهای مهر، بستههای all-you-can-eat و عکسهای محصولات.
- نقشههای سالن: سالنها و میزها.
- سایر تنظیمات: همهٔ تنظیمات کسبوکار، چاپگرها (بدون آدرس IP)، دسترسیها برای هر نقش و حسابداری.
این موارد هرگز منتقل نمیشوند: نام، آدرس، کد پستی، شهر، تلفن، ایمیل، شمارهٔ مالیاتی و متن پایانی رسید کسبوکار، آدرس ایمیل گزارش Z، ترمینالهای کارتخوان و کلیدهایشان، کارکنان و کدهای PIN، و همهٔ فروش، رسیدها، مشتریان و مقادیر موجودی.
وارد کردن بهشدت محافظت شده است: یک هشدار قرمز بزرگ، یک تیک "متوجه هستم..."، دوباره کد PIN خود مدیر، نبودن سفارش باز، همان کشور (نرخهای مالیات بر ارزش افزوده) و تهیهٔ خودکار نسخهٔ پشتیبان از قبل. وارد کردن در یک تراکنش انجام میشود: اگر مشکلی پیش بیاید، هیچ تغییری ایجاد نمیشود. محصولات، گروهها، مواد اولیه و میزهای موجود پاک نمیشوند بلکه از صندوق کنار گذاشته میشوند (مثل حذف)، تا رسیدها و گزارشهای قدیمی درست بمانند.
وارد کردن از صندوق دیگر
تغییر صندوق بدون تایپ دوبارهٔ همه چیز. همیشه در دسترس (بدون کلید): در تنظیمات → ورود/خروجی داده (فقط مدیر) بخش وارد کردن از صندوق دیگر هست.
- چه چیزی: محصولات (نام، قیمت با مالیات، مالیات، دسته، کد/PLU، موجودی) یا مشتریان کارت مشتری (نام، تلفن، ایمیل، امتیاز، آدرس، کد پستی، شهر؛ نام و نام خانوادگی با هم یکی میشوند).
- فایل: خروجی صندوق قبلی شما (Dobizzz/DoPos، Lightspeed، MplusKASSA، unTill، Tebi ...) یا فهرست خودتان: CSV (; , tab یا |؛ UTF-8 یا Excel هلندی) یا Excel (.xlsx)، برگهٔ اول، با نام ستونها در سطر اول. یک فایل قدیمی .xls را اول بهصورت .xlsx یا CSV ذخیره کنید.
- پیشنمایش: صندوق ستونها را از روی نامشان میشناسد (Omschrijving، Verkoopprijs incl. BTW، BTW %، Omzetgroep، Artikelnummer، GSM، Spaarpunten ...) و 10 سطر اول را نشان میدهد. اگر ستونی درست نیست، خودتان انتخاب کنید. فقط با وارد کردن چیزی تغییر میکند.
- محصولات: قیمتها بهصورت 3,50، € 3,50 یا 1.234,50؛ مالیات بهصورت 21، 9%، 0,09، hoog یا laag (ناشناخته یا خالی: نرخی که انتخاب میکنید، پیشفرض بالاترین). دستههایی که هنوز وجود ندارند ساخته میشوند (بدون دسته: "Geïmporteerd").
- موجودی (ستون Voorraad، Stock، Aantal ...): اگر پیگیری موجودی روشن باشد (تنظیمات ← مجموعه)، محصول موجودی را پیگیری میکند و موجودی برابر همان تعداد میشود (یک شمارش در تاریخچهٔ موجودی، دلیل "Geïmporteerd"). خالی: موجودی همانطور که هست میماند.
- فایل نمونه (CSV): فهرستی برای پر کردن توسط خودتان (Naam;Productgroep;Prijs;Btw;Voorraad;Code)، مثلاً در Excel.
- مشتریان: امتیازها بهصورت اصلاحیهٔ "Geïmporteerd uit een andere kassa" اضافه میشوند (در سابقه قابل مشاهده). اجازه برای پیامک یا ایمیل منتقل نمیشود (GDPR): آن را دوباره بپرسید. اول کارت مشتری را روشن کنید.
- محصولات موجود (همان کد، یا بدون کد همان نام) و مشتریان (همان تلفن یا ایمیل) رد میشوند، یا اگر تیک بزنید بهروز میشوند (برای محصولات: نام، قیمت، مالیات، دسته و موجودی). سطرهای تکراری در فایل یک بار در نظر گرفته میشوند.
- در پایان: چند جدید، بهروز شده و رد شده، با توضیح هر سطری که مشکل داشت (مثلاً بدون قیمت). حداکثر 5000 سطر در هر نوبت. در گزارش رویدادها بهصورت "Configuratie geïmporteerd" ثبت میشود.
زبانها (42، از جمله ترکی، عربی، دارجه، بربری، لهستانی، بلغاری، مجاری، روسی، صربی، آلبانیایی، فارسی، تیگرینیا، امهری، سومالیایی، پاپیامنتو، سرانانتونگو، هندی، اردو، اندونزیایی، ویتنامی، سریانی-آرامی، چینی و اوکراینی)
کنار دکمهٔ کوچک © در پایین سمت راست، در هر صفحه یک دکمهٔ کوچک با زبان هست (مثلاً NL و پرچم). برای منوی انتخاب روی آن بزنید: زبانها به ترتیب الفبایی هستند، با نام به زبان خودشان پیش از پرچم: Bahasa Indonesia (اندونزیایی)، Čeština (چکی)، Darija (عربی مراکشی با خط لاتین)، Deutsch، English، Español، Français، Hrvatski (کرواتی)، Italiano، Kurdî (کرمانجی)، Latviešu (لتونیایی)، Lietuvių (لیتوانیایی)، Magyar (مجاری)، Nederlands، Papiamentu (پاپیامنتو)، Polski، Português، Română، Shqip (آلبانیایی)، Slovenčina (اسلواکی)، Soomaali (سومالیایی)، Sranantongo، Srpski (صربی، با خط لاتین)، Tarifit (بربری ریفی)، Tiếng Việt (ویتنامی)، Türkçe، سپس با خط سیریلیک Български (بلغاری)، Русский (روسی) و Українська (اوکراینی)، بعد زبانهای با خط عربی: اردو (اردو)، الدارجة (دارجه)، العربية (عربی)، دری (دری)، فارسی (فارسی)، پښتو (پشتو) و کوردی (سۆرانی) (کردی سورانی)، سپس با خط سریانی ܣܘܪܝܝܐ (آرامی سریانی، سوریویو)، با خط دوناگری हिन्दी (هندی)، با خط گعز ትግርኛ (تیگرینیا) و አማርኛ (امهری)، با خط تیفیناغ ⵜⴰⵎⴰⵣⵉⵖⵜ (تمازیغت، بربری)، و در آخر 中文(简体)(چینی، خط سادهشده). همهٔ صفحهها، دکمهها، پیامها و پیامهای خطای سرور صندوق ترجمه میشوند.
- برای هر کارمند: زبان انتخابشده برای کارمند واردشده ذخیره میشود (
gebruiker.taal). اگر کسی با زبان دیگری وارد شود، صندوق فوراً تغییر زبان میدهد. روی خود دستگاه آخرین زبان استفادهشده به خاطر سپرده میشود، تا صفحهٔ کد PIN هم از قبل به همان زبان باشد. اگر زبانی انتخاب کنید (در صفحهٔ کد PIN یا پس از ورود) و ظرف 10 دقیقه (دوباره) وارد شوید، آن انتخاب اولویت دارد و زبان آن کارمند میشود. تغییر زبان صفحه را دوباره بارگذاری میکند؛ شما وارد میمانید و صورتحساب باز، باز میماند. - اولین بار روی یک دستگاه: اگر روی تبلت یا کامپیوتر هنوز زبانی تنظیم نشده باشد، صندوق با زبانی که هنگام نصب انتخاب شده شروع میشود. اگر زبانی انتخاب نشده باشد، با زبان خود دستگاه (مرورگر یا سیستمعامل، در برنامهٔ Android هم)، و اگر آن زبان موجود نباشد، به هلندی. پس از آن هر دستگاه انتخاب خودش را به خاطر میسپارد.
- اروپای شرقی: لهستانی، چکی، اسلواکی، مجاری، رومانیایی، بلغاری، کرواتی (برای بوسنیایی هم)، لیتوانیایی، لتونیایی، اوکراینی و روسی: زبانهای بیشتر کارگران مهاجر از اروپای مرکزی و شرقی در هلند و بلژیک.
- بالکان: صربی (با خط لاتین، همانطور که بیشتر صربها در هلند و بلژیک مینویسند؛ برای مونتهنگرویی هم) و آلبانیایی (آلبانی، کوزوو و مقدونیهٔ شمالی).
- شاخ آفریقا: تیگرینیا (اریتره) و امهری (اتیوپی)، هر دو با خط گعز، و سومالیایی (با خط لاتین).
- ایران: فارسی. دستگاهی که روی فارسی افغانستان (fa-AF) تنظیم شده، دری دریافت میکند و بقیه فارسی.
- هلند کارائیب و سورینام: پاپیامنتو (Papiamentu، املای کوراسائو و بونیر؛ برای آروبا هم) و سرانانتونگو.
- آسیا: هندی (دوناگری؛ برای سرنامی هندوستانی هم)، اردو (از راست به چپ)، اندونزیایی و ویتنامی (خط لاتین، روی رسید هم).
- مراکشی: دارجه (عربی مراکشی، زبان گفتاری) با خط عربی و همچنین با خط لاتین (همانطور که بسیاری از هلندیهای مراکشیتبار در پیامرسانها مینویسند)، در کنار عربی معیار. بربری: تاریفیت (ریفی، با خط لاتین؛ بیشتر هلندیهای مراکشیتبار از منطقهٔ ریف هستند) و تمازیغت معیار مراکشی با خط تیفیناغ.
- از راست به چپ: عربی (عربی معیار)، اردو، دارجه با خط عربی، دری و پشتو (افغانستان)، فارسی (ایران)، کردی سورانی (عراق/ایران) و آرامی سریانی (سوریویو، با خط سریانی). مبالغ، کدها و دکمههای عددی از چپ به راست میمانند. کردی کرمانجی (ترکیه/سوریه) با خط لاتین است.
- فیش آشپزخانه (آشپزخانه/بار): بهطور پیشفرض به زبان کارمندی که سفارش را ثبت میکند. برای هر چاپگر میتوان در تنظیمات → چاپگرها → زبان فیش آشپزخانه یک زبان ثابت هم انتخاب کرد (مثلاً زبان آشپز)، با خط لاتین: Nederlands، Čeština، Darija، Deutsch، English، Español، Français، Hrvatski، Italiano، Kurdî، Latviešu، Lietuvių، Magyar، Papiamentu، Polski، Português، Română، Shqip، Slovenčina، Soomaali، Sranantongo، Srpski، Tarifit، Tiếng Việt، Bahasa Indonesia یا Türkçe. بلغاری، روسی و اوکراینی روی فیش آشپزخانه با آوانویسی لاتین چاپ میشوند (چاپگر رسید خط سیریلیک را نمیشناسد). خطهای عربی، سریانی، دوناگری، گعز و تیفیناغ و چینی روی چاپگر رسید چاپ نمیشوند: در این صورت دارجه با خط لاتین، تمازیغت بهصورت تاریفیت و بقیه به هلندی چاپ میشوند. متنهای ثابت (میز، مرحلهٔ سرو، در انتظار فراخوان، فراخوان مرحله، بعداً چاپ شد، بیرونبر، پیشخوان) ترجمه میشوند؛ نام محصولات و یادداشتها همانطور که وارد شدهاند میمانند. چاپگرهایی که روی هلندی تنظیم بودند، از زبان کارمند پیروی میکنند.
- رسید صندوق (برای همهٔ مشتریان): بهطور پیشفرض هلندی، مستقل از زبان صفحهها. زبان دیگری را در تنظیمات → کسبوکار → زبان رسید صندوق انتخاب کنید (درست زیر متن پایین رسید)، فقط زبانهای با خط لاتین. این برای پیشفاکتور، رسید مرجوعی، کپی، کارت هدیه و رسید ایمیلی هم صدق میکند. مبالغ، کدهای مالیات بر ارزش افزوده، شمارهٔ مالیاتی کسبوکار و ردیفهای مالیاتی (بلژیک) تغییر نمیکنند؛ متن دلخواه پایین رسید همانطور که کسبوکار تایپ کرده میماند.
- نام محصولات، گروهها و گزینهها همان است که کسبوکار وارد میکند؛ اینها ترجمه نمیشوند.
- زبان هر کارمند را در تنظیمات → کارکنان هم میتوانید تنظیم کنید.
- معرفی و راهنما هم به همهٔ این زبانها موجودند. از طریق دکمهٔ کوچک © به زبان صندوق باز میشوند؛ در بالا با پرچمها زبان دیگری انتخاب کنید (این چیزی را در صندوق تغییر نمیدهد).
برای توسعهدهندگان: هر متن قابل مشاهده در کد بهصورت vt('Nederlandse tekst') (apps/pos-web/lib/i18n.ts) است؛ متن هلندی همان کلید است. ترجمهها در apps/pos-web/lib/vertalingen/<taal>.ts هستند. اگر ترجمهای وجود نداشته باشد، صندوق متن هلندی را نشان میدهد؛ آزمون i18n (pos-web) بررسی میکند که هر متن به هر زبان ترجمه شده باشد و جاینگهدارهای {0} درست باشند. پیامهای سرور صندوق هلندی میمانند و در مرورگر ترجمه میشوند (با {0} هم، مثلاً نام یک محصول در پیام).
تنظیم چاپگرها
صندوق جدید هیچ چاپگری ندارد. بهعنوان مدیر وارد شوید (نسخهٔ نمایشی: 1111) و در نوار بالا تنظیمات را انتخاب کنید.
- چاپگرها: به تعداد چاپگرهای کسبوکار چاپگر اضافه کنید (مثلاً صندوق، آشپزخانه، بار، پیتزا)، هر کدام با یک اتصال (معمولاً شبکه: نشانی IP و پورت 9100) و عرض کاغذ. با چاپ آزمایشی بررسی میکنید که کار میکند. در بالا انتخاب میکنید کدام چاپگر رسید صندوق و پیشفاکتور را چاپ کند (و کشوی پول را باز کند). برای هر چاپگر زبان فیش آشپزخانه را هم انتخاب میکنید (بخش زبانها را ببینید)؛ رسید صندوق هلندی میماند.
- اتصال برای هر چاپگر:
- شبکه (نشانی IP): نشانی IP و پورت (معمولاً 9100). همیشه اینطور کار میکرد و همینطور کار میکند: چاپگرهای موجود خودبهخود روی شبکه هستند.
- USB: در Linux خود دستگاه، مثلاً
/dev/usb/lp0. در Android چاپگر USB متصل به دستگاه (کابل OTG؛ خالی = اولین چاپگر USB). در Windows و macOS گزینهٔ چاپگر سیستم را انتخاب کنید. - سریال (COM / ttyUSB): یک پورت COM (Windows)،
/dev/ttyUSB0یا/dev/ttyS0(Linux، Android) یا/dev/cu.…(macOS)، با سرعت (معمولاً 9600، 19200 یا 38400 baud). برای چاپگر Bluetooth که Windows یا Linux آن را بهصورت پورت COM یا/dev/rfcomm0جفت میکند هم کاربرد دارد. - Bluetooth: در برنامهٔ HorecaPOS روی Android، با نشانی Bluetooth چاپگر جفتشده (مثلاً یک چاپگر رسید همراه). ابتدا چاپگر را در تنظیمات Bluetooth در Android جفت کنید.
- چاپگر سیستم (Windows / CUPS): چاپگر همانطور که Windows یا CUPS (Linux، macOS) آن را میشناسد، با درایور خودش یا بهعنوان Generic / Text Only. رسید بهصورت خام (RAW) و بدون قالببندی درایور به چاپگر میرود.
- داخلی (Sunmi، iMin ...): چاپگر داخل خود صندوق Android.
- جستجو چاپگرها و پورتهایی را که صندوق میبیند نشان میدهد. یکی را انتخاب کنید تا نشانی پر شود.
- پروتکل: ESC/POS (تقریباً همهٔ چاپگرهای رسید، از جمله چاپگرهای Star در حالت ESC/POS) یا Star (Star Line Mode). در Star، صندوق خودش رسید را تبدیل میکند؛ رسید همان شکل را دارد.
- دستگاه گارسون با چاپگر خودش: یک دستگاه گارسون Android با برنامهٔ HorecaPOS (مثلاً یک دستگاه دستی با چاپگر همراه Bluetooth، یا یک Sunmi بهعنوان دستگاه گارسون) میتواند خودش چاپ کند. آن را روی خود دستگاه ثبت کنید (تنظیمات → چاپگرها → دستگاههای گارسون با چاپگر خودشان) و برای چاپگر وصل به را انتخاب کنید. دستگاه گارسون فیشهای خود را از صندوق دریافت میکند؛ برنامه را روی آن باز نگه دارید. اگر نشود (برنامه بسته است، خارج از بُرد وایفای)، فیش آشپزخانه به صف چاپ میرود، درست مثل وقتی که یک چاپگر شبکه خاموش است. لغو ثبت دستگاه چاپگرها را دوباره روی خود صندوق میگذارد.
- چاپگر برای هر گروه / محصول: برای هر گروه کالا انتخاب کنید فیش آشپزخانه روی کدام چاپگر بیاید. برای هر محصول میتوانید آن را با چاپگر خاص خودش یا "بدون فیش آشپزخانه" جایگزین کنید.
محصولات یکسان هنگام چاپ با هم ادغام میشوند: دو بار 1x نوشابه میشود 2x نوشابه، روی فیش آشپزخانه و روی رسید صندوق. فقط محصولاتی با گزینهها و یادداشت یکسان با هم ادغام میشوند.
نصبکنندهٔ Linux کاربر صندوق را به گروههای lp و dialout اضافه میکند تا صندوق بتواند از چاپگرهای USB و سریال استفاده کند.
کمک لازم دارید؟
Optimum POS · 085 560 00 60 · support@optimumpos.nl · دوشنبه تا جمعه 9:00–20:00، شنبه و یکشنبه 14:00–20:00