How PhoneDesk works
A guide to day-to-day work, from registration to sales. Custom integrations may have an additional cost: ask the administrator which are available for your shop.
1. Registration, trial and sign-in
- Open Register. Enter the shop, contact person, email address, username and a password of at least 12 characters. The phone number is optional.
- Complete the security check and confirm your trial request. After registration, you immediately have access to your workspace, with no payment required.
- The trial lasts exactly 7 days from registration. The CRM home page shows the expiry date and time.
- To continue, arrange the annual payment with the administrator. Only the owner can confirm payment and activate 365 days. There are no automatic charges.
Operational access is blocked when the trial ends. Your data is kept and becomes available again when the annual subscription is activated. The same email address cannot start a second trial. To sign in again, use your chosen username, not your email address.
Passkeys are optional: after signing in normally, open “Passkey access” in the CRM, enter your password and confirm on your device. You can add several devices and remove them from the same page. On crm.phonedesk.it, “Sign in with a passkey” lets you sign in without entering a password or anti-bot code; your device may request a fingerprint, Face ID, Touch ID or PIN. The website does not receive biometric data. Password and anti-bot verification remain available as an alternative. On a phone, the bottom bar contains Home, Customers, Stock, Sales and More. Open Expenses and other available actions from More. On a computer, the menu is on the left.
2. Customers: contacts, history and location
- Open Customers and select “+ Customer”. Enter the name, phone number, address and notes.
- For WhatsApp, save the full number with its country code, for example +39 for Italy. Numbers without a country code in the price-list workflow are treated as Italian.
- Use search to find a contact quickly. Open the customer’s history to view transactions and use the map link for their recorded address.
- Press Edit to correct the details. Check the number before sending a price list.
Each shop has its own customers. Being in the address book does not mean consenting to promotions: send your price list to people who have agreed to this type of communication and respect requests to stop receiving it.
3. Stock and entry from a photo
Each item represents a single phone. Two devices of the same model may have different costs, IMEIs and conditions.
- Stock → “+ Phone”: enter the model, RAM, storage, colour, condition, cost and sale price. You can add battery details, warranty, notes and a photo.
- IMEI is optional. You can enter the product now and add the IMEI when you collect the goods. If entered, it must not duplicate another phone’s IMEI in the shop.
- To reduce typing, press “Take a photo” and photograph the label close up, well lit and without reflections. Frame the text showing the model, storage, colour and IMEI.
- Check the suggested fields and select “Apply these details”. Complete the costs and save. Recognition can make mistakes: always check the IMEI digits and storage capacity.
The label photo is processed and then deleted. An item photo saved with the Photo command remains in stock. Filters, search, sorting and pagination help distinguish available, sold and unchecked phones.
4. Sales, payments received and trade-ins
- Press “Record sale”, find the available phone or PC and choose an existing customer or create one on the same screen.
- Check the total price, date and payment method. The summary immediately shows the remaining amount to collect. If the customer pays into two accounts, choose “Mixed” and specify both amounts and accounts: the system creates two payments received within the same sale.
- For a trade-in, enter the agreed value and details of the phone received, including its resale price. The phone is added to your stock as a trade-in.
- Save only once. A sale marks the phone as sold and records the initial payment.
- If a balance remains, use “Add payment received” when you receive the next payment.
Example: sale €500, payment received €350 and trade-in €100 → customer balance €50. The trade-in value is not a cash receipt.
Multi-item orders and PDF quotations
In Sales → “Customer orders”, choose several available phones or PCs and enter the price of each. You can create a new customer on the same screen. Save the quotation and download the PDF to share: it contains the items, prices, total, validity and notes. A quotation does not reserve stock. When the customer accepts, press “Confirm order”: all items still available are marked as sold and reserved together. Then record one or more payments against the order; in the owner account, each payment updates the selected account. You can edit or cancel a quotation that has not yet been confirmed.
The quotation is a commercial document, not a tax document, and does not calculate VAT. VAT wording is optional and is printed only if you add it to the quotation after checking that it applies. Do not use the PDF as an invoice.
Statuses, prices and cancellations
In Sales, choose “Reserved”, “To deliver”, “Completed”, “Payments due” or “Returns and cancellations”. “Completed” shows delivered items that are paid in full. For an active sale, use “Change price”: the new price cannot be lower than payments and the trade-in already recorded. For an incorrect entry, use “Cancel sale”, enter the reason and confirm: the product becomes available again, payments are reversed from account balances and the entry remains in the history. If you have actually delivered the goods and need to refund the customer, use “Record return”.
Returns and corrections
From an active sale, use “Record return” and check the refund and returned phone’s status. The return remains in the history and updates reports. A device marked “To check” must be inspected and marked as checked before resale. A trade-in returned to the customer must not remain available for sale.
5. Expenses, purchases and payments
Under Expenses, enter the description, category, amount, account used and date. Use Edit to correct an entry. “Cancel” excludes an incorrect entry from reports while retaining it in the history; it does not represent an actual refund.
A phone’s cost and the payment to its supplier are different pieces of information. Record the purchase payment when you pay for some or all of the goods: cash flow reflects the money actually paid. Check any amounts still due. Do not change the cost of a phone already involved in transactions to alter margins retrospectively.
6. Home and financial reports
Select a date range or “All time”. Cards and charts summarise transactions recorded in the CRM.
| Indicator | How to read this |
|---|---|
| Actual payments received | Payments received, taking refunds into account. |
| Net sales | Sales value less returns. |
| Gross margin | Net sales less the cost of phones sold, adjusted for returns. |
| Management result | Margin less expenses for the period. |
| Cash flow | Money received and paid: this may differ from the margin. |
Press “Export report” for the CSV. Period filters follow transaction dates: a sale and a later payment may belong to different periods. PhoneDesk is for internal management and does not replace tax accounting.
7. Supplier integrations and orders
Integrations are assessed against each supplier’s price list and system. They may include an external catalogue, mark-ups by type, requests for goods and order import. They are not activated automatically for every account; feasibility and the additional cost are agreed with the administrator.
- Search the supplier’s catalogue by model, storage and colour, then add products to your request and check quantities.
- Open the request and set up the supplier’s contact details. Prepare the message, then open WhatsApp or email to send it and wait for the supplier’s confirmation.
- The request does not add goods to stock and is not confirmation of availability.
- When you collect the goods, open “Your orders and requests”, select the order and press “Goods collected → Add to stock”.
- Check costs, prices, date and amount paid. “Paid in full” fills in the total; leave 0 if you have not paid yet.
- Confirm collection and add all items to stock together. The system prevents the same order from being imported twice. Complete the IMEIs after collection.
To change Smartfix mark-ups, open Stock → Smartfix → Mark-ups: edit and save percentages by category. For an individual product, open “Change this product’s mark-up” on its record, enter the percentage and press “Save mark-up”. “Use category” removes the exception. The custom percentage takes priority and remains valid after catalogue updates; displayed prices and new PDF price lists use the updated value. A 10% mark-up on €200 gives €220. Price-list prices are rounded up to the next euro: €260.30 becomes €261. Supplier availability is not physical stock in your shop.
8. PDFs and sharing on WhatsApp
- Stock → PDF price list. Choose “My stock only” or, if available, the integrated catalogue.
- Download the PDF or press “Share with customers on WhatsApp”. Select recipients, including with “Select all”, and confirm that they have agreed to receive the price list.
- Press “Prepare PDF and messages”. Invalid and duplicate numbers are excluded. The link is valid for up to 7 days, or until access expires if earlier.
- On a compatible phone, “Share PDF from phone” opens the share menu: choose WhatsApp and recipients in the app. If the browser does not support it, download the PDF and attach it manually.
- For individual messages, use “Open message in WhatsApp”, send it in the app, return to the CRM and press “Next customer”. You can edit the message: {nome} is replaced by the customer’s name and {link} by the PDF link.
The link displays only the PDF and provides no access to the CRM. It contains no costs, mark-ups, IMEIs or customer data. It is a snapshot of the products when prepared: generate a new price list if prices change. You can revoke the link from the history. A copy already downloaded by the recipient remains on their device. “Message opened” does not mean “sent”.
9. WhatsApp API: send directly from the CRM
This option uses WhatsApp Business Platform / Cloud API. Having only the WhatsApp Business app does not automatically provide API credentials. Meta configuration and any charges are separate from the PhoneDesk subscription.
A. Set up your Meta account
- Sign in to Meta for Developers and your business portfolio. Create or configure an app with the WhatsApp / Business Messaging use case and connect your WhatsApp Business account.
- Complete the checks required in the Meta dashboard, add the phone number and set up a payment method if requested. Using your current number in both the app and APIs depends on the onboarding process and whether coexistence is available: check with Meta before migrating the number.
- In the API configuration, find the Phone Number ID: this is neither the phone number nor the WhatsApp Business Account ID.
- For testing, you can use the temporary token and test numbers enabled by Meta. For ongoing use, prepare a system token with access to the correct resources and the whatsapp_business_messaging permission. Expiry and revocation depend on the Meta configuration: do not rely on a temporary token in production.
- Note the Graph API version supported by your dashboard, and the template’s name and language. Do not share the token with customers.
B. Create the price-list template
In WhatsApp Manager → Message templates, create a template with the category appropriate for a promotional price list (usually Marketing), Italian language and Document header. Upload a sample PDF if Meta requires one for approval.
Name: listino_phonedesk
Header: Document (PDF)
Body: Hello {{1}}, here is our updated price list.
Contact us to check product availability.
If you do not wish to receive further price lists, let us know in your reply.This integration supports a PDF document and a body with no variables or a single positional variable {{1}} for the customer’s name. Do not add other parameters or dynamic buttons without adapting the integration. Wait for Meta to approve the template and use the exact approved name and language code.
C. Enter the credentials in the CRM
- Stock → PDF price list → Share with customers → “Configure direct sending · WhatsApp API”.
- Enter the Phone Number ID, Graph API version, token, template name and language. Choose “One variable: customer name” or “No variables” according to the approved body.
- Save the configuration. The token is encrypted in the server database and is not returned to the browser. To keep it, leave the field blank when editing later.
- Prepare the price list again to enable the send button. Before sending to everyone, select a single recipient who has agreed to the test, confirm and check the result in Meta and on their phone.
D. Send and monitor results
Confirm recipients, consent and any Meta charges, then select “Send via API”. The server sends the template with the PDF to the selected numbers in sequence. Use “Refresh results” to monitor the queue. Once started, sending continues on the server even if you close the page.
| Status | Meaning |
|---|---|
| Queued / Sending | The process has not finished yet. |
| Accepted by Meta | Meta returned a message ID. This does not confirm delivery or reading. |
| Error | Request rejected: check the token, number, template, language, limits and billing in Meta. |
| To check | Timeout or process interrupted: the result may be uncertain. Check Meta before retrying. |
| Cancelled | Price list revoked, expired or access ended. |
The same price list is not sent twice via the API. Uncertain results are not retried automatically, to avoid duplicates. Delivery/read webhooks are not connected yet: check Meta for delivery confirmation. The CRM supports one active send operation per shop and up to 500 recipients per price list; Meta’s limits and terms may be more restrictive. Revoking the link stops recipients still queued at the next check, but does not recall messages already accepted.
Official references: Cloud API, Meta API collection and business messaging policy. Meta’s service screens and requirements may change.
10. Owner dashboard
Administration is restricted to the platform owner. Merchants cannot create other shops or manage renewals.
- New registrations automatically create a shop on a trial. The panel shows its status, expiry and contact details.
- After receiving payment, select “Activate annual subscription”, check the expected expiry date and confirm payment. The first annual subscription starts from your confirmation and lasts 365 days; it does not add the remaining trial days.
- For an active annual subscription, renewal adds 365 days to the expiry date. If it has already expired, it restarts from confirmation.
- “+ Shop” lets you manually create an annual account. Older pending requests can be processed in the dedicated queue.
11. Owner’s statistics, PCs and loans
These features are visible only in the owner account. Home shows net sales, margin, payments received, customer receivables, goods to pay for, available stock value, a monthly chart and model and customer rankings. “Daily and monthly statistics” opens details for the last 7 or 30 days and the last 6 or 12 months. Each period shows sales, payments received, margin, result, expenses and cash flow from CRM transactions. “Today”, “This month” and “Last month” always refer to the current calendar; the date filter applies to the detail. The date filter covers transactions during the period; receivables, supplier debts and stock value show the current situation. In Sales, the “Sales” and “Available” tabs separate transactions from items still available for sale.
Lenovo PC payments
When adding a PC, specify whether it is paid, unpaid or partially paid. For a PC added before this feature, open its record in Stock and define the initial payment: the system does not assume it is a debt. When paying further amounts to the supplier, use “Record payment”; the remaining amount falls and appears in goods-to-pay statistics. If you mark a previously added PC as already paid, the payment is a historical entry: it reduces the supplier debt without creating a new cash outflow. New payments recorded afterwards do enter cash flow for the period. New supplier payments are deducted automatically from the selected account; those already included in opening balances are marked as historical and are not deducted again.
Loans and instalments in my capital
Open “My capital” → “+ Loan”. Enter the name, the payment account, the total still to repay including scheduled instalments, the instalment amount and the next due date. The system displays the outstanding balance, remaining instalments and expected completion date; the final instalment may be smaller than usual. If instalments were paid before you entered the loan, add their number, total and a note to the loan history: they will not be deducted from the account again. Each month, the amount is automatically deducted from the selected account when due. You can suspend or resume instalments and record an extra payment. Do not also enter the same loan under “Recurring expenses”, as this would reduce the balance twice. Sales, paid purchases, refunds and occasional expenses automatically update the selected account. Do not record the same transaction again in capital.
Find new customers
Open Customers → Find new customers. Select “Use my location” and allow browser access, or enter a town and choose the correct result. Set a radius from 5 to 50 km and the business type, then select “Search businesses”. Quick searches use Photon; detailed searches query Overpass/OpenStreetMap. If that service is busy, the CRM falls back to quick results. No API key or subscription is required. Coverage depends on businesses recorded by OpenStreetMap contributors; it is not a complete directory of local shops. Check contact details and opening hours before visiting.
Filter results by type and select “Add to prospects to visit”. Under “To contact”, you can set priority, an appointment, notes and the outcome. Businesses are grouped by town. After visiting, set “Interested” and use “Move to my customers”: the record enters your customer directory with a link to the search history. Verify shop characteristic labels yourself; the application does not assume the nationality of anyone working in a business.
To plan a day, select several stops and press “Prepare route”. The CRM suggests an order based on geographical proximity and creates one or more routes to open in Google Maps, which calculates roads and travel times. Select the starting point first. More than four destinations are split into several routes to respect Maps’ limits on phones. Your location is used only when you request it.
Under “My customers”, the address book is organised by country and town, with search and filters. You can fill in the town, province, country and category by editing each existing customer record.
Sources: data © OpenStreetMap contributors · Photon.
12. Security and troubleshooting
When you refresh the page, the CRM reopens the section and tab you were viewing, such as Sales → Customer orders or Stock → PCs. Use HTTPS and long, unique passwords. Do not share the owner account. The system checks sessions, modification requests and access to individual shops’ data; repeated sign-in attempts are limited. PDF links are accessible to anyone with the link: send them only to your chosen recipients and revoke them when needed.
Backups must include the database, photos and server key, which is also needed to decrypt API tokens. A local VPS backup does not replace an external copy. No system can guarantee absolute protection: updates, backups and regular checks remain necessary.
- Security code expired: generate another code and try again. Do not reuse a code from a previous attempt.
- Session expired: reload the page and sign in again before saving.
- Photo is hard to read: clean the lens, light the label, avoid reflections and check missing fields manually.
- PDF with outdated availability: refresh stock or the catalogue and create a new price list.
- WhatsApp will not open: check the number and country code; try from a phone with the app installed or use WhatsApp Web.
- APIs not configured: complete the credentials section. For template changes, use the exact name and language after Meta approval.