Skip to content

Prepare your file

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.

SheetNames it is found by
ClassesClasses, Services, Activities, Disciplines, الحصص
BranchesBranches, Locations, Sites, Studios, الفروع
RoomsRooms, Spaces, Halls, الغرف, القاعات
InstructorsInstructors, Coaches, Trainers, Teachers, المدربون
PackagesPackages, Price list, Prices, Products, Plans, الباقات
CustomersCustomers, Clients, Contacts, العملاء
Customer packagesCustomer packages, Memberships, Subscriptions, Sales, Purchases, الاشتراكات
AttendanceAttendance, Visits, Check-ins, Bookings, Class history, الحضور
ExpensesExpenses, 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_number and PHONE-NUMBER are 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, 965 or 00965) 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/2026 is 1 March 2026, never 3 January. 1/3/2026, 01-03-2026, 01.03.2026 and 1 Mar 2026 read 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 pm or ٧:٣٠ م. 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 columnArabicRequiredAlso matchedWhat goes in it
NameالاسمYesClass, Class name, Class type, Type, Category, Activity, Service, DisciplineWhat you call the class: Reformer Pilates.
ActiveمفعلNoIs active, Status, EnabledYes or no. Blank comes across active.

Yes and no can also be written true/false, 1/0, active/inactive, نعم/لا or مفعل/غير مفعل.

Branches

Template columnArabicRequiredAlso matchedWhat goes in it
NameالاسمYesBranch, Branch name, Location, Site, Studio, ClubThe branch name your customers know.

A branch is just its name. Other columns on this sheet are not read.

Rooms

Template columnArabicRequiredAlso matchedWhat goes in it
NameالاسمYesRoom, Room name, Studio, Space, HallStudio A, Reformer Room.
BranchالفرعYesBranch name, Location, SiteThe branch, spelled as you imported it.
CapacityالسعةYesMax capacity, Spots, Places, Size, SeatsHow many people fit: a whole number from 1 to 1,000.
ActiveمفعلNoIs active, Status, EnabledYes or no.

Instructors

