XprintPro — Print CRM
Payment receipt {{ payReceiptRef }} {{ payReceiptCompany }}
{{ f.label }} {{ f.value }}
Amount received {{ payReceiptAmount }}
delete
Delete {{ custDeleteName }}? This removes the customer from your list. A customer with jobs or invoices on file is deactivated instead, so nothing in your records is orphaned.
delete
Delete this {{ cfgDeleteWhat }}? {{ cfgDeleteLabel }} will no longer be available when creating jobs. Existing jobs keep their pricing.
delete
Delete this payment? {{ payDeleteName }} will be removed and the customer's balance recalculated. This cannot be undone.
{{ jobCardNo }} {{ jobCardTitle }} {{ jobCardStatus }}
{{ f.label }} {{ f.value }}
Total {{ jobCardAmount }}
Update Status {{ jobStatusFor }}
delete
Delete this job? {{ jobCancelName }} will be removed from the job list. Any payments already recorded against it stay on record. This cannot be undone.
Change Role {{ umRoleForName }}
Import Jobs {{ impName }}
error{{ impProblem }} check_circle{{ impDone }}
task_alt{{ impReadyCount }} ready block{{ impSkipCount }} will be skipped
LineJobCustomerAmountStatus
{{ r.line }} {{ r.title }} {{ r.customer }} {{ r.amount }} {{ r.note }}
{{ impMore }}
X Loading XprintPro…
{{ orgInitials }} {{ bizName }} Print CRM

Welcome back

Sign in to manage jobs, quotes and payments across the shop.
schedule {{ authNote }}
error{{ signError }}
Contact Admin
Trouble signing in? Contact your shop administrator.
boltProduction floor to invoice

Every job, quote and cedi in one place.

Track the press schedule, chase receivables and close the month without leaving the shop floor.

{{ s.value }} {{ s.label }}
{{ userInitials }} {{ userName }} {{ userEmail }}
Notifications {{ notifCount }} new
notifications_off You're all caught up
{{ apiNoteIcon }} {{ apiNote }}

{{ dashGreeting }}

Saks Initiative
public Company Time: {{ clock }}
insert_chart

{{ cashCardTitle }}

account_balance_wallet {{ cashReceivedLabel }}
{{ cashToday }} Money received from payments
credit_card {{ cashTxLabel }}
{{ txToday }} Number of payment transactions
receipt_long

Payment Breakdown

{{ row.method }} {{ row.amount }}
work

Job Summary

work Total Jobs
{{ totalJobs }} {{ jsTotalCaption }}
error Incomplete Jobs
{{ incompleteJobs }} Jobs pending or in progress
{{ stage.name }}
{{ stage.count }}

Income & Expense

Income
Expense
Income {{ ieIncomeTotal }}
Expense {{ ieExpenseTotal }}
Net {{ ieNetTotal }}
{{ tick }}
{{ m.label }}

Top Expenses

{{ topExpTotal }} this month
Top share {{ topExpLeadPct }} {{ topExpLeadName }}
{{ e.name }} {{ e.amount }} {{ e.pct }}
print

Jobs Due Soon

{{ job.title }} {{ job.customer }}
{{ job.status }} {{ job.due }}
event_available No jobs due yet.
credit_card

Outstanding Receivables

{{ receivablesTotal }}
{{ row.customer }} {{ row.invoice }} · {{ row.age }}
{{ row.amount }}
savings Nothing outstanding.
boltQuick tools

Get the shop moving in one click

Jump straight into the jobs, quotes and payments you run every day — no digging through menus.
{{ p.label }} {{ p.value }}
keyboard_command_key Shortcuts
Jump to any workspace
{{ cdInitials }}
{{ cdName }} {{ cdType }} {{ cdStatusLabel }}
call{{ cdPhone }} mail{{ cdEmail }} place{{ cdLocation }}
{{ s.icon }}{{ s.label }} {{ s.value }}
{{ cdTabLabel }}
{{ a.icon }}
{{ a.title }} {{ a.tag }} {{ a.detail }} · by {{ a.user }}
{{ a.date }} {{ a.time }}
{{ r.icon }}
{{ r.title }} {{ r.sub }}
{{ r.status }} {{ r.amount }}
inbox {{ cdEmptyTitle }} {{ cdEmptyDesc }}

