mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-30 06:28:12 +00:00
feat(backoffice): flag customers whose registration was typed, not fetched
Two kinds of customer reach approval with a registration nobody checked: a co-operative union or farm, which holds no trade licence, and a foreign investor, whose licence comes from the Investment Commission rather than the trade registry. Both were reviewed on screens that read exactly like an eTrade-verified company's, with only a small Registration field naming the difference. They now carry an orange "Manual entry" badge in the customers list and beside the company name, and their overview opens with an alert saying the name, registration and address below are the customer's own statement — pointing the reviewer at the paper that stands in for the licence (the co-operative certificate, or the investment licence) before approving. Approval itself is not blocked.
This commit is contained in:
@@ -50,6 +50,7 @@ import {
|
||||
CompanyTimeline,
|
||||
CompanyTypeBadge,
|
||||
InvoiceStatusBadge,
|
||||
ManualRegistrationBadge,
|
||||
PaymentStatusBadge,
|
||||
PersonCard,
|
||||
ProfileApprovalActions,
|
||||
@@ -744,6 +745,10 @@ export default function CustomerDetailPage() {
|
||||
) : (
|
||||
<CompanyStatusBadge status={company.status} />
|
||||
)}
|
||||
<ManualRegistrationBadge
|
||||
cooperative={company.cooperative}
|
||||
investorLicence={company.investorLicence}
|
||||
/>
|
||||
<ChangeRequestPendingBadge companyId={company.id} />
|
||||
</Group>
|
||||
}
|
||||
@@ -792,6 +797,25 @@ export default function CustomerDetailPage() {
|
||||
</Alert>
|
||||
)}
|
||||
|
||||
{/* Nothing below came from eTrade for these customers. A
|
||||
co-operative holds no trade licence at all; a foreign investor's
|
||||
comes from the Investment Commission, not the trade registry.
|
||||
Either way every registration field was typed, and the reviewer
|
||||
is the only check there is. */}
|
||||
{(company.cooperative || company.investorLicence) && (
|
||||
<Alert
|
||||
color="orange"
|
||||
variant="light"
|
||||
radius="md"
|
||||
icon={<AlertTriangle size={18} />}
|
||||
title="Registration entered by hand — not verified against eTrade"
|
||||
>
|
||||
{company.cooperative
|
||||
? "This company onboarded as a co-operative union or farm, which holds no trade licence, so eTrade had no record to look its TIN up in. The company name, registration and address below are the customer's own statement. Check them against the Co-operative Registration Certificate on the Documents tab before approving."
|
||||
: "This company onboarded on a foreign investment licence, so we could not look its TIN up on eTrade. The company name, registration and address below are the customer's own statement. Check them against the Investment Licence on the Documents tab before approving."}
|
||||
</Alert>
|
||||
)}
|
||||
|
||||
<ChangeRequestReview company={company} />
|
||||
|
||||
<KpiStrip
|
||||
@@ -861,7 +885,9 @@ export default function CustomerDetailPage() {
|
||||
value={
|
||||
company.cooperative
|
||||
? "Co-operative union / farm (no trade licence)"
|
||||
: "eTrade trade licence"
|
||||
: company.investorLicence
|
||||
? "Foreign investment licence — typed by the customer, not from eTrade"
|
||||
: "eTrade trade licence"
|
||||
}
|
||||
/>
|
||||
<InfoField label="Address" value={company.address} />
|
||||
|
||||
@@ -28,6 +28,7 @@ import { useNavigate } from "react-router-dom";
|
||||
import {
|
||||
CompanyNationalityBadge,
|
||||
CompanyStatusBadge,
|
||||
ManualRegistrationBadge,
|
||||
ProfileChips,
|
||||
formatDate,
|
||||
} from "@/components/customers";
|
||||
@@ -142,6 +143,10 @@ export default function CustomersPage() {
|
||||
{c.name}
|
||||
</Text>
|
||||
<CompanyNationalityBadge nationality={c.nationality} />
|
||||
<ManualRegistrationBadge
|
||||
cooperative={c.cooperative}
|
||||
investorLicence={c.investorLicence}
|
||||
/>
|
||||
</Group>
|
||||
<Text size="xs" c="dimmed">
|
||||
TIN {c.tin}
|
||||
|
||||
Reference in New Issue
Block a user