Template columnArabicRequiredAlso matchedWhat goes in it
NameالاسمYesFull name, Instructor, Coach, Trainer, TeacherTheir full name.
Emailالبريد الإلكترونيYesEmail address, Mail, E-mailTheir Owelz instructor account. A row without one is refused.
Phone numberرقم الهاتفYesPhone, Mobile, Mobile number, Contact, Cell, Telephone, Tel, WhatsAppOne instructor per number.
Usernameاسم المستخدمNoUser, Login, HandleLeft blank, their phone number.
ClassesالحصصNoTeaches, Specialities, Disciplines, ActivitiesWhat they teach. Several in one cell, separated by commas.
ActiveمفعلNoIs active, Status, EnabledYes 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 columnArabicRequiredAlso matchedWhat goes in it
NameالاسمYesPackage, Package name, Membership, Plan, ProductThe package as it is sold: 8 Classes · 1 Month.
PriceالسعرYesAmount, Cost, Fee, ValueToday's price.
Valid for (days)الصلاحية (أيام)YesDuration, Duration in days, Validity, Days, Expires afterHow many days it lasts.
Number of classesعدد الحصصYesNumber of sessions, Sessions, Class count, Session count, VisitsHow many classes it includes. 0 means unlimited.
ClassesالحصصNoCovers classes, Activities, IncludesThe classes it can be booked for, separated by commas.
Package typeنوع الباقةNoType, Group or private, VisibilityPUBLIC or PRIVATE. Blank is PUBLIC.
StatusالحالةNoState, PublishedPUBLISHED or DRAFT. Blank is PUBLISHED, so it is on sale.
Guest passesدعوات الضيوفNoInvitations, GuestsGuest passes included.
Freeze limitحد التجميدNoFreezes, Max freezes, Freeze countHow many times it can be frozen. Blank uses your studio's default.
Max freeze daysأقصى أيام التجميدNoFreeze days, Freeze duration, Max freeze durationThe most days it can stay frozen. Blank uses your studio's default.
ActiveمفعلNoIs active, Enabled, AvailableYes 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 columnArabicRequiredAlso matchedWhat goes in it
NameالاسمYesFull name, Customer, Client, First nameTheir full name.
Phone numberرقم الهاتفYesPhone, Mobile, Mobile number, Contact, Cell, Telephone, Tel, WhatsAppWhat identifies the customer.
Emailالبريد الإلكترونيNoEmail address, Mail, E-mailWhat links them to the Owelz app: when they sign up with this email, their packages are waiting.
Country codeرمز الدولةNoDial code, Calling code, Dialing code, Code, CountryFor a number from another country: +965.
Joined onتاريخ الانضمامNoJoined, Join date, Date joined, Member since, Customer since, Client since, Registered on, Registration date, Sign-up dateWhen 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 columnArabicRequiredAlso matchedWhat goes in it
Customer emailبريد العميلOne of the twoEmail, Email address, Mail, CustomerFinds the customer by email.
Customer phoneهاتف العميلOne of the twoPhone, Phone number, Mobile, Mobile number, WhatsAppFinds the customer when the email is blank or shared.
Country codeرمز الدولةNoDial code, Calling codeFor a phone from another country.
PackageالباقةYesPackage name, Membership, Plan, Product, SubscriptionThe package, spelled as you imported it.
Classes leftالحصص المتبقيةOne of the twoRemaining, Classes remaining, Remaining classes, Sessions remaining, Sessions left, Balance, LeftThe classes still left.
Classes usedالحصص المستخدمةOne of the twoUsed, Sessions used, Attended, Visits, Check-ins, Consumed, TakenClasses already taken.
Start dateتاريخ البدءNoStart, From, Activation date, Starts on, Valid fromBlank, the purchase date.
Purchase dateتاريخ الشراءNoPurchased, Bought on, Date purchased, Sold on, Sale dateThe day it was sold. Your revenue counts it that day. Blank, the start date.
End dateتاريخ الانتهاءNoEnd, Expiry, Expiry date, Expires, Expires on, Valid until, Until, ToBlank, worked out from the start and the package's days.
Amount paidالمبلغ المدفوعNoPrice, Price paid, Paid, Amount, Cost, Total, Revenue, Net priceWhat the customer paid.
Paid onتاريخ الدفعNoPayment date, Paid at, Date paidWhen the money came in. Blank, the purchase date.
Price before discountالسعر قبل الخصمNoList price, Original price, Full priceThe full price.
DiscountالخصمNoDiscount amount, ReductionHow much was taken off.
Cash amountالمبلغ النقديNoCash, Paid in cash, Cash paidA split payment: the cash part.
Card amountمبلغ البطاقةNoCard, Paid by card, Card paid, VisaA split payment: the card part.
Sold byالبائعNoSeller, Salesperson, Sales rep, Staff, CashierMatched to your staff by name, else kept as written.
Receipt noرقم الإيصالNoReceipt, Receipt number, Invoice, Invoice number, Reference, RefKept for reference.
Payment methodطريقة الدفعNoPaid by, Payment, Payment type, Method, Purchase typeHow they paid (below).
BranchالفرعNoBranch name, Location, Site, Sold atWhere it was sold.
Guest passesدعوات الضيوفNoInvitations, GuestsGuest passes on this sale.
Valid for (days)الصلاحية (أيام)NoDuration, Validity, DaysWhen 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 columnArabicRequiredAlso matchedWhat goes in it
Customer emailبريد العميلOne of the twoEmail, Email address, Customer, AttendeeFinds the customer by email.
Customer phoneهاتف العميلOne of the twoPhone, Phone number, Mobile, WhatsAppFinds the customer when the email is blank or shared.
Country codeرمز الدولةNoDial code, Calling codeFor a phone from another country.
ClassالحصةYesClass name, Session, Activity, Service, Type, Class typeThe class, spelled as you imported it.
Date and timeالتاريخ والوقتYesDate, Date time, When, Session date, Class date, Attendance date, Checked in atWhen the class ran.
TimeالوقتNoClass time, Start time, Session time, Time slot, Hour, Starts at, الساعةThe start time, when the date column has none.
InstructorالمدربNoInstructor name, Coach, Trainer, Teacher, Taught byWho taught it.
BranchالفرعNoBranch name, Location, Site, StudioNeeded when you have more than one branch.
RoomالغرفةNoRoom name, Hall, SpaceBlank, the branch's first room.
CapacityالسعةNoSpots, Places, Seats, Max capacityHow many places the class had.
Duration (minutes)المدة (بالدقائق)NoDuration, Minutes, LengthBlank, 60.
PackageالباقةNoPackage name, Membership, Plan, Paid withThe package that covered the visit.
Price paidالمبلغ المدفوعNoPrice, Paid, Amount, Walk-in price, FeeWhat 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 columnArabicRequiredAlso matchedWhat goes in it
DateالتاريخYesDay, Paid on, Spent on, Expense date, WhenThe day the money was spent.
AmountالمبلغYesCost, Value, Total, Spent, Price, PaidHow much.
CategoryالفئةYesType, Expense type, Account, Head, KindRent, Salaries, Equipment. A category you don't have yet is created.
DescriptionالوصفNoNote, Notes, Details, Memo, For, ItemWhat it was for.
BranchالفرعNoBranch name, Location, Site, StudioBlank is the whole studio.
Paid byطريقة الدفعNoPayment method, Method, Payment, Payment typeCash, Card, Bank transfer or Wallet. Blank is cash.
Recorded byسجّلهNoRecorder, Entered by, Logged by, Added by, Created byMatched to your staff by name, else kept as written.

Next

Import step by step →

Common questions

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.

Last updated 27 October 2026