{{ ncFormTitle }}

{{ ncFormSub }}
Customer Type *
Customer type affects pricing and service offerings.
Phone Number * {{ ncPhoneError }}

Customers

{{ custSubtitle }}
{{ s.icon }} {{ s.icon }}{{ s.label }} {{ s.value }} {{ s.hint }}
{{ selectedCount }} selected
 
call {{ c.phone }}
{{ c.type }} {{ c.statusLabel }} {{ c.balance }} {{ c.openJobs }}
group_off {{ custEmptyTitle }} {{ custEmptyHint }}
{{ resultLabel }}
{{ custPageLabel }}

New Job

Pick a category and service — the price is worked out for you.
calendar_today calendar_month
1Service category {{ jdCatCountLabel }}
2Customer & service
Customer
{{ jdLockedName }} lock
No customer matches that search.
Service
{{ jdSvcNoneText }}
3Specification & pricing
straightenDimensions
Size Preset
Unit
tunePrice Adjustments
Assign To

Job Card

Every service rendered to one customer on one day, with sizes and quantities.
{{ s.icon }}{{ s.label }} {{ s.value }}
{{ jcHeading }}
{{ jcCountLabel }}
Job noServiceCategorySizeQtyAmount
{{ r.no }}
{{ r.service }} {{ r.status }}{{ r.dateLabel }}
{{ r.category }} {{ r.size }} {{ r.qty }} {{ r.amount }}
Total {{ jcTotalQty }} {{ jcTotalAmount }}
assignment {{ jcEmptyTitle }} {{ jcEmptyDesc }}

Job Management

Today's Jobs {{ jobDate }}
New job by category
{{ jobPageLabel }}
Job no.Job / serviceCustomerCategoryStatusAmount
{{ j.no }}
{{ j.title }} Due {{ j.due }} · {{ j.qty }}
{{ j.customer }} {{ j.category }} {{ j.status }} {{ j.amount }}
inventory_2 No jobs found for {{ jobDate }} Try adjusting your filters.
{{ qtTitle }}
{{ qtCustEmptyNote }}
{{ qtDueLabel }}
Item Quantity Price Amount Actions
{{ l.amount }}
Payment instruction
Subtotal {{ qtSubtotal }}
{{ qtDiscountValue }}
{{ qtVatValue }}
Total {{ qtTotal }}
Amount Due {{ qtTotal }}

Quotes & Invoices

Create estimates and turn approved ones into jobs
{{ docResultLabel }}
Doc no.TypeDescriptionCustomerIssuedDueStatusAmount
{{ d.no }} {{ d.type }}
{{ d.title }} Balance {{ d.balance }}
{{ d.customer }} {{ d.date }} {{ d.due }} {{ d.status }} {{ d.amount }}
description No documents found Try adjusting your search, customer or date range.

Payments

Log and reconcile every cedi that comes in
Record Payment Enter payment details
personCustomer {{ rpCustLabel }} lock account_balance_wallet{{ rpOwedNote }}
Payment Amount
credit_cardPayment Method
calendar_todayPayment Date calendar_month
descriptionNotes (Optional)
account_balance_wallet{{ payTotalLabel }}
{{ payTotal }} {{ payTotalNote }}
receipt_longTransactions
{{ payCount }} Payment records
hourglass_topPending clearance
{{ payPending }} Cheques awaiting confirmation
leaderboardTop method
{{ payTopMethod }} Highest value channel
{{ m.icon }} {{ m.name }} {{ m.amount }}
{{ m.pct }} of collections
{{ payResultLabel }}
ReferenceCustomerInvoiceMethodReceivedStatusAmount
{{ p.ref }}
{{ p.customer }} Logged by {{ p.user }}
{{ p.invoice }} {{ p.icon }}{{ p.method }}{{ p.account }}
{{ p.date }} {{ p.time }}
{{ p.status }} {{ p.amount }}
payments No payments found Try a different method, customer or date range.

Receivables

