تجهيز ملفك
One sheet per list, the columns each list needs, the English and Arabic headers Import data recognises, and how phones, dates, families and classes left are read.
Download the template workbook (.xlsx, 21 KB). It has one sheet per list, headed with the column names Import data uses, and two or three made-up example rows in each. Delete the examples before you import.
You don't have to use it. An export from your old system works as it is, as long as each list has the columns marked Required below.
One sheet per list
The easiest file is one workbook with one sheet per list. Name each sheet for what it holds, and each step opens on its own sheet. One CSV file per list works too.
| Sheet | Names it is found by |
|---|---|
| Classes | Classes, Services, Activities, Disciplines, الحصص |
| Branches | Branches, Locations, Sites, Studios, الفروع |
| Rooms | Rooms, Spaces, Halls, الغرف, القاعات |
| Instructors | Instructors, Coaches, Trainers, Teachers, المدربون |
| Packages | Packages, Price list, Prices, Products, Plans, الباقات |
| Customers | Customers, Clients, Contacts, العملاء |
| Customer packages | Customer packages, Memberships, Subscriptions, Sales, Purchases, الاشتراكات |
| Attendance | Attendance, Visits, Check-ins, Bookings, Class history, الحضور |
| Expenses | Expenses, Costs, Spending, Bills, المصروفات, المصاريف |
A sheet with another name still works: the step opens on the first sheet it can read, and you can pick another one next to the file name. A Read me sheet in front is fine.
- Column names go in row 1. Rows under them are the data.
- File types: .xlsx, .xls, .csv or .tsv.
- Limits: 5 MB per file and 50,000 rows per sheet. Split anything bigger and import the parts one after the other.
How columns are matched
Import data matches your column names to its fields for you, in English and Arabic:
- Capitals, spaces and punctuation don't matter.
Phone Number,phone_numberandPHONE-NUMBERare the same header. - A header that contains a known word matches too.
Mobile No.is read as the phone number. - Every guess is shown next to the first value from your file, and you can change it.
- Anything it doesn't match can be picked by hand on the mapping table, or left as Not imported.
The tables below list each list's columns: the name the template uses, its Arabic name, and other headers that are matched without any help.
The rules that matter
Phone numbers
A customer is identified by their phone number: two rows with the same number are the same person.
- Write numbers the way your studio writes them:
01001234567,1001234567(a spreadsheet dropped the leading zero),+20 100 123 4567,0020 100 123 4567, with spaces, dashes or brackets. They all read as the same number. - A number with no country code is read as a number in your studio's country. For customers from another country, add a Country code column (
+965,965or00965) for those rows. - A customer whose phone is missing or is not a phone number is refused, with that reason.
Dates and times
- Dates are read day first.
01/03/2026is 1 March 2026, never 3 January.1/3/2026,01-03-2026,01.03.2026and1 Mar 2026read the same way. - ISO dates (
2026-03-01) and real spreadsheet date cells are read exactly. - Arabic digits are fine:
٠١/٠٣/٢٠٢٦. - A date that comes out before 1990 or after 2100 is flagged with check the day and month order. That is how a day and month mix-up is caught before it expires someone's package.
- Times can be
18:30,6:30 PM,7 pmor٧:٣٠ م. Dates and times are read in your studio's time zone.
Families sharing an email
An email can belong to only one customer. When two people in a family share one:
- the first customer with that email keeps it;
- the second comes in without an email, and their row says so;
- an email that is not a real address (
mona@gmail) is dropped the same way. The customer still comes in, with all their sales and visits.
On every sale and visit row of a family member, put their own mobile. A row that carries only the shared email goes to the first person who has it.
Classes left is the balance
The number of classes a customer has left comes from your file: from Classes left, or worked out from Classes used and the package's number of classes. It is never worked out from attendance. Imported visits never use up classes, so the number you import is the number the customer sees.
Amounts
Amounts are in your studio's currency. A currency word or thousands separator is fine (EGP 2,400 reads as 2400), and Arabic digits are fine.
Classes
| Template column | Arabic | Required | Also matched | What goes in it |
|---|---|---|---|---|
| Name | الاسم | Yes | Class, Class name, Class type, Type, Category, Activity, Service, Discipline | What you call the class: Reformer Pilates. |
| Active | مفعل | No | Is active, Status, Enabled | Yes or no. Blank comes across active. |
Yes and no can also be written true/false, 1/0, active/inactive, نعم/لا or مفعل/غير مفعل.
Branches
| Template column | Arabic | Required | Also matched | What goes in it |
|---|---|---|---|---|
| Name | الاسم | Yes | Branch, Branch name, Location, Site, Studio, Club | The branch name your customers know. |
A branch is just its name. Other columns on this sheet are not read.
Rooms
| Template column | Arabic | Required | Also matched | What goes in it |
|---|---|---|---|---|
| Name | الاسم | Yes | Room, Room name, Studio, Space, Hall | Studio A, Reformer Room. |
| Branch | الفرع | Yes | Branch name, Location, Site | The branch, spelled as you imported it. |
| Capacity | السعة | Yes | Max capacity, Spots, Places, Size, Seats | How many people fit: a whole number from 1 to 1,000. |
| Active | مفعل | No | Is active, Status, Enabled | Yes or no. |
Instructors
| Template column | Arabic | Required | Also matched | What goes in it |
|---|---|---|---|---|
| Name | الاسم | Yes | Full name, Instructor, Coach, Trainer, Teacher | Their full name. |
| البريد الإلكتروني | Yes | Email address, Mail, E-mail | Their Owelz instructor account. A row without one is refused. | |
| Phone number | رقم الهاتف | Yes | Phone, Mobile, Mobile number, Contact, Cell, Telephone, Tel, WhatsApp | One instructor per number. |
| Username | اسم المستخدم | No | User, Login, Handle | Left blank, their phone number. |
| Classes | الحصص | No | Teaches, Specialities, Disciplines, Activities | What they teach. Several in one cell, separated by commas. |
| Active | مفعل | No | Is active, Status, Enabled | Yes or no. |
Pay is not part of this sheet. Columns such as Hourly rate or Salary are not read. Every imported instructor starts with pay not set, and you set their pay plan afterwards.
Packages
| Template column | Arabic | Required | Also matched | What goes in it |
|---|---|---|---|---|
| Name | الاسم | Yes | Package, Package name, Membership, Plan, Product | The package as it is sold: 8 Classes · 1 Month. |
| Price | السعر | Yes | Amount, Cost, Fee, Value | Today's price. |
| Valid for (days) | الصلاحية (أيام) | Yes | Duration, Duration in days, Validity, Days, Expires after | How many days it lasts. |
| Number of classes | عدد الحصص | Yes | Number of sessions, Sessions, Class count, Session count, Visits | How many classes it includes. 0 means unlimited. |
| Classes | الحصص | No | Covers classes, Activities, Includes | The classes it can be booked for, separated by commas. |
| Package type | نوع الباقة | No | Type, Group or private, Visibility | PUBLIC or PRIVATE. Blank is PUBLIC. |
| Status | الحالة | No | State, Published | PUBLISHED or DRAFT. Blank is PUBLISHED, so it is on sale. |
| Guest passes | دعوات الضيوف | No | Invitations, Guests | Guest passes included. |
| Freeze limit | حد التجميد | No | Freezes, Max freezes, Freeze count | How many times it can be frozen. Blank uses your studio's default. |
| Max freeze days | أقصى أيام التجميد | No | Freeze days, Freeze duration, Max freeze duration | The most days it can stay frozen. Blank uses your studio's default. |
| Active | مفعل | No | Is active, Enabled, Available | Yes or no. A retired package can come across inactive. |
No Classes column? Then each package covers every class you have. Most old systems sell packages that way. Narrow a package on its own page afterwards if it covers less.
Customers
| Template column | Arabic | Required | Also matched | What goes in it |
|---|---|---|---|---|
| Name | الاسم | Yes | Full name, Customer, Client, First name | Their full name. |
| Phone number | رقم الهاتف | Yes | Phone, Mobile, Mobile number, Contact, Cell, Telephone, Tel, WhatsApp | What identifies the customer. |
| البريد الإلكتروني | No | Email address, Mail, E-mail | What links them to the Owelz app: when they sign up with this email, their packages are waiting. | |
| Country code | رمز الدولة | No | Dial code, Calling code, Dialing code, Code, Country | For a number from another country: +965. |
| Joined on | تاريخ الانضمام | No | Joined, Join date, Date joined, Member since, Customer since, Client since, Registered on, Registration date, Sign-up date | When they became your customer. |
Leave Joined on blank and Owelz uses the date of their first imported sale or visit. A customer who has come since 2024 then counts as a customer since 2024, not as someone who joined on the day you imported.
Gender, Notes, Birthday and Status columns are not read. Username and Password columns are not matched: customers sign in with their own Owelz account.
Customer packages
One row per sale: one customer holding one package.
| Template column | Arabic | Required | Also matched | What goes in it |
|---|---|---|---|---|
| Customer email | بريد العميل | One of the two | Email, Email address, Mail, Customer | Finds the customer by email. |
| Customer phone | هاتف العميل | One of the two | Phone, Phone number, Mobile, Mobile number, WhatsApp | Finds the customer when the email is blank or shared. |
| Country code | رمز الدولة | No | Dial code, Calling code | For a phone from another country. |
| Package | الباقة | Yes | Package name, Membership, Plan, Product, Subscription | The package, spelled as you imported it. |
| Classes left | الحصص المتبقية | One of the two | Remaining, Classes remaining, Remaining classes, Sessions remaining, Sessions left, Balance, Left | The classes still left. |
| Classes used | الحصص المستخدمة | One of the two | Used, Sessions used, Attended, Visits, Check-ins, Consumed, Taken | Classes already taken. |
| Start date | تاريخ البدء | No | Start, From, Activation date, Starts on, Valid from | Blank, the purchase date. |
| Purchase date | تاريخ الشراء | No | Purchased, Bought on, Date purchased, Sold on, Sale date | The day it was sold. Your revenue counts it that day. Blank, the start date. |
| End date | تاريخ الانتهاء | No | End, Expiry, Expiry date, Expires, Expires on, Valid until, Until, To | Blank, worked out from the start and the package's days. |
| Amount paid | المبلغ المدفوع | No | Price, Price paid, Paid, Amount, Cost, Total, Revenue, Net price | What the customer paid. |
| Paid on | تاريخ الدفع | No | Payment date, Paid at, Date paid | When the money came in. Blank, the purchase date. |
| Price before discount | السعر قبل الخصم | No | List price, Original price, Full price | The full price. |
| Discount | الخصم | No | Discount amount, Reduction | How much was taken off. |
| Cash amount | المبلغ النقدي | No | Cash, Paid in cash, Cash paid | A split payment: the cash part. |
| Card amount | مبلغ البطاقة | No | Card, Paid by card, Card paid, Visa | A split payment: the card part. |
| Sold by | البائع | No | Seller, Salesperson, Sales rep, Staff, Cashier | Matched to your staff by name, else kept as written. |
| Receipt no | رقم الإيصال | No | Receipt, Receipt number, Invoice, Invoice number, Reference, Ref | Kept for reference. |
| Payment method | طريقة الدفع | No | Paid by, Payment, Payment type, Method, Purchase type | How they paid (below). |
| Branch | الفرع | No | Branch name, Location, Site, Sold at | Where it was sold. |
| Guest passes | دعوات الضيوف | No | Invitations, Guests | Guest passes on this sale. |
| Valid for (days) | الصلاحية (أيام) | No | Duration, Validity, Days | When this sale lasted longer or shorter than the package. |
- Classes left or Classes used. Give either one, and the other is worked out from the package's number of classes. Give both and they must agree: the row says so if they don't. An unlimited package needs neither.
- Payment method. Cash, Card, Bank transfer and Wallet are read in English or Arabic, and so are the usual words for them: Visa, Mastercard, Meeza, Instapay, Vodafone Cash, Fawry, كاش, نقدي, فيزا, تحويل, محفظة. A word that is none of these is refused, never guessed. With Cash amount and Card amount filled in, the split stands for the method, and the two must add up to what was paid.
- No amount, method or branch? The step asks you once for the whole file: see the questions.
- Amount owed columns (Amount owed, Balance due, Debt, Unpaid) are not read. A customer's debt from your old system does not come across.
Attendance
One row per customer per class attended.
| Template column | Arabic | Required | Also matched | What goes in it |
|---|---|---|---|---|
| Customer email | بريد العميل | One of the two | Email, Email address, Customer, Attendee | Finds the customer by email. |
| Customer phone | هاتف العميل | One of the two | Phone, Phone number, Mobile, WhatsApp | Finds the customer when the email is blank or shared. |
| Country code | رمز الدولة | No | Dial code, Calling code | For a phone from another country. |
| Class | الحصة | Yes | Class name, Session, Activity, Service, Type, Class type | The class, spelled as you imported it. |
| Date and time | التاريخ والوقت | Yes | Date, Date time, When, Session date, Class date, Attendance date, Checked in at | When the class ran. |
| Time | الوقت | No | Class time, Start time, Session time, Time slot, Hour, Starts at, الساعة | The start time, when the date column has none. |
| Instructor | المدرب | No | Instructor name, Coach, Trainer, Teacher, Taught by | Who taught it. |
| Branch | الفرع | No | Branch name, Location, Site, Studio | Needed when you have more than one branch. |
| Room | الغرفة | No | Room name, Hall, Space | Blank, the branch's first room. |
| Capacity | السعة | No | Spots, Places, Seats, Max capacity | How many places the class had. |
| Duration (minutes) | المدة (بالدقائق) | No | Duration, Minutes, Length | Blank, 60. |
| Package | الباقة | No | Package name, Membership, Plan, Paid with | The package that covered the visit. |
| Price paid | المبلغ المدفوع | No | Price, Paid, Amount, Walk-in price, Fee | What a walk-in paid. |
- Include the time. In the date column (
02/10/2026 18:30) or in a Time column of its own. Without it, every class of a day is placed at midnight, and two classes of the same name that day become one. - Capacity is worth filling in. Fill rate is attendance over capacity, so without it your past classes read wrong.
- Package. Each visit is linked to the package that covered it: the one named here or, with none named, the customer's only package running that day.
- A visit dated in the future is refused: this sheet is history only.
Expenses
| Template column | Arabic | Required | Also matched | What goes in it |
|---|---|---|---|---|
| Date | التاريخ | Yes | Day, Paid on, Spent on, Expense date, When | The day the money was spent. |
| Amount | المبلغ | Yes | Cost, Value, Total, Spent, Price, Paid | How much. |
| Category | الفئة | Yes | Type, Expense type, Account, Head, Kind | Rent, Salaries, Equipment. A category you don't have yet is created. |
| Description | الوصف | No | Note, Notes, Details, Memo, For, Item | What it was for. |
| Branch | الفرع | No | Branch name, Location, Site, Studio | Blank is the whole studio. |
| Paid by | طريقة الدفع | No | Payment method, Method, Payment, Payment type | Cash, Card, Bank transfer or Wallet. Blank is cash. |
| Recorded by | سجّله | No | Recorder, Entered by, Logged by, Added by, Created by | Matched to your staff by name, else kept as written. |
Next
أسئلة شائعة
- Do I have to rename the columns in my export?
- Usually not. Import data recognises the usual header names in English and Arabic, ignores capitals, spaces and punctuation, and lets you pick the column by hand for anything it does not match.
- How are dates in my spreadsheet read?
- Day first. 01/03/2026 is 1 March 2026. ISO dates such as 2026-03-01 and real spreadsheet date cells are read exactly.
- Two people in a family share one email. What happens?
- The first person keeps the email and the second comes in without it, and the row says so. Give each family member their own mobile on every sale and visit row, so their history goes to the right person.
آخر تحديث 27 أكتوبر 2026