Portals
How the portals work
The customer and carrier portals, how partners sign in separately from staff, how you invite them, and why nothing they send changes a record until your team approves it.
Harbor TMS gives your partners two portals of their own: one for customers (the shippers you bill) and one for carriers (the trucking companies you hire). Partners see only their own freight, and they sign in through a separate door from your staff, with separate accounts and separate sessions. Whatever they send you is a proposal for your team to approve.
- Sign-in page
- /portal/login (not the staff sign-in)
- Accounts
- Created by invitation from Portal control. Partners cannot sign themselves up
- Seats
- Portal users do not use your plan's seats
- Who invites
- Company · edit (Owner and General Manager by default)
- Rule
- R8: portal submissions are proposals
Two portals
| Customer portal | Carrier portal | |
|---|---|---|
| Who | Your customers' contacts | Your carriers' contacts |
| Sees | Loads where their company is the customer | Loads assigned to their carrier |
| Main jobs | Follow containers, download invoices and statements, pay by wire, query a rate, message the desk | Send PODs, submit invoices, acknowledge appointments, accept delivery orders, answer rate requests, check payments |
| Details | Customer portal | Carrier portal |
Which parts each partner can use is set by the switches on Portal control.
Separate from staff
- Partners sign in at /portal/login, never at the staff sign-in. A partner account cannot open the panel, and a staff account cannot sign in to a portal.
- Failed portal sign-ins are counted separately, so a partner typing wrong passwords never locks a staff account.
- The rules are the same as for staff: 5 wrong passwords for one email, or 20 from one network address, within 15 minutes pauses sign-in for 15 minutes ("Too many attempts. For your safety, sign-in is paused for 15 minutes.").
- A session lasts 12 hours, or 30 days with Keep me signed in.
- Each portal sign-in is recorded in your audit log as
portal.signinand shown on Security as "Portal sign-in".
Invite a partner
Open Portal control
Administration → Portal control.Fill in Partner accounts
Choose the Company (any customer or carrier), then the contact's Contact name and Email.Click Send invite
The contact gets an email with a link to set their password. The link works for 7 days.They set a password
The link opens /portal/password/…, where they choose a Password and Confirm password, then sign in with it: "Your password is set. Sign in with it now."
Partner passwords follow the same rules as staff: 8 to 128 characters, a capital letter and a digit, and not a common password. Setting a password spends the link and every other unused link for that account.
From Portal control you can also Resend invite, Send reset link, Switch off or Switch on an account. See Portal control.
Signing in
At /portal/login a partner enters their Email address and Password. The page footer reads: "For customers and carriers of this brokerage. No account? Ask your contact there for an invite."
| Message | Why |
|---|---|
| "That email or password is not right." | Wrong details, or the account is switched off. The message is the same either way, so nobody learns which emails exist |
| "The portal is closed for your company right now. Contact us." | The See their shipments switch for that side is off on Portal control |
| "This account is suspended… Contact support to reopen it." | Your own Harbor account has been suspended by the platform |
| "Too many attempts. For your safety, sign-in is paused for 15 minutes." | Lockout |
Forgot password
Forgot password? on the sign-in page opens /portal/forgot. The partner enters their Email address and clicks Reset password. If the email belongs to an account, a link is on its way; it works for one hour. The page says the same thing whether or not the email exists. Requests from one network address are limited to 20 an hour.
Problems with a link
| Message | What to do |
|---|---|
| "The link is not valid. Check you copied all of it, or ask for a new one." | Copy the whole link from the email |
| "This link was already used. If that was you, sign in." | Sign in with the password already chosen |
| "This link has expired. Ask your contact for a new invite, or request a new reset link." | Use Send a new link, or ask your desk to resend the invite |
Proposals, not changes
| Partner sends | Where it goes | What approval does |
|---|---|---|
| POD (carrier) | Approvals | Attaches the POD to the load |
| Invoice (carrier) | Approvals | Records the carrier's invoice number and date on the load |
| Appointment acknowledgement (carrier) | Approvals | Marks the appointment acknowledged |
| Delivery order acceptance (carrier) | Approvals | Marks the delivery order signed |
| Tracking update (carrier) | Approvals | Adds a position report to the load |
| Rate query (customer) | Approvals | Your comment is the answer; a changed rate is reissued on the load |
| Rate request answer (carrier) | The rate request itself | Nothing on a load; a person awards a price (R7) |
| Message (customer) | The load's message thread | Nothing; it is a conversation. See Shipment messages |
Everyone who can approve is notified of each submission. A submission is only applied to the load named on it, and only if that load is still assigned to the partner who sent it.
What partners never see
- Anyone else's loads. Each portal query is limited to the partner's own company in the database query itself.
- What you pay the carrier (customers) or what you charge the customer (carriers). Customers never see carrier bills, carrier rate confirmations, dispatch sheets or delivery orders.
- Your other carriers' prices on a rate request.
A shipment that is not theirs shows as "not found", never "not allowed".
When your account is read-only
If your own Harbor subscription is read-only (see Billing), partners can still sign in and look, but anything they try to send is refused: "Your account is read-only until billing is fixed."