{{ arOutstanding }} outstanding · average age {{ arAvgDays }}
mark_email_read {{ arToast }}
credit_cardOutstanding
{{ arOutstanding }} Across the current filter
descriptionTotal invoiced
{{ arInvoiced }} Value of open invoices
savingsPart payments
{{ arCollected }} Already collected
warningOver 30 days
{{ arOverdue }} Needs chasing this week
{{ arResultLabel }}
InvoiceCustomerDueAgeInvoicedPaidBalance
{{ r.invoice }}
{{ r.customer }} {{ r.title }}
{{ r.dueLabel }} {{ r.days }} {{ r.amount }}
{{ r.paid }}
{{ r.balance }}
task_alt Nothing outstanding No open invoices match this ageing band or customer.

{{ expFormTitle }}

Record what was spent, who it went to, and how it was paid.
Category
Payment method

Expenses

Track what the shop spends against what it earns
trending_downTotal spend
{{ expTotal }} Across the current filter
check_circleSettled
{{ expPaid }} Already paid out
hourglass_topAwaiting payment
{{ expPending }} Bills still due
leaderboardBiggest category
{{ expTopCategory }} {{ expCount }} entries recorded
{{ s.icon }} {{ s.name }} {{ s.amount }}
{{ s.pct }} of spend
{{ expResultLabel }}
ReferenceExpenseCategoryVendorDateStatusAmount
{{ e.ref }}
{{ e.item }} {{ e.account }} · logged by {{ e.user }}
{{ e.icon }}{{ e.category }} {{ e.vendor }} {{ e.date }} {{ e.status }} {{ e.amount }}
lockEditing expenses needs permission
receipt_long No expenses found Try a different category, status or date range.

Reports

{{ repTypeLabel }} · {{ repRangeLabel }}
{{ k.label }}
{{ k.value }} {{ k.delta }}
{{ k.note }}

{{ repGroupTitle }}

Monthly target {{ repTarget }}
{{ g.name }}
{{ g.count }} {{ g.value }}
bar_chart {{ repGroupsEmptyNote }}
SAKS INITIATIVE Profit & Loss Statement {{ plPeriod }} · accrual basis, job-based revenue
Net profit {{ plNet }} Net margin {{ plNetMargin }}
Cost of sales Operating expenses Net profit
Revenue
{{ r.name }} {{ r.pct }} {{ r.value }}
Total Revenue {{ plTotalRev }}
Cost of sales
{{ r.name }} {{ r.pct }} ({{ r.value }})
Total Cost of Sales ({{ plTotalCogs }})
Gross Profit Gross margin {{ plGrossMargin }}
{{ plGross }}
Operating expenses
{{ r.name }} {{ r.pct }} ({{ r.value }})
Total Operating Expenses ({{ plTotalOpex }})
Net Profit Net margin {{ plNetMargin }}
{{ plNet }}
Total revenue {{ plTotalRev }}
Total expenses {{ plTotalExpenses }} {{ plEntryNote }}
Gross margin {{ plGrossMargin }}
Net margin {{ plNetMargin }}

{{ cfgSectionTitle }}

{{ cfgSectionDesc }}
{{ cfgSvcCountLabel }}
ServiceCategoryUnitBase price 
{{ r.icon }}
{{ r.name }} {{ r.code }}
{{ r.category }} {{ r.unit }} {{ r.price }}
manufacturing {{ cfgSvcEmptyTitle }} {{ cfgSvcEmptyHint }}
{{ r.icon }}
{{ r.name }} {{ r.desc }}
{{ r.services }} {{ r.jobs }}
{{ r.initial }}
{{ r.name }} {{ r.desc }}
schedule{{ r.terms }} group{{ r.used }}
Preset nameDimensionsUsed forUnitPriceActions
crop_free {{ r.name }}
{{ r.dims }} {{ r.usedFor }} {{ r.price }}

{{ cfgFormTitle }}

{{ cfgFormSubtitle }}

Service Information

Category *

Pricing Tiers

straighten Dimensions & materials
Unit
Material
{{ c.label }} {{ c.value }}
Suggested rate {{ cfgFormTotal }}

Service Status

Control whether this service is active and available

Status Tracking

Mark this service if its jobs move through the status lifecycle (pending → in progress → completed).
Payment terms
Unit
Dimensions {{ cfgFormDimsPreview }}

Financial Settings

{{ finTotalBalance }} across {{ finAccountCount }} active accounts

{{ finFormTitle }}

