PayLink
A complete business management platform for agencies, freelancers, and service businesses. Invoices, bills, documents, digital business cards, projects, support, finances, assets, and meetings — all in one place.
PayLink gives your team everything you need to run a service business, organized into modules. Subscribe to the features your business needs and add more at any time.
Alongside the ten feature modules, every workspace comes with Client Management with a self-service Client Portal and User Management so you can invite your team and control exactly what each person sees.
The installer walks you through four steps: checking your server, setting up the database, creating your admin account, and confirming everything is ready. You will not need the command line.
| Requirement | Minimum |
|---|---|
| PHP Version | 8.3 or higher |
| Web Server | Apache or Nginx |
| Database | MySQL 5.7+ or MariaDB 10.3+ |
- PDO & PDO MySQL
- Mbstring
- OpenSSL
- JSON
- cURL
- Tokenizer
- XML
- Ctype
- BCMath
- Zip
- Fileinfo
The storage and bootstrap/cache directories must also be writable by the web server (permission 755 or 775).
-
Step 1 — Server Check. Visit your application URL. You are redirected automatically to the installer. A checklist shows every requirement in green (pass) or red (fail). Fix any red items before continuing. Once everything is green, click Continue.
-
Step 2 — Database Setup. Enter your database host, port, name, username, and password. Click Test Connection to verify your credentials without saving anything. When the test passes, click Save & Continue. The installer creates all tables and inserts default data automatically.
-
Step 3 — Admin Account. Enter your full name, email address, and a password (minimum 8 characters). Click Create Account & Finish. You are logged in to the admin panel immediately.
-
Step 4 — Complete. Installation is finished and the admin panel is ready to use.
Before inviting companies, complete these setup steps:
- Go to Settings → Application — set your application name, contact email, currency, and date format.
- Go to Settings → SMTP — configure your outgoing email server.
- Go to Settings → Payment Gateway — connect Stripe and/or PayPal.
| Problem | Solution |
|---|---|
| Blank page or server error | Your PHP version may be below 8.3. Contact your hosting provider to upgrade. |
| "Access denied" on the database step | The username or password is wrong, or the user does not have access to the database. |
| "Database not found" | Create the empty database first in your hosting control panel (cPanel, phpMyAdmin), then re-enter the name. |
| "Cannot connect to server" | The database host or port is incorrect. Ask your host for the correct hostname. |
| PHP extension shown as missing | Ask your hosting provider to enable the extension via PHP Settings or MultiPHP INI Editor. |
| Directory shown as not writable | Set the folder permission to 755 via FTP or file manager. |
| Installer appears again after completion | The storage folder was not writable so the lock file could not be saved. Fix permissions and run installation again. |
Create professional invoices in any currency, set them to repeat automatically, download them as PDFs, and send a secure payment link straight to your payer. Payments can be collected through Stripe, PayPal, or Bank Transfer. Everything you need — invoice status, payment history, due dates, and outstanding balances — is tracked from one dashboard, so your billing stays simple and organized.
- Build an invoice with your own line items, discount, and tax — in the currency your payer uses.
- Turn any invoice into a recurring invoice so it is raised again automatically on your chosen schedule.
- Download a branded PDF or email a secure payment link with one click.
- Accept payment by Stripe, PayPal, or Bank Transfer.
- Follow every invoice from Pending to Paid, and see what is still outstanding or overdue.
| Card | What it shows |
|---|---|
| Total Invoiced | Combined value of every invoice ever raised. |
| Collected | Total value of invoices marked as Paid. |
| Pending | Total value of invoices still awaiting payment. |
| Overdue | Total value of pending invoices whose due date has passed. |
Click New Invoice. Choose one of two types:
| Type | When to use |
|---|---|
| Manual | One-off invoices where you enter line items yourself. Lets you fill in payer name, email, and phone. |
| Project | Invoices generated from a project. Line items are populated automatically from the project's billing type (hourly or flat-rate). |
| Field | Description |
|---|---|
| Invoice Number | Generated automatically — cannot be edited. |
| Currency | Pick the currency this invoice is billed in. Auto-set from the client on project invoices. |
| Subject | An optional reference line shown on the invoice. |
| Issue Date | Defaults to today. |
| Due Date | Optional. Invoices past this date without payment are flagged as Overdue. |
| Recurring | Tick to repeat this invoice automatically, then choose how often it should be raised. |
| Payment Methods | Choose which options the payer sees — Stripe, PayPal, and/or Bank Transfer. |
For retainers, subscriptions, and any fee you bill on a regular cycle, tick Recurring while creating the invoice and set the frequency (for example weekly, monthly, or yearly). PayLink then raises the next invoice for you when the cycle comes around, using the same line items, tax, and currency — so you never have to rebuild it by hand.
Recurring invoices are marked with a Recurring badge in the list. To stop the cycle, edit the invoice and untick the recurring option; invoices already raised are not affected.
When you select a project billed by the hour, the system finds all uninvoiced time log entries and converts each one into a line item (task name, hours, hourly rate, amount). After saving, those time logs are marked as invoiced so they will not appear on future invoices.
Add, edit, or remove line items freely. Each row has a description, quantity, and unit price — the amount column updates automatically.
Both discount and tax support two modes:
| Mode | How it works |
|---|---|
| Percentage (%) | Calculated as a percentage of the subtotal. Maximum 100. |
| Flat amount | A fixed amount deducted or added. Cannot exceed the subtotal. |
Enter the tax rate that applies to the sale — for example VAT or GST — and PayLink adds it to the total and prints it as its own line on the PDF, so your payer can see exactly what was charged.
When creating or editing a Pending invoice, tick Send Payment Link to email the payer a secure, unique URL where they can pay online. The payer does not need a PayLink account — the link opens the invoice and its payment options directly. You can also copy the link at any time from the invoice detail page or the actions menu and share it however you like.
| Method | How it works |
|---|---|
| Stripe | The payer pays by credit or debit card. The invoice is marked Paid automatically once the payment succeeds. |
| PayPal | The payer pays from their PayPal balance or card. The invoice is marked Paid automatically once the payment succeeds. |
| Bank Transfer | Your bank details are shown to the payer. When the money arrives, record the payment on the invoice yourself to mark it Paid. |
The invoice list is your billing dashboard. Every invoice carries a status badge so you can see at a glance where it stands, and the detail page shows the full payment history — what was paid, when, and by which method — along with the balance still outstanding.
| Status | Meaning |
|---|---|
| Pending | Sent or waiting for payment. Still editable. |
| Paid | Payment received in full. |
| Overdue | The due date has passed and the invoice is still unpaid. |
| Action | What it does |
|---|---|
| View | Opens the full invoice detail page. |
| Copy Payment Link | Copies the client-facing payment URL to your clipboard. |
| Edit | Opens the invoice editor (Pending invoices only). |
| Download PDF | Generates and downloads a formatted PDF using your logo and settings. |
| Delete | Permanently removes the invoice after confirmation. |
Navigate to Invoice Settings in the sidebar to customize your PDF invoices. A live preview updates as you make changes.
| Setting | Options |
|---|---|
| Paper Size | A4 or Letter |
| Orientation | Portrait or Landscape |
| Currency Position | Left ($100.00) or Right (100.00$) |
| Text Font | DejaVu Sans, DejaVu Serif, DejaVu Sans Mono, Helvetica, Times Roman, Courier |
| Primary Color | Accent colour for borders and highlights. |
| Header Background | Background colour of the invoice header band. |
| Text Color | Main body text colour. |
| Template | Classic, Modern, or Minimal layout design. |
| Footer | Text shown at the bottom of every invoice (payment instructions, bank details, etc.). |
Use the toggles to show or hide optional sections: Customer Address, Tax, Discount, Notes, Terms & Conditions, and Signature Field.
Manage your company's accounts payable in one complete system. Create payable bills for your vendors or suppliers, record full or partial payments, and keep a record of every transaction with payment dates, reference numbers, attachments, and notes. Outstanding balances and payment history stay visible at all times, so you always know who you owe and how much.
- Create a payable bill for any vendor or supplier, with line items, discount, and tax.
- Record a payment in full, or pay in instalments and let the balance update as you go.
- Attach the receipt or supporting document to each payment for your records.
- See outstanding balances and complete payment history for every bill.
- Set a bill to recur so it is created again automatically each cycle.
| Card | What it shows |
|---|---|
| Total Bills | Combined value of all bills ever recorded. |
| Paid | Total value of bills fully paid. |
| Pending | Total value of unpaid bills. |
| Overdue | Total value of unpaid bills whose due date has passed. |
| Field | Description |
|---|---|
| Vendor Name | The company or person you owe money to. Required. |
| Bill Number | Your reference number for this bill. Optional. |
| Category | A grouping label for reporting (e.g. Software, Rent, Utilities). |
| Issue Date | When the bill was received or issued. Required. |
| Due Date | When payment is expected. Bills past this date are flagged as Overdue. |
| Recurring | Tick to create a recurring bill. Set the frequency (weekly, monthly, etc.). |
| Currency | The currency for this bill. |
| Notes | Internal notes about this bill. |
Add one or more line items to the bill. Each row has a description, quantity, and unit price. The bill total updates automatically. Apply a discount and tax using either a percentage or a flat amount.
When a bill is marked as recurring, the system creates the next bill automatically when the current one's due date passes. Recurring bills show a Recurring badge in the list. Stop the recurrence at any time by editing the bill and unchecking the recurring option.
Open a bill and click Add Payment. You can settle the whole amount at once or pay in instalments — record each instalment as its own payment and PayLink keeps the running balance for you.
| Field | Description |
|---|---|
| Amount | The amount paid this time. Enter less than the balance to record a partial payment. |
| Payment Date | The date the payment was made. Defaults to today. |
| Payment Method | How the payment was made (Bank Transfer, Cash, Cheque, etc.). |
| Reference Number | Optional transaction reference, cheque number, or transfer ID. |
| Attachment | Attach the receipt, bank slip, or any supporting document. |
| Notes | Any notes about this payment. |
The remaining balance and status update immediately. When the total paid equals the bill amount, the bill is automatically marked as Paid.
Every bill's detail page lists all payments recorded against it — amount, date, method, reference number, attachment, and notes — with the outstanding balance shown above. Nothing is overwritten, so you always have a complete audit trail of how a bill was settled.
Open a bill's detail page and click Download PDF to download a formatted copy.
The Report section under Bills lets you filter activity by date range, vendor, or status, and see totals for paid, pending, and overdue amounts.
Keep your business documents organized in one secure place. Create categories and folders, upload and arrange your files, and share them with your team. You can generate public shareable links, email files directly, and download documents one at a time or in bulk. Mark the files you use most as favourites, archive the ones you no longer need day to day, restore anything from the archive or trash, and permanently delete what you are finished with.
- Create categories and folders to give every document a home.
- Upload files and move them between folders at any time.
- Share documents with your team, or generate a public link for people outside PayLink.
- Send a document straight to someone by email.
- Download a single file, or select several and download them in bulk.
- Favourite, archive, restore, and permanently delete documents.
Start by creating a category — a top-level grouping such as Contracts, Invoices, or HR. Inside a category you can create folders to break things down further. Click any folder to open it and see the files it holds.
| Action | How to do it |
|---|---|
| Create a category | Click New Category, give it a name, and save. |
| Create a folder | Open a category and click New Folder. Folders keep related files together. |
| Rename or delete | Use the ⋮ menu on any category or folder row. |
Open the folder you want the file to live in and click Upload. Choose one or more files from your computer, add a title and description if you want, then save. Each document shows its file type, size, uploader, and upload date in the list.
| Sharing option | What it does |
|---|---|
| Share with team | Give specific team members access to a document from inside PayLink. |
| Public shareable link | Generates a link anyone can open — useful for people who do not have a PayLink login. Revoke the link at any time to cut off access. |
| Send by email | Email the document directly to a recipient without leaving the page. |
Click the download icon on any row to save a single file. To download several at once, tick the checkboxes beside the documents you want and choose Download Selected — they are packaged into a single zip file.
Click the star icon on any document to mark it as a favourite. Favourites are collected on their own page so the files you reach for most are always one click away. Click the star again to remove it.
| Action | What happens |
|---|---|
| Archive | Moves the document out of the active list into Archive. Nothing is lost — it is simply out of the way. |
| Restore from archive | Brings the document back to its original folder and the active list. |
| Delete | Moves the document to Trash. It is still recoverable at this point. |
| Restore from trash | Returns the document from Trash to its folder. |
| Delete permanently | Removes the document and its file from the server for good. |
Create and share a professional digital business card. Choose from a set of beautifully designed vCard templates, fill in your personal or business details, and generate a dynamic QR Code that shares your contact information instantly. Visitor analytics show how many views and scans your card receives, so you can see how well your digital profile is working. Share it anywhere and make networking faster, smarter, and more professional.
- Pick a vCard template and customize it with your own information and branding.
- Generate a dynamic QR Code that always points to your latest card.
- Share your card by link, QR code, or print.
- Track views, scans, and engagement from the analytics page.
Click New vCard, choose a template, and fill in your details. Every field is optional except your name, so include only what you want people to see.
| Field | Description |
|---|---|
| Template | The design your card uses. You can switch templates later without re-entering anything. |
| Name | Your name or your business name. Required. |
| Job Title / Company | Your role and the organization you represent. |
| Profile Photo / Logo | The image shown at the top of the card. |
| Cover Image | An optional banner behind your profile photo. |
| Phone & Email | Contact details visitors can tap to call or write to you. |
| Website | A link to your site or portfolio. |
| Address | Your business location. |
| Social Links | Your profiles on LinkedIn, Facebook, X, Instagram, and more. |
| About | A short introduction shown on the card. |
| Colours | Adjust the card's accent and background colours to match your brand. |
A live preview updates as you type, so you can see exactly what visitors will see before you publish.
Every vCard gets its own QR Code automatically. It is dynamic, which means it points to your card rather than to fixed text — update your phone number or job title and the same printed QR code keeps working, no reprinting needed.
Download the QR Code as an image to add to business cards, email signatures, presentations, packaging, or event badges. When someone scans it with a phone camera, your card opens instantly and they can save your contact details in one tap.
| Method | How to use it |
|---|---|
| Public link | Copy your card's URL and send it in a message, email signature, or social bio. |
| QR Code | Download the code and print or display it wherever people can scan. |
| Save contact | Visitors tap Save Contact to add you straight to their phone's address book. |
Open a vCard and go to Analytics to see how your card is performing.
| Metric | What it tells you |
|---|---|
| Views | How many times your card page has been opened. |
| QR Scans | How many of those visits came from someone scanning your QR Code. |
| Engagement | Which actions visitors took — saving your contact, tapping a link, or calling you. |
| Over time | A chart of activity by day so you can see the effect of an event or campaign. |
Run your projects efficiently by assigning a client, a responsible person, and the team members who will do the work. Organize the work into features and tasks, and PayLink notifies each team member automatically when a task is assigned to them. Track progress on a Kanban board and collaborate through task reviews so every project stays on schedule.
- Create a project and assign the client, the responsible person, and supporting team members.
- Break the work into features (deliverables) and tasks (individual work items).
- Let PayLink notify team members automatically the moment a task is assigned to them.
- Track progress by dragging tasks across a Kanban board.
- Collect client reviews on each feature and discuss them in a shared thread.
| Field | Description |
|---|---|
| Name | A clear, descriptive name. Required. |
| Client | The client this project belongs to. Optional. |
| Status | Current state (e.g. Active, On Hold, Completed). Manage your status list via the gear icon. |
| Priority | Urgency level. Manage your priority list via the gear icon. |
| Start & Due Date | Expected work window. |
| Billing Type | Hourly — time is tracked per task and each log entry becomes an invoice line item. Flat — a fixed-price engagement. |
| Key Person | The team member responsible for the project overall. Required. |
| Assistants | The other team members working on the project. Select as many as you need. |
Features are the major deliverables within a project. They appear as an expandable accordion on the project detail page.
Each feature has two status types:
- Feature Status — internal team progress tracking. Statuses marked as "completed" count towards the project progress bar.
- External Status — a separate label for what has been communicated to the client (e.g. "Awaiting Client Sign-off").
Click a status badge directly on the feature header to change the status inline without opening the edit form.
Tasks are individual pieces of work within a feature. Each task has a title, status, priority, assigned team member, due date, estimated hours, description, review notes, an optional file attachment, and a checklist of notes.
Assignment notifications: As soon as you assign a task to someone, that person receives an email and an in-app notification with the task title, project, priority, and due date — so nobody has to be told separately that work is waiting for them. Reassigning a task notifies the new owner in the same way.
Task checklist: Each checklist item can be ticked off independently as work progresses. Items are always appended on edit — existing ones are never overwritten.
Archiving: When a task reaches a completed status, the Key Person can archive it from the Kanban board. Archived tasks are removed from all task lists and cannot be un-archived.
The Kanban board shows tasks as cards in columns, one column per status. Drag cards between columns to update the status — changes save automatically. Drag cards within a column to reorder them (order persists across page loads).
Track billing milestones agreed with the client. Each phase has a title, amount, due date, and status.
| Phase Icon | Meaning |
|---|---|
| ● Green | The phase has been paid. |
| ⚠ Red | Overdue — the due date has passed and it has not been paid. |
| ○ Empty | Pending. |
Mark a phase's status as the "completed state" to automatically record the paid date and update the totals summary.
For hourly projects, team members log hours worked against specific tasks. Each log entry captures the task, hours, optional description, and date. When a project invoice is created, all uninvoiced time logs become line items automatically.
The My Tasks page shows only tasks assigned to you across all projects. Filter by project, feature, status, or priority. Change a task's status inline by clicking its badge in the list.
Each feature has a discussion thread for team-client communication. Post messages, attach files (up to 20 MB), or record voice messages. Both parties receive notifications when the other side posts. Clicking a notification takes you directly to the relevant feature with the discussion box highlighted.
Deliver efficient customer support with a built-in ticketing system. Clients create a ticket by choosing a category and a priority, and the assigned staff member is notified instantly by email and in the app. Both sides can reply with file attachments or voice recordings, receive real-time updates, and follow the conversation until the ticket is resolved and closed.
- The client opens a ticket. From the Support Center in their portal they write the subject and description, choose a category and a priority, and can attach a file.
- A staff member is assigned. The assignment happens automatically, and that person receives an email plus an in-app notification straight away.
- The conversation runs. Both sides reply in the thread, attaching files or recording a voice message. Each reply notifies the other party.
- The ticket is resolved and closed. When the issue is handled, either side updates the status to close it out.
Tickets are listed in order of most recent activity. Each row shows the ticket ID, subject, client, assigned team member, priority badge, status badge, and last activity time. Filter by keyword, status, priority, or assigned team member.
| Field | Description |
|---|---|
| Subject | A short summary of the issue. Required. |
| Description | Full details with rich text formatting. Required. |
| Client | The client this ticket belongs to. Optional. |
| Assigned To | The team member who will handle the ticket. |
| Status | The current workflow stage. Leave blank for Open. |
| Priority | Urgency level (Low, Medium, High, etc.). |
| Category | Type of request (Billing, Technical, etc.). |
| Attachment | A single file attachment up to 10 MB. |
Opening a ticket shows the full conversation thread on the left and a ticket info panel on the right. Staff replies appear on the left with a blue accent; client replies appear on the right with a grey accent.
Use the Reply composer to type a message and optionally attach one file per reply (same formats and 10 MB limit). You can also click the microphone icon to record a voice message instead of typing — useful for explaining something that is quicker to say than to write. Click Send Reply. The client receives an email with the reply content, and the thread updates in real time for anyone who has it open.
Change the ticket status inline using the Status dropdown in the right panel — no need to open an edit form.
Clients open new tickets by clicking Open Ticket from the Support Center page in their portal. When a client submits a ticket, a staff member is automatically assigned. The assigned staff member receives an email and in-app notification.
Clients can view the full conversation, reply, attach files, and change the ticket status themselves (for example, to mark it resolved when their issue is addressed).
| Template | When it is sent |
|---|---|
| Open Support Ticket | Sent to the assigned staff member when a client opens a new ticket. |
| Reply Support Ticket | Sent to the assigned staff member when a client replies, and to the client when a staff member replies. |
Ticket statuses, priorities, and categories are configured under References → Support Tickets. Changes are reflected immediately across all ticket forms and filters.
Keep an eye on your business finances with a simple income and expense tracker. Record a transaction by choosing the type, category, date, reference number, and notes, then use the reports to see where your money is going and make better-informed decisions.
- Record income and expense transactions with full detail.
- Group transactions by category and payment method, both of which you manage yourself.
- Attach receipts so every entry has its proof.
- View reports and charts, and export everything to CSV.
| Card | What it shows |
|---|---|
| Total Income | Combined total of every income transaction on record. |
| Total Expense | Combined total of every expense transaction on record. |
| Net Balance | Income minus Expense. Positive means you are ahead; negative means expenses exceed income. |
| This Month Net | Net balance for the current calendar month only. |
Click New Transaction and select the type — Income (money received) or Expense (money spent).
| Field | Description |
|---|---|
| Amount | The value of the transaction. Must be greater than zero. |
| Transaction Date | The date the money moved. |
| Category | Optional grouping label. Click the gear icon to manage categories without leaving the form. |
| Payment Method | How the money moved (Cash, Bank Transfer, Card, etc.). Click the gear icon to manage methods. |
| Reference Number | Optional identifier — cheque number, transfer ID, receipt number. |
| Description | A short note explaining the transaction. |
| Notes | Additional internal context. |
| Receipt | Attach a supporting document — PDF, JPG, PNG, or WEBP up to 5 MB. |
Click the gear icon beside Category or Payment Method to add, rename, or delete values inline without navigating away.
The Report page provides a visual and tabular breakdown of activity. Filter by date range, type, and category, then view:
- Stat cards — Total Income, Total Expense, Net Balance, Transaction Count.
- Grouped bar chart — income and expense side by side per month.
- Donut chart — proportion of income versus expense.
- Top Categories — ranked table by total value.
- Transactions table — paginated list (25 per page).
Click Export CSV to download all matching transactions as a spreadsheet file.
Manage your company assets from end to end. Register each asset with a tag, images, purchase details, warranty information, and notes. Streamline check-in and check-out as equipment moves between team members, keep a full maintenance history, and shape your own asset models using custom fields and field sets so the system matches how your organization actually works.
- Register assets with tags, images, purchase details, warranty dates, and notes.
- Check assets out to team members and check them back in.
- Record every service event in the asset's maintenance history.
- Define custom fields and field sets so each asset category captures exactly what you need.
| Field | Description |
|---|---|
| Name | A descriptive name for the asset. Required. |
| Asset Tag / Serial Number | A unique identifier for tracking. |
| Image | A photo of the asset, so it is easy to identify at a glance. |
| Category | The type of asset (e.g. Laptop, Furniture, Vehicle). |
| Model | Linked to your asset models list for shared specifications. |
| Purchase Date | When the asset was acquired. |
| Purchase Price | What was paid for the asset. |
| Warranty Expiry | When the manufacturer warranty expires. |
| Location | Where the asset is physically kept. |
| Condition | Current physical state (New, Good, Fair, Poor). |
| Status | Availability state — Available, Checked Out, In Maintenance, Retired. |
| Notes | Internal notes about this asset. |
| Custom Fields | Additional fields defined via field sets for your asset categories. |
Check Out assigns an asset to a team member. Open the asset detail page, click Check Out, select the user, and set an optional expected return date. The asset status changes to Checked Out.
Check In returns an asset. Click Check In on the asset detail page. The user assignment is cleared and the status returns to Available.
Log service events for each asset from its detail page. Click Add Maintenance and fill in the maintenance type, date, cost, who performed the work, and any notes. The asset's status changes to In Maintenance while a record is open. Marking the record complete returns the asset to its previous status.
Asset models provide a reusable set of specifications (manufacturer, model number) that can be linked to multiple assets of the same type. Manage models from the sidebar under Asset Management.
Custom fields let you store additional information that varies by asset type — for example a screen resolution for monitors or a license plate for vehicles. Group fields into Field Sets and assign a field set to a category so the right fields appear automatically when creating or editing assets in that category.
Asset categories, statuses, and conditions are configured under References → Assets. Changes are reflected immediately across all asset forms and filters.
Keep track of money you have lent out and money you have borrowed. Record the contact's details, the amount, issue and due dates, attachments, and notes. Both lends and debts keep a complete payment history — amount, date, payment method, reference number, attachment, and notes for every instalment — so outstanding balances are always clear. Use the All / Debt / Lend tabs to filter the list.
- Record a lend (money others owe you) or a debt (money you owe).
- Store the contact's details, amounts, issue and due dates, supporting files, and notes.
- Log each repayment as it happens and watch the balance come down.
- Spot overdue records at a glance and keep a full history for both sides.
| Card | What it shows |
|---|---|
| Total Debt | Combined original amount of all debt records. |
| Total Lend | Combined original amount of all loan records. |
| Outstanding | Total remaining unpaid balance across all records. |
| Overdue | Number of records whose due date has passed and are not fully paid. |
| Field | Description |
|---|---|
| Type | Debt (I owe them) or Lend (they owe me). |
| Contact Name | The person or company involved. Required. |
| Contact Phone | Optional phone number. |
| Amount | The full original amount. |
| Issued Date | When the debt or loan was created. Required. |
| Due Date | Optional. Records past this date without full payment are flagged as Overdue. |
| Status | Optional custom status label (e.g. "Negotiating", "Disputed"). |
| Description | What the debt or loan is for. |
| Document | Optional supporting file — PDF, JPG, PNG, or WebP. |
From the detail page, click Add Payment (debt) or Payment Received (lend). Enter the amount, date, payment method, optional reference number, attachment, and a note. Every instalment is kept in the record's payment history, so you can see exactly how the balance was paid down over time.
The remaining balance and progress bar update immediately. When the total paid reaches the full amount, the record is automatically marked as Fully Paid.
Schedule and manage your online meetings directly from PayLink using the Zoom integration. Connect your Zoom account once, and every meeting you create here is created in Zoom automatically — with the meeting ID, passcode, and join link filled in for you and sent to your attendees.
- Connect your Zoom account once and schedule meetings without leaving PayLink.
- Invite team members and clients — each one gets an email and in-app notification with the join link.
- Edit or cancel a meeting and have the change reflected in Zoom automatically.
- Switch between Upcoming, Past, and All views to see where things stand.
| Card | What it shows |
|---|---|
| Total Meetings | All meetings ever created. |
| Upcoming | Meetings scheduled in the future. |
| Today | Meetings scheduled for today. |
| Field | Description |
|---|---|
| Title | The name of the meeting. Required. |
| Platform | The video platform (Zoom, Google Meet, Teams, etc.). |
| Start Date & Time | When the meeting begins. Required. |
| Duration | How long the meeting runs, in minutes (5–1440). Defaults to 60. |
| Timezone | The timezone for the start time. |
| Meeting ID | The platform-assigned meeting number. Auto-filled when Zoom is connected. |
| Passcode | Meeting passcode. Auto-filled when Zoom is connected. |
| Join URL | Participant join link. Auto-filled when Zoom is connected. |
| Agenda | A plain-text agenda visible to all attendees. Optional. |
| Notes | Internal notes. Optional. |
| Attendees | Team members and clients to invite. Each receives an email and in-app notification. |
Connect your Zoom account under Settings → Zoom. Once connected, meetings created in PayLink are automatically created in Zoom. Editing a meeting also updates Zoom. Deleting removes it from Zoom as well.
Use the Upcoming / Past / All toggle to switch between views. Filter further by keyword and date range. Upcoming meetings are ordered soonest first; past meetings are ordered most recent first.
Clients who are added as attendees can view their meetings from the Meetings section of the Client Portal. They can see the join link, meeting ID, and passcode, and join with one click. Clients cannot create or edit meetings.
When attendees are added to a new meeting, each receives an email notification with the meeting title, date, platform, duration, and join link — provided the Meeting Assigned Notification is enabled in Settings. An in-app notification is also sent.
The admin panel is the platform control centre. Administrators manage companies, users, subscription plans, landing page content, email templates, and system settings from here.
The dashboard gives a live overview of platform activity through stat cards and recent-activity lists.
| Card | What it shows |
|---|---|
| Total Companies | All registered companies on the platform. |
| Active Subscriptions | Companies with a currently active paid subscription. |
| Total Revenue | The combined value of all completed payments ever recorded. |
| This Month Revenue | Revenue collected in the current calendar month. |
A revenue chart shows monthly totals across the last 12 months. Below the chart you will find lists of the most recent company registrations and most recent payments.
The Companies page lists every company registered on the platform. Each row shows the company name, owner email, active subscription status, and registration date.
Click any company name to open its detail page, which shows contact information, the active subscription, full subscription history, and all users belonging to that company. From the detail page you can edit the company or delete it.
The Users page lists all individual user accounts across every company. Use the search and filter bar to find users by name, email, or company. Administrators can create new users, edit existing ones, or delete accounts from here.
Subscription plans define the modules available to companies and their pricing. Create or edit a plan to set its name, billing durations (monthly, quarterly, half-yearly, annual, two-year), and the price for each duration. Plans appear on the public pricing page for companies to choose from.
Modules are the individual features that companies subscribe to (Invoices, Bills, Projects, and so on). The Modules page lists all available modules. For each module you can set a name, a monthly price, and an icon. Modules can be activated or deactivated platform-wide.
The landing page is the public-facing marketing page for PayLink. Administrators can manage all content sections from the admin panel:
- Hero Section — headline, sub-headline, and call-to-action text.
- Features — a list of selling points shown in the features section.
- FAQs — frequently asked questions displayed as an expandable accordion.
- Testimonials — customer quotes shown on the landing page.
- Contact Inquiries — messages submitted through the landing page contact form.
The admin Reports page provides a platform-wide financial overview. Filter by date range to see total revenue, payment volume by gateway (Stripe vs PayPal), and a breakdown by company or module.
All system-generated emails are fully customisable. Each template has a subject line, a body with placeholder variables, and a live preview. Use the placeholder list shown beneath the editor to insert dynamic values such as the recipient's name, company name, or invoice amount. Changes are applied to all future emails of that type.
The Languages section lets administrators manage the interface translation files. Translations can be edited in-browser without accessing the server directly.
Click the avatar in the top-right corner to access your profile. Update your name, email address, or password from the Profile page. Changes take effect immediately.
All platform-level configuration lives under Settings in the admin sidebar. Settings are organized into five tabs.
| Setting | What it controls |
|---|---|
| Application Name | The platform name shown in the browser title bar, emails, and the navigation bar. |
| Contact Email | The platform-level reply-to address shown in outgoing emails. |
| Contact Phone | A contact number shown on landing and contact pages. |
| Logo | The platform logo shown in the top navigation. Upload a PNG or JPG file. |
| Allow Free Trial | Toggle to enable or disable the free trial for all new company registrations. |
| Trial Duration (days) | How many days a free trial lasts. Applied to all new trials. |
Configure the outgoing email server so that invoices, notifications, and password resets are delivered correctly.
| Field | Description |
|---|---|
| Mail Driver | The sending method — typically SMTP for most hosts. |
| Server | Your SMTP server hostname (e.g. smtp.gmail.com). |
| Port | The port your mail server uses (587 for TLS, 465 for SSL, 25 unencrypted). |
| Encryption | TLS or SSL depending on your mail provider. |
| Username | Your email account username (usually the full email address). |
| Password | Your email account password. Leave blank to keep the existing value. |
| From Address | The email address that appears in the "From" field of sent mail. |
| From Name | The sender name that recipients see (e.g. "PayLink"). |
Use the Test SMTP Connection panel to send a test email to any address and confirm delivery before going live.
Connect Stripe and PayPal so that companies can pay for subscriptions and clients can pay invoices online.
| Gateway | Fields required |
|---|---|
| Stripe | Publishable Key and Secret Key. Found in your Stripe dashboard under Developers → API Keys. |
| PayPal | Client ID and Secret. Mode can be set to Sandbox (testing) or Live (production). Found in your PayPal developer dashboard. |
Control how the platform appears in search engines and social media previews.
| Group | Settings |
|---|---|
| Meta | Page title, meta description, and robots directive (index/noindex). |
| Open Graph | OG title, description, and image for Facebook and LinkedIn previews. |
| Twitter Card | Twitter title, description, and image for Twitter/X previews. |
| Analytics | Google Analytics tracking ID. |
| Schema.org | Structured data JSON-LD block for rich search results. |
PayLink requires a scheduled task to run every minute to process subscription expirations and send automated emails. The Cron Job tab shows the exact command to add to your server's crontab. Copy the command shown and add it to your hosting cron manager.
From the admin panel, you can view every subscription across all companies, see payment history, and configure the plans companies can choose from.
The Subscriptions page shows all active and past subscriptions. Each row displays the company name, the plan or modules subscribed to, the payment method used, the amount paid, the start date, and the expiry date.
The Reports page provides a breakdown of revenue by date range, payment gateway, company, and module. Use the date filter to compare monthly totals and identify your top-earning modules.
Every time a company completes a payment, a notification appears in the admin panel's bell icon showing the company name, the amount paid, and the payment method used.
| Role | Who they are | What they can access |
|---|---|---|
| Company Owner | The person who registered the company. | All features in the active subscription, plus Setup and Subscription management. |
| General User | Any team member added by the owner. | Only the specific features the owner has assigned to them. |
Navigate to Setup → Users and click New User. Fill in the following:
| Field | Notes |
|---|---|
| Name | The team member's full name. Required. |
| Their login email address. Must be unique. Required. | |
| Password | Minimum 8 characters. The user can change this later from their profile. |
| Available for Support | Toggle on to include this person in the support ticket assignment pool. |
| Feature Permissions | Tick each module you want this person to be able to access. |
The Feature Permissions section lists every module in your active subscription. Tick a feature to grant access; untick it to revoke access. Changes take effect the next time the user loads a page.
| Scenario | What the user sees |
|---|---|
| Feature is ticked | That feature appears in their sidebar and they can navigate to it normally. |
| Feature is not ticked | The section is hidden from their sidebar. Direct access is also blocked. |
| No features ticked | The user can only reach the dashboard. No feature sections appear. |
Click the ⋮ menu on any user row and choose Edit to update their name, email, password, or permissions. Choose Delete to permanently remove the account. The company owner cannot be deleted.
| Question | Answer |
|---|---|
| Can a general user change their own password? | Yes, from the Profile page which is always accessible regardless of permissions. |
| What happens if I remove a feature from the subscription? | It becomes inaccessible to everyone, including the owner. Any permissions previously granted for it have no effect. |
| Can a general user see who else is in the company? | No. The Users management page is part of Setup, which is only accessible to the owner. |
Every client record in PayLink automatically creates a Client Portal login. Clients can log in to view their projects, invoices, meetings, and support tickets.
Click New Client in the top-right corner of the Clients page.
| Field | Description |
|---|---|
| Name | The client's full name or business name. Required. |
| Used as their portal login username. Must be unique. Required. | |
| Password | Sets the client's portal login password. Minimum 8 characters. Required on create. |
| Phone | Optional contact number. |
| Website | Optional website URL (must include https://). |
| Currency | The default currency for project invoices. Defaults to your company's currency setting. |
| Address | Street, city, state, country, and zip/postcode. |
| Notes | Internal notes — not visible to the client. |
Deleting a client also permanently removes their portal login and avatar. Projects, invoices, and other records linked to the client are not deleted — they remain but will show the client name as blank.
After logging in, clients see a dashboard with summary cards:
| Card | What it shows |
|---|---|
| Total Invoices | Total number of invoices raised for this client. |
| Amount Paid | Total value of invoices marked as paid. |
| Outstanding | Total value of unpaid invoices including overdue ones. |
| Open Tickets | Number of active support tickets. |
Clients can view all their projects from My Projects in the portal. Each project shows its status, priority, due date, and an overall progress bar.
Opening a project reveals two tabs:
- Features — An expandable accordion listing each project deliverable. Clients can read tasks, submit reviews, and send messages in the discussion thread.
- Payment Phases — A timeline of billing milestones showing which phases are paid, pending, or overdue.
For each project feature, clients can submit a review by clicking Add Your Review. They choose a decision (Approve, Request Changes, or Reject), an optional star rating, and an optional comment. Reviews are visible to both the client and your team.
Each feature has a live discussion thread. Clients can type messages, attach files (up to 20 MB), or record voice messages using the microphone icon. Team messages appear on the left; client messages appear on the right.
When your team posts a comment, the client receives an in-app notification and is taken directly to the relevant feature when they click it.
The Payment Phases tab shows a vertical timeline of billing milestones. Each phase card shows the title, amount due, due date (highlighted red if overdue), and status. A summary below the timeline shows Total, Paid, and Outstanding amounts.
The bell icon in the portal shows recent activity. Clients receive a notification whenever a team member posts in a feature discussion. Clicking it takes them directly to that feature with the discussion box highlighted.
Clients can open support tickets from the Support Center page in the portal. See the Support Tickets section for full details on the ticket workflow.
This section covers how companies register, start a free trial, choose modules, and pay for a subscription.
-
Submit Email. Enter the company email address. A verification link is sent and is valid for 24 hours.
-
Complete Account. After clicking the link, fill in the company name, owner's name, password, and choose the modules you want to use. The account is created, selected modules are assigned, and a free trial starts automatically. A welcome email is sent with login credentials and the trial expiry date.
| Detail | Value |
|---|---|
| Duration | Set by the platform admin in Settings (default: 14 days). |
| Cost | Free — no payment required. |
| Access | Full access to all selected modules for the duration. |
| Limit | One trial per company — cannot be reused after it expires or converts to a paid subscription. |
| Option | Period |
|---|---|
| 1 Month | Monthly billing |
| 3 Months | Quarterly billing |
| 6 Months | Half-yearly billing |
| 1 Year | Annual billing |
| 2 Years | Two-year billing |
The Checkout page shows the modules in your cart, the billing duration selector, and the order summary. Select Stripe (credit/debit card) or PayPal as the payment method, then click Pay Now. You are redirected to the gateway's payment page and returned to PayLink automatically after payment.
Once payment is confirmed, PayLink:
- Deactivates any previous subscription (history is preserved).
- Creates a new active subscription with the modules, duration, amount paid, start date, and expiry date.
- Clears the cart.
- Sends a confirmation email to the company owner.
- Notifies the platform admin in-app.
| Who | What they can access |
|---|---|
| Company Owner | All modules in the active subscription, plus Setup and Subscription management. |
| General User | Only the modules the owner has assigned to them from the User Management page. |
| No active subscription | Access to paid modules is blocked. The user is redirected to the Checkout page. |
Install new releases of PayLink through the browser without using the command line. Navigate to Setup → Version Update in the admin sidebar. The current installed version is shown at the top of the page.
Drag a release zip file onto the upload area, or click the area to open a file browser. The file must be named in the format paylink-v-X.X.zip and must not exceed 100 MB. Click Upload Package. The system validates the file structure before accepting it. Once uploaded, the package appears in the Uploaded Packages table.
- Click the play button next to an uploaded package.
- Choose whether to Run Migrations (enabled by default). Leave this on unless you plan to run database changes manually.
- Click Install Update. The system extracts all files, clears all caches, runs migrations if selected, records the installation, and removes the uploaded package file.
- The page reloads and the current version display updates to the new version.
The Uploaded Packages table lists packages that have been uploaded but not yet installed. You can install or delete each package from this table. Deleting removes the file without installing it.
A full log of every update installed through this page. Each row shows the version number, release notes (if included in the package), the administrator who installed it, and the date and time.