From 945c6d8ae285ec3e9e7aea56ea8d8e9d27404b4b Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sun, 19 Apr 2026 21:29:04 +0000 Subject: [PATCH] Changes Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com> --- src/routes/settings.import.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/routes/settings.import.tsx b/src/routes/settings.import.tsx index e2661c2..5f8b29d 100644 --- a/src/routes/settings.import.tsx +++ b/src/routes/settings.import.tsx @@ -890,13 +890,19 @@ function ImportPage() { } } - // required check (defer case_id for time/expense — async step may create one) + // required check (defer case_id for time/expense — async step may create one; + // defer client_id for invoices — async step may auto-create an archived client) const deferCaseId = (cfg.table === "time_entries" || cfg.table === "expenses") && !transformed.case_id && (transformed._caseext || transformed._casenum || transformed._casename); + const deferClientId = + cfg.table === "invoices" && + !transformed.client_id && + (transformed._clientext || transformed._clientname); const missing = cfg.required.find((k) => { if (k === "case_id" && deferCaseId) return false; + if (k === "client_id" && deferClientId) return false; return !transformed[k] && transformed[k] !== 0; }); if (missing) { bumpSkip(`missing required: ${missing}`); continue; }