warning {{ finUnlinkedNote }}
{{ a.icon }}
{{ a.name }} Primary
{{ a.detail }}
{{ a.status }}
{{ a.linkIcon }}{{ a.linkLabel }} {{ a.methods }}
south_west{{ a.moneyIn }} in north_east{{ a.moneyOut }} out
{{ a.movementNote }} · opening {{ a.opening }}
Current balance {{ a.balance }}
Charges {{ a.fees }}

Expense categories

{{ finSpendTotal }} recorded spend
{{ c.icon }}
{{ c.name }} {{ c.count }}
{{ c.total }}

Cost centers

{{ finBudgetTotal }} total budget
Cost centerMapped categoriesBudgetSpentRemainingUtilisation
{{ c.name }} {{ c.code }} · {{ c.owner }}
{{ c.categories }} {{ c.budget }} {{ c.spent }} {{ c.remaining }}
{{ c.pct }}

{{ setPageTitle }}

{{ setPageDesc }}
check_circleChanges saved
X
{{ bizName }} {{ bizAddress }}

Contact person

{{ umEditTitle }} {{ umEditSub }}
warning{{ umSeatError }}
Role
Plan Usage {{ umUsed }} / {{ umSeats }}
group
{{ umRemaining }}
Recent Activity {{ umActiveRecent }} / {{ umUsed }}
monitoring
Active in last 7 days
Permission Issues {{ umIssues }}
warning
Users without roles

{{ umListTitle }}

UserRoleLast LoginActions
{{ u.name }} {{ u.email }} {{ u.role }} {{ u.lastLogin }}
group_off No {{ umEmptyWord }} users Users you suspend will appear here.

Roles

{{ permRoleSummary }}

Permissions

for {{ permRoleName }}
{{ permSaveNoteIcon }}{{ permSaveNote }}
{{ g.count }}
{{ m.name }} {{ m.count }}
shield

Two-Factor Authentication

Add an extra layer of security to your account with email-based verification codes.
Email OTP Authentication Receive verification codes via email when logging in.
{{ twoFaBadge }}
{{ twoFaNoteIcon }} {{ twoFaNote }}
lock

Password Security

Manage your account password and security preferences.
Password Last updated: {{ passwordUpdated }}
Change password in User Management
vpn_key

Session Management

Monitor and manage your active sessions across devices.
Current Session Active since: {{ sessionSince }}
Active
devices
{{ s.device }} {{ s.place }} · {{ s.when }}
This device

Appearance & display

Data & backup

check_circle{{ backupNote }}
cloud_done
{{ b.name }} {{ b.detail }}
{{ b.status }}
sms SMS service {{ smsNotifStatus }} {{ smsServiceLabel }}
mark_email_readSent this month {{ smsSentCount }} messages delivered
errorFailed {{ smsFailedCount }} retry from the message log

Custom sender ID

Messages sent through your own provider account are billed directly by that provider. Update the connection details under API Settings.

Notification triggers

Choose which events send an automatic message.
{{ t.name }} {{ t.desc }} {{ t.stateLabel }}
{{ tpl.title }} {{ tpl.desc }} {{ tpl.badge }}
Preview {{ tpl.preview }}
{{ tpl.testNoteIcon }}{{ tpl.testNote }}
{{ smsTplNoteIcon }}{{ smsTplNote }}
api

Gateway connection

{{ smsApiStatusIcon }}{{ smsApiStatus }}
Point XprintPro at your provider's HTTP API. Credentials are stored against your company only.
{{ c.label }}
{{ smsApiNoteIcon }}{{ smsApiSavedNote }}

Delivery webhook

Give this URL to your provider so delivery receipts update the message log.
{{ smsWebhookUrl }}
terminal

Send a test message

{{ smsApiMethod }} · {{ smsApiAuth }}
{{ smsApiCurl }}
RecipientMessageSentStatus
{{ m.to }} {{ m.number }} {{ m.text }} {{ m.note }} {{ m.when }} {{ m.status }}
forum No messages sent yet Every message the system sends will be listed here.

Bulk SMS

Send one message to a group of customers.
Audience
{{ smsBulkCost }} estimated cost · {{ smsBulkCount }} recipients
{{ smsBulkChars }}
check_circle{{ smsBulkNote }}
construction

{{ stubTitle }}

This module isn't built yet. Tell me what it should contain and I'll design it next.

Quick create