Legal Entity
A legal entity is a registered company. It is the business that actually employs people, signs their contracts and pays their salaries, and it is the name that appears at the top of a payslip. Every employee, every payroll and every document in PeopleNest belongs to exactly one legal entity.
What it is for
A group of companies is not one company. If the factory is registered separately from the trading company, the two have different registration numbers, different bank accounts, different payrolls and separate statutory returns. PeopleNest models that by giving each one a legal entity.
That is the one question to settle before you fill this screen in: how many registered companies is this client, legally. The answer is the number of legal entities, and it is rarely the number of offices or the number of factories. One company with a head office in Lahore and a plant in Faisalabad is one legal entity with two addresses.
The legal entity is what separates data. People, positions, payrolls and pay areas all sit inside one, and a payroll run never crosses from one legal entity into another. Several of the setup screens in this module are also entered per legal entity, among them Organizational Structure and Parameter Profile.
The screen also holds the company's own settings for sending messages out - the SMS gateway, the WhatsApp numbers, the mail server - because those are per company, not per installation. If agreement documents are to be signed from a phone, that is configured here too.
PeopleNest shares this screen with the wider ERP product, so some tabs on it describe purchasing, sales and shop integrations. Those are listed at the end and an HR-only installation leaves them alone.
Every field, in plain words
Header
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Legal Entity | The short code for the company. | 01 | Required. It appears on nearly every other screen, so keep it to two characters if you can. |
| Name | The registered name of the company. | Ravi Textile Mills Limited | Use the name exactly as it is registered, it goes on reports. |
| Client | The group the company belongs to. | ABS | Pick it from the list. A single-company client still needs one. |
| Time zone | The company's working time zone. | Asia/Karachi | Pick it from the list. |
| Language | The language the company's screens and documents default to. | English | |
| Image | The logo shown inside the application. | Upload a square PNG of the company mark | |
| Report Image | The logo printed at the top of reports and payslips. | Upload a wide PNG with the full registered name | Keep it a readable print resolution, it goes on paper. |
| Hide Banner | Hides the banner strip at the top of the home screen. | Leave clear | |
| Banner | The banner image for the home screen. | Upload the company's banner | Only used when Hide Banner is clear. |
Client - name in other languages
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Line # | The line number. | Fills itself | |
| Language | A language the client uses. | Urdu | Required on the line. |
| Name | The company name in that language. | The Urdu form of the registered name | Only needed where documents are printed in that language. |
Address
One line per place the company has. A company with a head office, a factory and a warehouse has three lines.
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Line # | The line number. | Fills itself | |
| Name of Address | What this place is called. | Head Office | Required. |
| Address | The street address. | 12-A, Gulberg III, Lahore | |
| Country Region | The wider region the country sits in. | South Asia | Pick it from the list. |
| Country | The country. | Pakistan | Pick it from the list. |
| State | The province. | Punjab | The list narrows to the country you picked. |
| City | The city. | Lahore | The list narrows to the state you picked. |
| Private | The address is not shown on outgoing documents. | Leave clear | Tick it on a director's residential address. |
| Primary For Country | This is the company's main address in that country. | Ticked on the Lahore line | Only one address per country may carry this. The screen refuses a second one. |
| Primary Address | The company's single main address. | Ticked on the Head Office line | Only one address in total may carry this. The screen refuses a second one. |
| Timezone | The time zone of this particular place. | Asia/Karachi | Useful where a group has an office abroad. |
| Distance | The distance to this place from the main address. | 140 | Used where travel from the main site is reimbursed. |
| Kilometer | The unit the distance is expressed in. | KM | |
| Effective From | The date the company started using this address. | 01/01/2020 | |
| Expiration Date | The date it stops. | Leave blank while it is in use | |
| Latitude | The map latitude. | 31.5204 | Used by geofenced attendance. |
| Longitude | The map longitude. | 74.3587 | Used by geofenced attendance. |
| Person | The contact person at this place. | Nadia Qureshi | |
| Mobile | Their mobile number. | 0300 1234567 | |
| Phone | The landline. | 042 35771234 | |
| The email for this place. | ho@ravitextile.com.pk | ||
| Sales Region | Belongs to the ERP sales structure. | Leave blank in an HR-only installation | |
| Sales Area | Belongs to the ERP sales structure. | Leave blank in an HR-only installation | |
| Sales Territory | Belongs to the ERP sales structure. | Leave blank in an HR-only installation | |
| Tax Zone | The tax zone the address falls in. | Punjab | Pick it from the list. Used by the ERP tax calculation. |
Purpose - what each address is used for
Each address line carries its own small list of purposes.
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Line # | The line number. | Fills itself | |
| Purpose | What this address is used for. | Registered Office | Pick it from the list. Add a line per purpose, one address can serve several. |
Contacts
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Line # | The line number. | Fills itself | |
| Person | The name on the contact. | Nadia Qureshi | Required. |
| Contact Nature | What kind of contact detail this is. | Mobile | Required on the line, the screen refuses a line with no nature. Pick it from the list. |
| Contact | The number or address itself. | 0300 1234567 | Required. |
| Extension | The extension on a landline. | 214 | |
| Primary | This is the main contact of its kind. | Ticked | Only one line per contact nature may be primary. The screen refuses a second one. |
Authentication Control - which screens ask for a password again
Use this where a company wants a second check before something is saved, typically on payroll.
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Line # | The line number. | Fills itself | |
| Screen | The screen that will ask. | Payroll | Pick it from the list of entry screens. |
| Transaction Name | The readable name of that screen. | Fills itself from the screen you pick | |
| Authentication Scope | How often it asks. | Record | Values: Screen - once per time the screen is opened. Record - every time a record is saved. |
| Authentication By | Whose password is required. | Logged-in User | Values: Logged-in User - the person working signs with their own password. Fixed User - a named account's password is needed, which is then entered below. |
| User Name | The account whose password is required. | payroll.officer | Only used with Fixed User. |
| Name | The full name of that account. | Fills itself from the account you pick |
Messaging
SMS Gateway
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Allowed SMS Integration | Turns SMS on for this company. Signing links and verification codes then go out by SMS. | Ticked | |
| SMS Provider | Which gateway to send through. | Twilio | Pick it from the list. Anything other than Twilio uses the generic adapter and needs the API URL below. |
| SMS API URL | The gateway address. | The URL your provider gave you | Required for every provider except Twilio. |
| SMS API Key | The account key from the provider. | The key from your provider | Hidden on screen once saved. |
| SMS API Secret | The account secret or password from the provider. | The secret from your provider | Hidden on screen once saved. |
| SMS Sender ID (Mask) | The sender name recipients see instead of a number. | RAVITEX | Must be registered with PTA before it will display. |
| OTP Message Template | The wording of the verification code message. | Your Ravi Textile code is {{otp}}. It is valid for {{minutes}} minutes. | The placeholders available are the code, the company, the party and the number of minutes. |
| Signing Link Message Template | The wording of the signing link message. | Dear {{name}}, please sign your document at {{link}}. The link is valid {{hours}} hours. | The placeholders available are the link, the company, the party, the name and the number of hours. |
WhatsApp
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Allowed Whatsapp Integration | Turns WhatsApp on for this company. | Ticked | |
| WABAID | The business account identifier from Meta. | The value from your Meta account | |
| Phone Number ID | The identifier of the sending number from Meta. | The value from your Meta account | |
| Whatsapp Phone Number | The number messages are sent from. | +92 42 111 000 111 | |
| Whatsapp Access Token | The access token from Meta. | The token from your Meta account | |
| Whatsapp Template Name | The approved template used for general messages. | ravitex_notice | Meta will not deliver free text to somebody who has not written to you first, so a template is required. |
SMTP Configuration
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Email Address | The address the system sends from. | hr@ravitextile.com.pk | |
| Email Password | That mailbox's password. | The mailbox password | Hidden on screen once saved. |
| Server | The mail server. | smtp.office365.com | |
| Port | The mail server port. | 587 |
Agreement signing and OTP
These control the signing of agreement documents from a phone.
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| OTP Channel | How a signer is verified. | SMS | Values: SMS, WhatsApp, Email. The channel you pick decides which gateway above must be configured, and which contact detail a signer must have - a mobile number for SMS and WhatsApp, an email address for Email. |
| Document Signing Base URL | The web address signers reach from their phone. | https://sign.ravitextile.com.pk | It must work from outside the office. A local address will produce a link that does not open. |
| OTP Validity (Minutes) | How long a verification code stays usable. | 10 | |
| OTP Max Attempts | How many wrong codes are allowed before the code is burned and a new one must be requested. | 3 | |
| OTP Resend Cooldown (Seconds) | The wait between one code request and the next, per signer. | 60 | |
| OTP Max Per Hour | How many codes one mobile number may be sent in an hour. | 5 | |
| Signature Window After OTP (Minutes) | How long after entering the code a signer may still sign. Past this they verify again. | 15 | |
| Signing Link Validity (Days) | How many days a signing link stays usable. | 7 | |
| Receipt Link Validity (Days) | How many days a signer can still open their link to download the signed copy. | 30 | Usually longer than the signing window, so nobody needs a login to fetch their copy. |
| WhatsApp OTP Template | The name of the approved WhatsApp authentication template used to send a code. | ravitex_otp | Required when OTP Channel is WhatsApp. |
| WhatsApp Link Template | The name of the approved WhatsApp template used to send a signing link. | ravitex_sign_link | Required when OTP Channel is WhatsApp. It takes the signer name and then the link. |
Files Storage
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Company Storage Limit (MB) | How much file storage the whole company may use. | 51200 | |
| Default User Quota (MB) | How much one user may use when nothing more specific is set. | 200 |
Then a line per user who needs a different allowance:
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Line # | The line number. | Fills itself | |
| Name | The user. | Asad Mahmood | Pick them from the list. Each user may appear once. A repeat is refused, naming them. |
| User Name | Their login name. | Fills itself from the user you pick | |
| Quota (MB) | Their allowance. | 2000 |
AI Agents
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Enable AI | Turns the assistant features on for this company. | Leave clear unless the client has bought keys | |
| Claude API Key | The key for Anthropic's service. | The key from the provider | Hidden on screen once saved. |
| Claude Default Model | Which model to use by default. | The model name from the provider | |
| GPT (OpenAI) API Key | The key for OpenAI's service. | The key from the provider | Hidden on screen once saved. |
| GPT Default Model | Which model to use by default. | The model name from the provider | |
| Gemini API Key | The key for Google's service. | The key from the provider | Hidden on screen once saved. |
| Gemini Default Model | Which model to use by default. | The model name from the provider |
The AI tools this company may use, one line each:
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Line # | The line number. | Fills itself | |
| AI Tool | The short code for the tool. | FAST | |
| AI Tool Name | What it is called. | Fast summariser | |
| Provider | Which service it runs on. | Claude | Pick it from the list. |
| Model | The model name. | The model name from the provider | A tool line needs a code, a provider and a model. A line missing any of the three is refused. Each tool may appear once. |
And which tool each feature uses:
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Line # | The line number. | Fills itself | |
| AI Feature | The feature being configured. | Pick it from the list | Each feature may appear once. |
| AI Tool | Which of the tools above it uses. | FAST | Pick it from the list of tools you entered. |
| AI Tool Name | The tool's name. | Fills itself | |
| Context / Instructions Sent | Extra standing instructions sent with every request from that feature. | Answer in plain English. Amounts in PKR. |
Tabs that belong to the ERP product
An HR-only installation leaves all of these alone. They are listed so you know what you are looking at.
| Tab or group | What it is for |
|---|---|
| Controlling - Purchase Structure | Switches that make a purchasing structure, organization, team or purchaser compulsory on purchase documents. |
| Controlling - Sales Structure and Sales Team | The same switches for the sales structure, organization, group, team, sales taker, sales responsible and distribution channel. |
| Controlling - General | Whether the company name is required on transaction screens, whether real estate is required on a journal, and whether the advertisement strip is hidden on reports. |
| Integrations - Shopify | Store address, access token, webhook secret, and the two buttons that pull products and orders across. |
| Integrations - Syrve | Connection details and the accounting defaults a Syrve-created document is posted with. |
| Integrations - Digital Invoice and FBR | The digitalization switch, token, sale type, scenario identifier, sandbox switch, status and the date the integration starts from. |
| Integrations - Integration Beep | Connection details for the Beep project integration. |
| Barcode | Whether barcodes are generated for this company, the default nomenclature new assignments inherit, and the prefix stamped on codes the company issues. |
How to configure it
- Settle how many registered companies the client is. Create one Legal Entity per registered company, not one per site.
- Make sure Country, State and City hold the places you need. Pakistan and its provinces are already there.
- Open Legal Entity. Enter the code
01, the registered name, the Client, Time zoneAsia/Karachiand the Language. - Upload the Image and the Report Image. The report one is what goes on the payslip, so use a legible, wide version with the full registered name.
- On the Address tab add the head office. Fill Name of Address, Address, Country, State and City, and tick both Primary Address and Primary For Country on it.
- Add a line per other site - the factory, the warehouse. Only the head office carries the primary ticks.
- On each address line add its Purpose lines, for example
Registered Officeon the head office. - On the Contacts tab add the switchboard and the HR mailbox, each with its Contact Nature, and tick Primary on one line per nature.
- If the company sends anything out by email, fill the SMTP Configuration group. Nothing leaves the system without it.
- If the company uses signed agreement documents, fill the Agreement signing and OTP group and the gateway for the channel you picked. A signing base address that does not work from outside the office is the usual reason a link never opens.
- Set the Files Storage limits, and add a per-user quota line only for the handful of people who need more than the default.
- Save. Then set the screen behaviour for this company on Organizational Structure, which is entered per legal entity.
Scenarios
The client is one company with a factory and a head office
One legal entity, two address lines. Everybody is employed by the same company, so one payroll can cover both sites. The factory and the office are separated by Business Unit or by calendar, not by legal entity.
The client is a group of three registered companies
Three legal entities. Each one gets its own people, its own payroll and its own pay areas, and a payroll run never crosses between them. Anything shared - the Calendar, the Time Templates, the country and city lists - is built once and used by all three.
Each company has its own letterhead on the payslip
Upload a different Report Image on each legal entity. The payslip takes the image from the legal entity the employee belongs to.
Payroll must be confirmed with a password every time
Add an Authentication Control line for the Payroll screen with Authentication Scope Record and Authentication By Logged-in User. The officer then re-enters their own password on each save. If the company wants a specific person's password rather than the operator's, use Fixed User and name that account.
Appointment letters are to be signed on a phone
Fill the Agreement signing and OTP group. Pick the channel the client's staff actually have - SMS works for everybody in Pakistan, WhatsApp needs approved templates from Meta, Email needs an email address on every signer. Then configure the matching gateway, and make sure the Document Signing Base URL is reachable from a phone on a mobile network.
What it is connected to
- Country, State and City must hold the places before an address can be entered.
- Organizational Structure is entered per legal entity and decides how screens behave inside this company.
- Parameter Profile lines name a legal entity.
- Business Area Dimension and Functional Area Dimension map business areas and functional areas onto a legal entity.
- Every employee belongs to one legal entity through Employee Organization Assignment.
- Pay Area, Payroll Group and the Payroll run itself are all inside one legal entity and never cross between them.
- The payslip takes the company name and the report logo from here.
- Changing the code of a legal entity after people have been hired into it is not a cosmetic change. Decide the codes before the first employee is created.