PageSourceSearch

https://clients.midwest.cpa/assets/ledgerAttachmentsQueryKeys-B3eaALNq.js

js midwest.cpa collected 2026-10-04 21:03:46 UTC 43,257 bytes, 96 lines download raw bytes

1
2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="bcda75c4-c2ea-5d4a-b302-5a3b2195669f")}catch(e){}}();
3import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{$u as t,Fc as n,Ji as r,La as i,Ra as a,Rc as o,Tr as s,oa as c,xr as l}from"./api-yJ3zfjyJ.js";import{i as u,t as d}from"./react-DjXLjDm_.js";import{s as f}from"./sentry-DKIEfPU-.js";import{t as p}from"./es-BHPBQXI6.js";import{_n as m,dr as h,yn as g}from"./antd-CSeLy0qZ.js";import{k as _}from"./utils-CIQZkj6k.js";import{t as v}from"./useQuery-ClgKKUF0.js";import{t as ee}from"./useMutation-CLZDro4y.js";import{n as y}from"./QueryClientProvider-BmsvgAHE.js";import{a as te,i as ne}from"./legacyRouterAdapters-BIdq8y4G.js";import{_ as b,f as re,r as ie,t as x}from"./useClient-hCvutf_a.js";import{t as S}from"./useAppSelector-aco8lS09.js";import{H as ae,Z as oe,w as se}from"./lodash-CrMziKg7.js";import{t as C}from"./colors-C2gF8DY0.js";import{Zi as ce}from"./userAction-Cd4w5LV_.js";import{An as le}from"./icons-DO3IpI1M.js";import{t as w}from"./useFeatureFlags-MdFxsiNq.js";import{A as ue,B as de,Dt as fe,It as pe,L as me,M as he,N as ge,P as _e,R as ve,U as ye,Ut as be,Yt as T,_t as xe,g as Se,it as Ce,j as we,yt as Te}from"./PracticeAIChatStreamingContext-Bb8xS-vP.js";import{a as Ee,n as De}from"./streaming-TWWELrqE.js";import{Ht as Oe,Y as ke,t as Ae}from"./client-D8sxgTq4.js";import{R as je,ot as Me}from"./practice-BzhrfpKg.js";import{t as Ne}from"./QueryKeyFactory-B634osPu.js";import{Nt as Pe}from"./useClientPortalMessaging-CMAEw-Pp.js";import{nt as Fe,rt as Ie}from"./utils-_-8zKHSC.js";import{u as Le}from"./attachable-CusEidmq.js";import{S as Re}from"./receiptCapture-CQCPyBv4.js";import{a as ze,s as Be}from"./QueryKeyFactory-BVcrFo3b.js";import{y as Ve}from"./useKeeperAuth-NT9IcCeP.js";import{o as He}from"./types-Dstt0YmL.js";import{t as E}from"./useBankFeedAccounts-B_-i2M4L.js";import{s as Ue}from"./asyncJobs-DVPS7vn6.js";import{n as We}from"./useAccounts-pvgAytmR.js";import{s as Ge}from"./text-CscKpmhY.js";var D=e(u(),1),O=d(),Ke=function(e){return e.Disconnected=`DISCONNECTED`,e.Disconnecting=`DISCONNECTING`,e.ErrorInstitution=`ERROR_INSTITUTION`,e.ErrorProvider=`ERROR_PRO
3VIDER`,e.ErrorRepairable=`ERROR_REPAIRABLE`,e.ErrorService=`ERROR_SERVICE`,e.Initializing=`INITIALIZING`,e.Synced=`SYNCED`,e.Syncing=`SYNCING`,e.Upgrading=`UPGRADING`,e}({}),qe=function(e){return e.Client=`CLIENT`,e.Practice=`PRACTICE`,e}({}),Je=function(e){return e.Finicity=`FINICITY`,e.Mx=`MX`,e.Plaid=`PLAID`,e}({}),Ye=function(e){return e.Pending=`Pending`,e.AutoClassified=`AutoClassified`,e.MediumConfidence=`MediumConfidence`,e.Uncertain=`Uncertain`,e.NewVendor=`NewVendor`,e.PotentialMatches=`PotentialMatches`,e.Rules=`Rules`,e}({}),Xe=function(e){return e.Idle=`Idle`,e.InferringVendor=`InferringVendor`,e.Matching=`Matching`,e.Posting=`Posting`,e}({}),Ze=function(e){return e.Transfer=`Transfer`,e.CreditCardPayment=`CreditCardPayment`,e}({}),k=function(e){return e.Pending=`Pending`,e.Posted=`Posted`,e.Excluded=`Excluded`,e}({}),Qe=function(e){return e.Unselected=`Unselected`,e.Manual=`Manual`,e.PostingTypePreset=`PostingTypePreset`,e.Preset=`Preset`,e.Suggested=`Suggested`,e.MultipleSuggestions=`MultipleSuggestions`,e.Thinking=`Thinking`,e}({}),$e=function(e){return e.MONEY_RECEIVED=`MONEY_RECEIVED`,e.MONEY_SPENT=`MONEY_SPENT`,e}({}),et=function(e){return e.MM_DD_YYYY=`MM/DD/YYYY`,e.DD_MM_YYYY=`DD/MM/YYYY`,e.YYYY_MM_DD=`YYYY-MM-DD`,e}({}),tt=({clientId:e,receiptId:t,multiTransaction:n})=>`${n?`ai-multi-transaction`:`ai-transaction`}-receipt-${e}-${t}`,nt=e=>e?.status===`streaming`||e?.status===`submitted`,rt=(e,t)=>{let n=b(),r=t??n,{data:i,isLoading:a,isFetching:o,refetch:s}=v({queryKey:Be.receiptChat(r,e),queryFn:e?()=>Re(r,e):_,enabled:!!e,refetchOnMount:`always`}),c=(0,D.useCallback)(async()=>{let{data:e}=await s();return e?e.chat?.latestRun??null:void 0},[s]);return{chat:i?.chat,modelKey:i?.chat?.model,latestRun:i?.chat?.latestRun??null,isLoading:a,isFetching:o,refetch:s,refetchLatestRun:c}},it=e=>{let{chat:t,isLoading:n,latestRun:r,refetchLatestRun:i}=rt(e.receiptId,e.clientId);return n?null:(0,O.jsx)(ot,{...e,initialMessages:t?.messages??at,latestRun:r,refetchLatestRun:i})},at=[],ot=({clientId:e,receiptId:t,multiTransaction:n,initialMessages:r,latestRun:i,refetchLatestRun:a,onStreamUpdate:o,onFinish:s})=>{let c=tt({clientId:e,receiptId:t,multiTransaction:n}),{releaseAiChatWorkerRuns:l}=w(),u=(0,D.useRef)(null),d=Se({chat:()=>u.current,latestRun:i,refetchLatestRun:a,enabled:l}),f=n?`multi-transaction-chat`:`chat`,p=(0,D.useMemo)(()=>De({url:`client/${e}/receipts/${t}/${f}`,onSend:d.onTurnStart}),[e,t,f,d.onTurnStart]),[m]=(0,D.useState)(he),h=Ee({id:c,transport:p,sendAutomaticallyWhen:m,onFinish:e=>{d.onFinish(e),s(c,e)},onError:ue,messages:d.initialMessages(r),resume:d.resume});u.current=h;let g=(0,D.useRef)(h);g.current=h;let _=(0,D.useRef)(r);(0,D.useEffect)(()=>{if(_.current===r)return;_.current=r;let e=g.current;e.status!==`streaming`&&e.status!==`submitted`&&(!ge(e.messages)||we(e.messages,r))&&e.setMessages(r)},[r]);let{hasLocalRun:v}=d;return(0,D.useEffect)(()=>{o(c,{...g.current,hasLocalRun:v})},[c,h.status,h.messages,h.error,v,o]),(0,D.useEffect)(()=>()=>o(c,null),[c,o]),null},st=(0,D.createContext)(null),ct=({children:e})=>{let{releaseAiChatWorkerRuns:t,releaseCurrentBankFeedsBackendProcessing:n}=w(),[r,i]=(0,D.useState)(new Map),[a,o]=(0,D.useState)(new Map),s=(0,D.useRef)(new Map),c=(0,D.useRef)(new Map),l=(0,D.useRef)(r);l.current=r;let u=(0,D.useRef)({releaseAiChatWorkerRuns:t,releaseCurrentBankFeedsBackendProcessing:n});u.current={releaseAiChatWorkerRuns:t,releaseCurrentBankFeedsBackendProcessing:n};let d=(0,D.useCallback)(e=>{let t=tt(e),n={clientId:e.clientId,receiptId:e.receiptId,multiTransaction:e.multiTransaction};return c.current.set(t,e),s.current.delete(t),i(e=>{let r=new Map(e);return r.set(t,n),r}),()=>{s.current.set(t,n),i(e=>{if(!e.has(t))return e;let n=new Map(e);return n.delete(t),n})}},[]),f=(0,D.useCallback)((e,t)=>{t===null&&(s.current.delete(e),l.current.has(e)||c.current.delete(e)),o(n=>{let r=n.get(e);if(t===null){if(!r)return n;let t=new Map(n);return t.delete(e),t}if(r&&r.status===t.status&&r.messages===t.messages&&r.error===t.error&&r.hasLocalRun===t.hasLocalRun)return n;let i=new Map(n);return i.set(e,t),i})},[]),p=(0,D.useCallback)((e,t)=>{let n=c.current.get(e);n&&(u.current.releaseAiChatWorkerRuns&&t.isError||(_e(t.message,{type:`client`,clientId:n.clientId},void 0,{clientId:n.clientId,date:n.date}
3,u.current.releaseCurrentBankFeedsBackendProcessing),n.onFinish?.(t)))},[]),m=(0,D.useMemo)(()=>{let e=new Map(r);return s.current.forEach((t,n)=>{nt(a.get(n))&&e.set(n,t)}),e},[r,a]),h=(0,D.useMemo)(()=>({streams:a,register:d}),[a,d]);return(0,O.jsxs)(st.Provider,{value:h,children:[[...m.entries()].map(([e,t])=>(0,O.jsx)(it,{...t,onStreamUpdate:f,onFinish:p},e)),e]})},lt=()=>{let e=(0,D.useContext)(st);if(!e)throw Error(`useReceiptChatStreaming must be used within ReceiptChatStreamingProvider`);return e},A={all:[`recurring-questions`],getAll:e=>[...A.all,`getAll`,e],preview:({clientId:e,questionId:t,contactId:n})=>[...A.previewPrefix(e,t),n],previewPrefix:(e,t)=>[...A.all,`preview`,e,t]},j=[`close-next`],ut=[...j,`tasksLatest`],dt={all:j,closeByDate:(e,t)=>[...j,`closeByDate`,e,t],clientPortalPosts:e=>[...j,`clientPortalPosts`,e],tasksLatest:(e,t,n,r,i)=>[...dt.tasksLatestPrefix(e),t,n,r,i],tasksLatestAll:ut,tasksLatestPrefix:e=>[...ut,e]},ft=()=>{let e=x(e=>e?.platform),{releaseEditTransactions:t}=w(),{product:n}=Ve();return!t||e==null||!ie.has(e)?!1:He(n,`CORE`)},pt=!1,mt=e=>{pt=e},ht=()=>pt;function M(){let{releaseCurrentBankFeedsBackendProcessing:e}=w(),t=x(e=>e?.platform);return e&&t===re.qbo}function N(e,t,n={}){let{isMultiCurrencyEnabled:r=!1,useBillAndInvoiceFullAmount:i=!1}=n,a=e.entity_value_id,o=e.transaction_type_value,s=r&&e.reporting_amount_value?e.reporting_amount_value:e.amount_value,c=r&&e.neg_open_bal&&e.currency_rate?e.neg_open_bal*e.currency_rate:e.neg_open_bal,l=r&&e.credit_value&&e.currency_rate?e.credit_value*e.currency_rate:e.credit_value,u=r&&e.debit_value&&e.currency_rate?e.debit_value*e.currency_rate:e.debit_value;return a?.startsWith(`Purchase-`)&&o===`Credit Card Credit`?s:a?.startsWith(`Bill-`)?i?s&&-s:c&&-c:a?.startsWith(`Invoice-`)?i?s:c&&-c:a?.startsWith(`Purchase-`)?e.split_id===t?s:s&&-s:a?.startsWith(`Deposit-`)?e.split_id===t?s&&-s:s:a?.startsWith(`BillPayment-`)?s&&-s:a?.startsWith(`Payment-`)?s:a?.startsWith(`Transfer-`)||a?.startsWith(`CreditCardPayment-`)?e.account_id===t?s&&-s:s:a?.startsWith(`TaxPayment-`)?s&&-s:a?.startsWith(`JournalEntry-`)||a?.startsWith(`PayrollCheck-`)?u||l&&-l||s:a?.startsWith(`SalesReceipt-`)?s:a?.startsWith(`SalesTaxPayment-`)?s&&-s:a?.startsWith(`PayrollRefund-`)?s:u&&-u||l||s}var P=e=>{let t=e.entity_value_id||``;return![`Journal Entry`,`Payroll Check`].includes(e.transaction_type_value??``)||_t(t)?t:`${t}-${e.idx}`},gt=(e,t,n)=>e.map(e=>{let r=N(e,t,{isMultiCurrencyEnabled:!1,useBillAndInvoiceFullAmount:!0}),i=N(e,t,{isMultiCurrencyEnabled:n,useBillAndInvoiceFullAmount:!0}),a=N(e,t,{isMultiCurrencyEnabled:!1}),o=N(e,t,{isMultiCurrencyEnabled:n});return{...e,entity_value_id:P(e),amount_value:r,reporting_amount_value:i,neg_open_bal:a,...o!==a&&{reporting_neg_open_bal:o}}}),_t=e=>(e.match(/-/g)||[]).length===2&&(e.startsWith(`JournalEntry-`)||e.startsWith(`PayrollCheck-`)),vt=e=>{if(!_t(e))return null;let t=e.lastIndexOf(`-`),n=e.substring(0,t),r=parseInt(e.substring(t+1),10);return Number.isNaN(r)?null:{baseId:n,idx:r}},yt=e=>{let t=e.transaction_type_value?.trim();return t?e.num_value?`${t} (${e.num_value})`:t:``},F=e=>!!e.entity_value_id?.startsWith(`Bill-`),I=e=>!!e.entity_value_id?.startsWith(`Invoice-`),bt=e=>F(e)&&e.neg_open_bal!==0,xt=e=>I(e)&&e.neg_open_bal!==0,St=e=>bt(e)||xt(e),Ct=e=>F(e)||I(e),wt=(e,t,n)=>n?!!e.currency_code&&e.currency_code!==t:!1,Tt=(e,t,n)=>n?Ct(e)&&wt(e,t,n):!1,Et=(e,t)=>e.filter(e=>e.entity_value_id&&t.has(e.entity_value_id)),Dt=(e,t)=>
3{let n=(e??[]).filter(e=>e.entity_value_id?St(e)?!0:!t.has(e.entity_value_id):!1),r=new Map;for(let e of n){let t=e.entity_value_id,n=r.get(t),i=n?.isLineItem===`true`&&e.isLineItem===`false`;(!n||i)&&r.set(t,e)}return Array.from(r.values())},Ot=(e,t,n)=>e<0&&t>0&&n.length===1&&n.every(e=>F(e)),kt=(e,t,n)=>e>0&&t<0&&n.length===1&&n.every(e=>I(e)),At=e=>e.startsWith(`Bill-`)?`bill`:e.startsWith(`Invoice-`)?`invoice`:`other`,L=(e,t)=>{let n=e?.entity_value_id;return n?n.startsWith(`Deposit-`)?`grouped-deposit`:t!=null&&(e?.account_id===t||e?.split_id===t)&&(n.startsWith(`Payment-`)||n.startsWith(`SalesReceipt-`))?`undeposited-payment`:null:null},jt=e=>e===`grouped-deposit`?`Grouped deposit`:`Undeposited Funds payment`,Mt=(e,t)=>{let n=L(e,t);return n?`${jt(n)} match`:`Match`},Nt=(e,t)=>(e??[]).filter(e=>L(e,t)===`undeposited-payment`),Pt=(e,t)=>{if(!e||t.length===0)return e;let n=new Set(e.map(e=>e.entity_value_id));return[...e,...t.filter(e=>!n.has(e.entity_value_id))]},Ft=async e=>{let t=i.prepareFormattedStatement(`SELECT * FROM transactions WHERE entity_value_id = ?`,[e]);return i.getInstance().fetch(t,`getTransactionLineItems`)},It=async e=>{if(!e)return await i.getInstance().fetch(`SELECT * FROM transactions order by date_value DESC, idx ASC`,`getTransactionsByIds`);let t=[],n=[];e.forEach(e=>{let r=vt(e);r?n.push({baseId:r.baseId,idx:r.idx,originalId:e}):t.push(e)});let r=[];if(t.length>0){let e=i.prepareFormattedStatement(`SELECT * FROM transactions WHERE entity_value_id in ? order by date_value DESC, idx ASC`,[t]);r=await i.getInstance().fetch(e,`getTransactionsByIds`)}let a=[];for(let e of n){let t=(await Ft(e.baseId))[e.idx];t&&a.push({...t,entity_value_id:e.originalId})}return[...r,...a]},Lt=async(e,t)=>{let n=new Set(t??[]),r=await i.getInstance().fetch(`SELECT *
4       FROM transactions
5       WHERE COALESCE(entity_value_id, '') != ''
6         AND transaction_type_value = 'Journal Entry';
7    `,`getJournalEntriesForAccount`);if(r.length===0)return[];let a=r.reduce((t,n)=>(n.entity_value_id&&n.account_id===e&&t.add(n.entity_value_id),t),new Set),o=r.reduce((e,t)=>(t.entity_value_id&&n.has(t.account_id??``)&&!a.has(t.entity_value_id)&&e.add(t.entity_value_id),e),new Set),s=new Set([...a,...o]),c=r.reduce((e,t)=>(t.entity_value_id&&s.has(t.entity_value_id)&&(e.has(t.entity_value_id)?e.get(t.entity_value_id)?.push({...t,idx:e.get(t.entity_value_id)?.length||0}):e.set(t.entity_value_id,[{...t,idx:0}])),e),new Map);return Array.from(c.values()).flat().filter(t=>t.account_id===e||n.has(t.account_id??``))},Rt=async e=>{let t=await i.getInstance().fetch(`SELECT *
8       FROM transactions
9       WHERE COALESCE(entity_value_id, '') != ''
10         AND transaction_type_value = 'Payroll Check';
11    `,`getPayrollChecksForAccount`);if(t.length===0)return[];let n=t.reduce((t,n)=>(n.account_id===e&&n.entity_value_id&&t.add(n.entity_value_id),t),new Set),r=t.reduce((e,t)=>(t.entity_value_id&&n.has(t.entity_value_id)&&(e.has(t.entity_value_id)?e.get(t.entity_value_id)?.push({...t,idx:e.get(t.entity_value_id)?.length||0}):e.set(t.entity_value_id,[{...t,idx:0}])),e),new Map);return Array.from(r.values()).flat().filter(t=>t.account_id===e)},zt=async e=>{let t=i.prepareFormattedStatement(`SELECT *
12       FROM transactions
13       WHERE account_id = ?
14         AND COALESCE(entity_value_id, '') != ''
15         AND COALESCE(account_id, '') != ''
16         AND transaction_type_value NOT IN('Bill', 'Invoice', 'Pledge', 'Credit Card Payment', 'Journal Entry', 'Payroll Check', 'Purchase', 'Expense', 'Expenditure', 'Deposit')
17       ORDER BY date_value DESC, idx ASC;
18`,[e]);return i.getInstance().fetch(t,`getTransactionsInAccount`)},Bt=async e=>{let t=i.prepareFormattedStatement(`SELECT *
19       FROM transactions
20       WHERE (account_id = ? OR split_id = ?)
21         AND COALESCE(entity_value_id, '') != ''
22         AND COALESCE(account_id, '') != ''
23         AND transaction_type_value IN('Purchase', 'Expense', 'Expenditure', 'Deposit')
24       ORDER BY date_value DESC, idx ASC;
25`,[e,e]);return i.getInstance().fetch(t,`getPurchasesAndDepositsInAccount`)},Vt=async()=>
25{let e=i.prepareFormattedStatement(`SELECT *
26       FROM transactions
27       WHERE COALESCE(entity_value_id, '') != ''
28         AND COALESCE(account_id, '') != ''
29         AND isLineItem = 'false'
30         AND transaction_type_value NOT IN(
31  '${a.BILL}',
32  '${a.BILL_PAYMENT}',
33  '${a.BILL_PAYMENT_CHECK}',
34  '${a.BILL_PAYMENT_CREDIT_CARD}',
35  '${a.BUILD_ASSEMBLY}',
36  '${a.CARRY_OVER}',
37  '${a.EFPLIABILITY_CHECK}',
38  '${a.EFT_BILL_PAYMENT}',
39  '${a.EFT_REFUND}',
40  '${a.ESTIMATE}',
41  '${a.INVENTORY_ADJUSTMENT}',
42  '${a.INVENTORY_TRANSFER}',
43  '${a.INVOICE}',
44  '${a.ITEM_RECEIPT}',
45  '${a.JOURNAL_ENTRY}',
46  '${a.LIABILITY_ADJUSTMENT}',
47  '${a.PAYCHECK}',
48  '${a.PAYMENT}',
49  '${a.PAYROLL_LIABILITY_CHECK}',
50  '${a.PURCHASE_ORDER}',
51  '${a.PRIOR_PAYMENT}',
52  '${a.RECEIVE_PAYMENT}',
53  '${a.SALES_ORDER}',
54  '${a.SALES_RECEIPT}',
55  '${a.SALES_TAX_PAYMENT_CHECK}',
56  '${a.TIME_ACTIVITY}',
57  '${a.YTD_ADJUSTMENT}'
58)
59       ORDER BY date_value DESC, idx ASC;
60`,[]);return i.getInstance().fetch(e,`getTransactionsForRelatedQuery`)},Ht=async e=>{let t=i.prepareFormattedStatement(`SELECT *
61       FROM transactions
62       WHERE (account_id = ? OR split_id = ?)
63         AND COALESCE(entity_value_id, '') != ''
64         AND transaction_type_value in ('Transfer', 'Credit Card Payment')
65       ORDER BY date_value DESC, idx ASC;
66`,[e,e]);return i.getInstance().fetch(t,`getTransfersAndCCPaymentsInAccount`)},Ut=async()=>i.getInstance().fetch(`SELECT *
67       FROM transactions
68       WHERE (
69           (transaction_type_value = 'Bill' AND is_ap_paid != 'Paid' AND isLineItem = 'false')
70           OR ((transaction_type_value = 'Invoice' or transaction_type_value = 'Pledge') and is_ar_paid != 'Paid' and isLineItem = 'false')
71         )
72         AND COALESCE(entity_value_id, '') != ''
73       ORDER BY date_value DESC, idx ASC;
74`,`getOpenBillsAndInvoices`),Wt=async e=>{let t=i.prepareFormattedStatement(`SELECT *
75       FROM transactions
76       WHERE transaction_type_value = 'Sales Receipt'
77        AND COALESCE(entity_value_id, '') != ''
78         AND account_id = ?
79       ORDER BY date_value DESC, idx ASC;
80`,[e]);return i.getInstance().fetch(t,`getSaleReceiptsForAccount`)},Gt=async e=>{let t=i.prepareFormattedStatement(`SELECT *
81       FROM transactions
82       WHERE transaction_type_value = 'Sales Tax Payment Check'
83       AND account_id = ?
84       AND COALESCE(entity_value_id, '') != ''
85       ORDER BY date_value DESC, idx ASC;
86`,[e]);return i.getInstance().fetch(t,`getSalesTaxPaymentChecksForAccount`)},Kt=e=>se(e,e=>`${e.entity_value_id}-${e.amount_value}-${e.idx}`),R=async(e,t)=>{if(!e)return[];let[n,r,i,a,o,s,c,l]=await Promise.all([zt(e),Bt(e),Ht(e),Ut(),Lt(e,t),Rt(e),Wt(e),Gt(e)]);return Kt([...n,...r,...i,...a,...o,...s,...c,...l])},qt=async()=>Kt(await Vt()),Jt=async()=>{let e=i.prepareFormattedStatement(`SELECT DISTINCT name_id, name_value
87       FROM transactions
88       WHERE transaction_type_value NOT IN ('Bill Payment', 'Invoice Payment')
89       ORDER BY date_value DESC, idx ASC;
90`,[]),t=await i.getInstance().fetch(e,`getAllVendorsWithTransactions`);return[...new Set(t.map(e=>({vendorId:e.name_id,vendorName:e.name_value})).filter(e=>e.vendorId!==null&&e.vendorId!==``).map(e=>({vendorId:Number(e.vendorId),vendorName:e.vendorName})))]},Yt=async()=>{let e=i.prepareFormattedStatement(`SELECT DISTINCT account_value, account_id
91       FROM transactions
92       ORDER BY date_value DESC, idx ASC;
93`,[]),t=await i.getInstance().fetch(e,`getAccountExpenseNamesWithTransactions`);return[...new Set(t.map(e=>({name:e.account_value,id:e.account_id})).filter(e=>e.name&&e.name!==null&&e.name!==``))]};function z({enabled:e=!0}={}){let t=x(e=>!!e?.txnsMasterLoaded),n=x(e=>e?.id),r=x(e=>e?.accounts??[]),{data:i,isLoading:a,error:o}=v({queryKey:T.vendorExpenseAccountNames(n),queryFn:Yt,enabled:e&&t});return{accountExpenseNamesWithTransactions:(0,D.useMemo)(()=>me(r,i),[r,i]),isLoading:a,error:o}}var B=()=>{let e=b(),{data:n,isLoading:r,isFetching:i,isPending:a,refetch:o}=v({queryKey:be.bankFeedAccountsMappingByClientId(e),enabled:!!e,queryFn:async()=>{let{bankFeedAccountsMapping:t}=await Te(e);return t},meta:{errorMessage:`Failed to fetch bank feed accounts mapping`}});return{bankFeedAccountsMapping:n??t,isLoading:r,isFetching:i,isPending:a,refetch:o}},V=e=>{if(e!==void 0)return e===null||typeof e==`string`?e:e.ledgerAccountId??null},Xt=e=>e&&typeof e==`object`&&`linkedClient`in e?e.linkedClient??null:null,Zt=e=>e==null?!1:typeof e==`string`||e.ledgerAccountId!==void 0,Qt=e=>typeof e==`string`?!0:typeof e==`object`&&e?!!e.ledgerAccountId:!1,$t={status:null,eventVersion:0,resultsVersion:0,hasNew
93Results:!1,noticeVersion:0},H=class{static isSettled(e){return e!==`queued`&&e!==`processing`}static hasTransactions(e){return!!e&&typeof e==`object`&&Object.entries(e).some(([e,t])=>e!==`similarBankFeedTransactions`&&Array.isArray(t)&&t.length>0)}static startInitialLoad(e,t,n){this.hasTransactions(e.getQueryData(T.clusterizedTransactions(t,n)))||(e.setQueryData(T.eventBasedProcessingUpdates(t,n),{...this.read(e,t,n),isInitialLoad:!0}),this.refreshInBackground(e,t,n))}static startReprocessing(e,t,n){for(let r of n)this.setReprocessing(e,t,r,`requested`)}static confirmReprocessing(e,t,n){for(let r of n)this.read(e,t,r).reprocessing&&(this.setReprocessing(e,t,r,`running`),this.refreshInBackground(e,t,r))}static cancelReprocessing(e,t,n){for(let r of n)this.setReprocessing(e,t,r,void 0)}static setReprocessing(e,t,n,r){e.setQueryData(T.eventBasedProcessingUpdates(t,n),{...this.read(e,t,n),reprocessing:r})}static startNewlyMappedAccounts(e,t,n){let r=e.getQueryData(be.bankFeedAccountsMappingByClientId(t));if(r)for(let[i,a]of Object.entries(n)){let n=Number(i);Number.isFinite(n)&&V(a)&&!V(r[i])&&this.startInitialLoad(e,t,n)}}static read(e,t,n){return e.getQueryData(T.eventBasedProcessingUpdates(t,n))??$t}static isNotification(e){if(!e||typeof e!=`object`)return!1;let t=e;return Number.isFinite(t.clientId)&&Number.isFinite(t.bankFeedAccountId)&&[`idle`,`queued`,`processing`,`error`].includes(t.status??``)&&typeof t.resultsChanged==`boolean`&&(t.sourceUid==null||typeof t.sourceUid==`string`)}static receive(e,t,n=t.bankFeedAccountId,r){let i=t.bankFeedAccountId===n,a=this.read(e,t.clientId,t.bankFeedAccountId),o=a.resultsVersion+Number(t.resultsChanged),s=t.resultsChanged&&(!r||t.sourceUid!==r),c=a.noticeVersion??(a.hasNewResults?a.resultsVersion:0);e.setQueryData(T.eventBasedProcessingUpdates(t.clientId,t.bankFeedAccountId),{...a,status:t.status,eventVersion:a.eventVersion+1,resultsVersion:o,hasNewResults:a.hasNewResults||t.resultsChanged,noticeVersion:s?o:c,reprocessing:a.reprocessing===`running`&&!t.resultsChanged&&this.isSettled(t.status)?void 0:a.reprocessing}),(!i||a.isInitialLoad||a.reprocessing)&&t.resultsChanged&&this.refreshInBackground(e,t.clientId,t.bankFeedAccountId)}static refreshInBackground(e,t,n){e.invalidateQueries({queryKey:T.clusterizedTransactions(t,n),exact:!0,refetchType:`none`}),e.invalidateQueries({queryKey:T.eventBasedProcessingResults(t,n),exact:!0},{cancelRefetch:!1})}static acknowledgeRead(e,t,n,r,i){let a=this.read(e,t,n),o=a.noticeVersion??a.resultsVersion;e.setQueryData(T.eventBasedProcessingUpdates(t,n),{...a,status:a.eventVersion===r.eventVersion?i:a.status,hasNewResults:a.hasNewResults&&a.resultsVersion!==r.resultsVersion,noticeVersion:o>r.resultsVersion?o:0})}};function U(e,t){let n=b();return v({queryKey:T.eventBasedProcessingUpdates(n,e),enabled:!1,select:t}).data}var en=e=>e.status,tn=e=>e.isInitialLoad??!1;function nn(e){return U(e,tn)??!1}var rn=e=>!!e.reprocessing;function an(e){return U(e,rn)??!1}var on=e=>e.hasNewResults?e.noticeVersion??e.resultsVersion:0;function sn(e){return U(e,on)??0}function cn(e){return U(e,en)??null}function ln(e){let t=b(),n=S(e=>e.userResults.practiceId),r=S(e=>e.userResults.uid),i=M(),a=y();(0,D.useEffect)(()=>{if(i&&n)return Ue({channelName:`pusher-listener-${n}`,eventName:`bank-feed-account-processing-changed`,handler:n=>{H.isNotification(n)&&n.clientId===t&&H.receive(a,n,e?.(),r)}})},[t,i,n,a,e,r])}function un(e,t,n){let r=te(),i=ne();return[(0,D.useMemo)(()=>
93new URLSearchParams(r.search).get(e)??t,[r.search,e,t]),(0,D.useCallback)(t=>{let a=new URLSearchParams(r.search);t===void 0?a.delete(e):a.set(e,t),i[n?.replace?`replace`:`push`]({pathname:r.pathname,search:a.toString()})},[i,e,r.pathname,r.search,n?.replace])]}var dn=(0,D.createContext)(void 0),fn=({children:e,initialBankFeedAccountId:t})=>{let[n,r]=un(`bankFeedAccountId`,t?.toString(),{replace:!0}),i=n===void 0?void 0:Number(n),a=(0,D.useCallback)(e=>{r(e===void 0?void 0:e.toString())},[r]);return(0,O.jsx)(dn.Provider,{value:{bankFeedAccountId:i,setBankFeedAccountId:a},children:e})},pn=()=>{let e=(0,D.useContext)(dn);if(!e)throw Error(`useBankFeedAccountContext must be used within a BankFeedAccountProvider`);return e},mn=(0,D.createContext)(null);function hn({children:e}){let t=b(),n=y(),r=M(),{bankFeedAccountId:i}=pn(),[a,o]=(0,D.useState)(k.Pending),s=a===k.Pending?i??null:null,c=(0,D.useRef)(null);(0,D.useLayoutEffect)(()=>(c.current={clientId:t,enabled:r,pendingAccountId:s},()=>{c.current=null}),[t,r,s]),ln((0,D.useCallback)(()=>c.current?.pendingAccountId??null,[]));let l=(0,D.useCallback)((e,{hasStoredResults:n,isInitialLoad:r,isReprocessing:i})=>{let a=c.current;return!a?.enabled||a.clientId!==t?!1:!n||r||i||a.pendingAccountId!==e},[t]),u=(0,D.useCallback)(e=>{o(e),r&&e!==k.Pending&&typeof i==`number`&&Number.isFinite(i)&&H.read(n,t,i).hasNewResults&&H.refreshInBackground(n,t,i)},[i,t,r,n]),d=(0,D.useMemo)(()=>({viewType:a,changeView:u,canApplyResults:l}),[a,u,l]);return(0,O.jsx)(mn.Provider,{value:d,children:e})}function gn(){return(0,D.useContext)(mn)}var _n=class e{static instance;static getInstance(){return this.instance??=new e,this.instance}async readChangedPendingResults(e,t,n,r){let i=await xe({clientId:t,bank
93FeedAccountId:n},r),a=e.getQueryData(T.clusterizedTransactions(t,n));if(!a||!(`autoClassifications`in a))return null;let o=`results`in i?i.results:i;return this.hasDifferentResults(a,o)?o:null}hasDifferentResults(e,t){return!oe(this.comparableResults(e),this.comparableResults(t))}comparableResults(e){return[`autoClassifications`,`potentialMatches`,`uncertainTransactions`,`mediumConfidenceTransactions`,`newVendorTransactions`,`remainingTransactions`,`rulesTransactions`,`similarBankFeedTransactions`].map(t=>[...e[t]].sort((e,t)=>e.id-t.id).map(e=>ae(e,[`createdAt`,`updatedAt`,`deletedAt`,`processingStatus`])))}async read(e,t,n,r,i=()=>!0){let a=T.clusterizedTransactions(t,n);for(;!r?.aborted;){let o=e.getQueryState(a),s=o?.data,c=!!s&&typeof s==`object`&&`autoClassifications`in s;if(c&&!o?.isInvalidated)break;let l=H.read(e,t,n),u=await xe({clientId:t,bankFeedAccountId:n});if(r?.aborted||(e.getQueryState(a)?.dataUpdateCount??0)!==(o?.dataUpdateCount??0))break;let d=H.read(e,t,n);if(!i({hasStoredResults:c,isInitialLoad:d.isInitialLoad??!1,isReprocessing:!!d.reprocessing}))break;if(d.resultsVersion===l.resultsVersion){this.applyResults(e,t,n,u,l);break}}return H.read(e,t,n).status}async loadLatest(e,t,n,r=()=>!0){let i=T.clusterizedTransactions(t,n),a=e.getQueryState(i)?.dataUpdateCount??0,o=H.read(e,t,n),s=await xe({clientId:t,bank
93FeedAccountId:n});return!r()||(e.getQueryState(i)?.dataUpdateCount??0)!==a?!1:(this.applyResults(e,t,n,s,o),!0)}applyResults(e,t,n,r,i){let a=`results`in r?r.results:r,o=`processingStatus`in r?r.processingStatus:null;e.setQueryData(T.clusterizedTransactions(t,n),a),de(e,t,n,a);let s=H.read(e,t,n);s.isInitialLoad&&H.hasTransactions(a)&&e.setQueryData(T.eventBasedProcessingUpdates(t,n),{...s,isInitialLoad:!1}),i.reprocessing===`running`&&s.reprocessing===`running`&&H.isSettled(o)&&H.cancelReprocessing(e,t,[n]),H.acknowledgeRead(e,t,n,i,o)}};function vn(e,t){let n=b(),r=y(),i=gn();return v({queryKey:T.eventBasedProcessingResults(n,e),enabled:t&&typeof e==`number`&&Number.isFinite(e),queryFn:({signal:t})=>_n.getInstance().read(r,n,e,t,t=>i?.canApplyResults(e,t)??!0),staleTime:1/0,refetchOnMount:e=>e.state.isInvalidated,refetchOnWindowFocus:!1,refetchOnReconnect:!1,meta:{errorMessage:`Failed to load bank feed results`}})}function W(e){return e===``||e===void 0?null:e}function yn(e){let{bankFeedAccountsMapping:t,isLoading:n}=B();if(!e)return{ledgerAccountId:null,isLoading:!1};let r=t[e];return{ledgerAccountId:V(r),isLoading:n}}var bn=async e=>(await qt())?.map(t=>({id:P(t),accountId:t.account_id,description:t.memo_description_value,categoryId:W(t.split_id),vendorId:W(t.name_id),classId:W(t.class_id),locationId:W(t.department_id),customerId:W(t.cust_name_id),amount:N(t,e??t.account_id),date:t.date_value}))??[];function xn(){let e=b(),t=x(e=>!!e?.txnsMasterLoaded),n=x(e=>!!e?.isMultiCurrencyEnabled),{bankFeedAccounts:r}=E(),{bankFeedAccountsMapping:i,isLoading:a}=B(),o=We(),s=(0,D.useMemo)(()=>o.filter(e=>e.type===`Accounts Receivable`||e.type===`Accounts Payable`).map(e=>e.value),[o]),{data:c,refetch:l,isLoading:u}=v({enabled:t&&!a&&r.length>0,queryKey:T.allLedgerTransactionsForClusterizing(e),queryFn:async()=>(await Promise.all(r.map(async e=>{let t=i[e.id],r=V(t),a=await R(r,s);return{bankFeedAccountId:e.id,transactions:a.map(e=>({id:P(e),accountId:e.account_id,description:e.memo_description_value,categoryId:W(e.split_id),vendorId:W(e.name_id),classId:W(e.class_id),locationId:W(e.department_id),customerId:W(e.cust_name_id),amount:N(e,r,{isMultiCurrencyEnabled:n}),date:e.date_value}))}}))).reduce((e,t)=>(e[t.bankFeedAccountId]=t.transactions,e),{})});return{ledgerTransactions:c,refetch:l,isLoading:u||!t}}var Sn=async(e,t,n)=>(await R(e,n))?.map(n=>({id:P(n),accountId:n.account_id,description:n.memo_description_value,categoryId:W(n.split_id),vendorId:W(n.name_id),classId:W(n.class_id),locationId:W(n.department_id),customerId:W(n.cust_name_id),amount:N(n,e,{isMultiCurrencyEnabled:t}),date:n.date_value}))??[],G=()=>{let{bankFeedAccountsMapping:e,isLoading:t,isFetching:n}=B(),{bankFeedAccounts:r,isLoading:i,isFetching:a}=E();return{mappedBankFeedAccounts:(0,D.useMemo)(()=>r.filter(t=>Qt(e[t.id])),[r,e]),isLoading:i||t,isFetching:a||n}};function Cn({enabled:e=!0}={}){let t=x(e=>!!e?.txnsMasterLoaded),n=x(e=>e?.id),{data:r,isLoading:i,error:a}=v({queryKey:T.vendorsWithTransactions(n),queryFn:Jt,enabled:e&&t});return{vendorsWithTransactionsIds:r??[],isLoading:i,error:a}}var wn=()=>{let e=M(),t=b(),n=y(),{mappedBankFeedAccounts:r}=G(),{isLoading:i}=B(),{isLoading:a}=E(),{isLoading:o}=v({queryKey:T.prefetchBankFeedAccountClusters(t),enabled:!e&&!i&&!a&&r.length>0,queryFn:async()=>(await Promise.all(r.map(async e=>
93{let r=await fe({clientId:t,bankFeedAccountId:e.id});ye(n,t,e.id,r,{keepExistingError:!0}),de(n,t,e.id,r)})),!0)});return{isLoading:i||a||o}},Tn=()=>{let e=M(),{accountExpenseNamesWithTransactions:t,isLoading:n}=z({enabled:!e}),r=y(),i=x(e=>!!e?.txnsMasterLoaded),a=x(e=>e?.accounts??[]),{mappedBankFeedAccounts:o}=G(),s=b(),c=!e&&i&&!n&&o.length>0&&a.length>0;v({queryKey:T.preloadBankFeedAccountClustersWithDBSnapshot(s),enabled:c,queryFn:async()=>{try{return await Promise.all(o.map(e=>ve({queryClient:r,clientId:s,bankFeedAccountId:e.id,ledgerAccountId:e.ledgerAccountId,accounts:a,expenseAccounts:t??[]}))),!0}catch(e){throw f(e),e}}})},En=()=>{let e=M(),t=b(),n=S(e=>e.userResults.practiceId),{vendorsWithTransactionsIds:r}=Cn({enabled:!e}),{accountExpenseNamesWithTransactions:i}=z({enabled:!e}),a=x(e=>e?.accounts??[]),o=x(e=>!!e?.isMultiCurrencyEnabled),{mutateAsync:s,isPending:c}=ee({mutationFn:async({bankFeedAccountId:s,ledgerAccountId:c})=>{if(e)return{bankFeedAccountId:s};let l=a.find(e=>e.Id===c),u=a.filter(e=>(e.AccountType===`Accounts Receivable`||e.AccountType===`Accounts Payable`)&&e.Id).map(e=>e.Id),[d,f]=await Promise.all([Sn(c,o,u),bn(c)]);if(!s)throw Error(`Bank feed account ID is required`);let{fileKey:p,uploadUrl:m}
93=await Ce({clientId:t,bankFeedAccountId:s});return await fetch(m,{body:JSON.stringify({clientId:t,practiceId:n,bankFeedAccountId:s,ledgerTransactions:d,vendorsWithTransactionsIds:r,expenseAccounts:i,ledgerTransactionsForUncertainSuggestion:f,ledgerAccount:l,options:{bankFeedAccountId:s,overrideLedgerAccount:l,vendorsWithTransactionsIds:r,expenseAccounts:i}}),method:`PUT`,mode:`cors`}),await pe({clientId:t,bankFeedAccountId:s,fileKey:p}),{bankFeedAccountId:s}},onError:e=>{g.error({title:`Failed to load bank feeds, please try again later or contact support.`,duration:4}),f(e)}});return{onProcessBankFeedTransactionsClusterizingWithLocalSnapshot:s,isLoading:c}},Dn=()=>{let{onProcessBankFeedTransactionsClusterizingWithLocalSnapshot:e}=En();return{onInvalidateClusterizedTransactions:(0,D.useCallback)(async({bankFeedAccountId:t,ledgerAccountId:n})=>{n&&await e({bankFeedAccountId:t,ledgerAccountId:n})},[e])}},On=e=>{let t=b(),n=M(),r=vn(e,n),i=x(e=>!!e?.txnsMasterLoaded),{data:a,refetch:o}=v({queryKey:T.clusterizedTransactions(t,e),enabled:!n&&typeof e==`number`&&Number.isFinite(e),queryFn:()=>({status:`pending`}),meta:{errorMessage:`Failed to fetch clusterized transactions`},staleTime:1/0});if(n){let e=!!a&&`autoClassifications`in a,t=r.isError?{status:`error`,error:`Failed to load bank feed results. Reload the page to try again.`}:void 0;return{clusterizedTransactions:e?a:t,isLoading:r.isLoading&&!e,isSyncing:!1,refetch:r.refetch}}return{clusterizedTransactions:a,isLoading:e!==void 0&&Number.isFinite(e)&&(!!(a&&`status`in a&&a.status===`pending`)||!i),isSyncing:!!(a&&`status`in a&&a.status===`syncing`),refetch:o}},kn=(e,t)=>{switch(t){case`nonclosing`:case`firm`:return`nonClosingTask-`+e;case`closing`:return`closingTask-`+e;case`project`:return`projectTask-`+e;default:throw Error(`Invalid task type`)}};function An({taskId:e,type:t,isVisible:n,overrideClientId:r}){let i=t===`firm`,a=kn(e,t),o=ce(),s=x(e=>e?.id),c=r??s,l=S(e=>e.userResults.token),u=S(e=>e.userResults.uid),d=y();return async e=>{let t=await(async()=>{if(i){let t=await Le(`practice`,e);return t.length!==0&&await Me(a,t,l)}let t=await Le(c,e);return t.length!==0&&await Oe(c,l,t,{taskAttachmentId:a,isVisible:n},Ae.CloseAttachable)})();if(t){d.invalidateQueries({queryKey:Ne.attachmentsByAttachableKey(a)});let e=i?await je(a):await ke(l,c,u,{taskAttachmentId:a});e?.length||(e=i?await je(a):await ke(l,c,u,{taskAttachmentId:a})),o(Pe(a,e))}return t}}var K=e(h(),1),jn=function(e){return e.Preparer=`preparer`,e.Manager=`manager`,e.Reviewer=`reviewer`,e}({}),Mn=function(e){return e.Cash=`Cash`,e.Accrual=`Accrual`,e}({}),q=function(e){return e.Month=`Month`,e.Quarter=`Quarter`,e.Year=`Year`,e.FiscalQuarter=`FiscalQuarter`,e.Classes=`Classes`,e.Total=`Total`,e.Departments=`Departments`,e}({});function Nn(e){return e.type===`aging-bucket`}function Pn(e){return e.type===`date-range`}function Fn(e){return e.type===`class`}function In(e){return e.type===`location`}function Ln({startDate:e,endDate:t,baseColumns:n,summarizeBy:r,fiscalMonth:i}){return r!==q.Quarter&&r!==q.FiscalQuarter?n.filter(e=>e.type===`date-range`).map(e=>{let t=K.default.utc(e.startDate),n=K.default.utc(e.endDate);return{title:t.format(`MMM 'YY`),startDate:t,endDate:n}}):zn(K.default.utc(e),K.default.utc(t),Rn(r,i)).map(e=>({title:`${e.startDate.format(`MMM 'YY`)} - ${e.endDate.format(`MMM 'YY`)}`,startDate:e.startDate,endDate:e.endDate}))}function Rn(e,t){return e===q.FiscalQuarter?t:0}function zn(e,t,n){let r=n%3,i=[],a=e.clone().startOf(`quarter`).add(r,`month`);for(;a.isBefore(t);){if(a.isBefore(e)){a=a.add(3,`month`);continue}i.push({startDate:a,endDate:a.clone().endOf(`quarter`)}),a=a.add(3,`month`)}return i}function Bn(e,t,n){if(!e)return;let r=Ln({startDate:e.startDate,endDate:e.endDate,baseColumns:e.columns,summarizeBy:t.summarizeBy,fiscalMonth:n}),i=r.length-t.timeScopeColCount,a=r[Math.max(0,i)],o=r[r.length-1];if(a&&o)return{startDate:a.startDate,endDate:o.endDate}}function Vn(e,t,n){let r=e.endOf(`month`),i=zn(r.subtract(3*t+2,`month`).startOf(`month`),r,n).at(-t);return i?e.startOf(`month`).diff(i.startDate,`month`)+1:3*t}function Hn(e,t,n,r){let i=[q.Classes,q.Departments].includes(e),a=e===q.Quarter||e===q.FiscalQuarter;return i?{summarizeBy:e,periodCount:t}
93:{summarizeBy:q.Month,periodCount:a?Vn(n,t,Rn(e,r)):t}}function J(e){if(!e)return e;let t={...e};return t.dimensions?.length===0&&delete t.dimensions,`hiddenSubDimensions`in t&&t.hiddenSubDimensions?.length===0&&delete t.hiddenSubDimensions,t.subsidiaryIds?.length===0&&delete t.subsidiaryIds,t}function Un(e,t,n){return{...Hn(e.summarizeBy,e.timeScopeColCount,t,n),includeTransactions:!0,dimensions:e.dimensionFilters,subsidiaryIds:e.subsidiaryIds.length>0?e.subsidiaryIds:void 0}}function Wn(e,t,n){return{...Hn(e.summarizeBy,e.timeScopeColCount,t,n),includeTransactions:!0,dimensions:e.dimensionFilters,subsidiaryIds:e.subsidiaryIds.length>0?e.subsidiaryIds:void 0}}function Gn(e){return{summarizeBy:e.summarizeBy,periodCount:e.timeScopeColCount,includeTransactions:!0}}function Kn(e,t){return{agingType:e,reportDate:t}}var Y={practiceEndCloseReports:()=>[`practice`,`financialReports`],clientEndCloseReports:e=>[`client`,e,`financialReports`],endCloseReportAttachment:(e,t)=>[`client`,e,`endCloseReportAttachment`,t],endCloseFinancialReports:e=>[`endClose`,e,`financialReport`],endCloseReport:(e,t,n,r)=>[...Y.endCloseFinancialReports(e),t,n??null,r??null],endCloseProfitLossTrigger:(e,t)=>[...Y.endCloseFinancialReports(e),`profitLoss`,`trigger`,J(t)],endCloseProfitLoss:(e,t)=>[...Y.endCloseFinancialReports(e),`profitLoss`,J(t)],endCloseBalanceSheetTrigger:(e,t)=>[...Y.endCloseFinancialReports(e),`balanceSheet`,`trigger`,J(t)],endCloseBalanceSheet:(e,t)=>[...Y.endCloseFinancialReports(e),`balanceSheet`,J(t)],endCloseCashFlow:(e,t)=>[...Y.endCloseFinancialReports(e),`cashFlow`,t],endCloseAgingSummary:(e,t)=>[...Y.endCloseFinancialReports(e),`agingSummary`,t],projectProfitLoss:(e,t)=>[`project`,e,`financialReport`,`profitLoss`,t],projectBalanceSheet:(e,t)=>[`project`,e,`financialReport`,`balanceSheet`,t],projectTrialBalance:(e,t)=>[`project`,e,`financialReport`,`trialBalance`,t],fluxAnalysisPrefix:e=>[`task`,e,`fluxAnalysis`],fluxAnalysis:(e,t)=>[...Y.fluxAnalysisPrefix(e),t],financialReportFavorites:(e,t)=>[`client`,e,`financialReportFavorites`,t]};function qn(e){return e.replaceAll(` `,``)||``}async function Jn(e,t){await e.refetchQueries({queryKey:[T.allLedgerTransactionsForClusterizing(t),T.ledgerTransactionsForUncertainSuggestion(t)]})}async function Yn(e,t,n){await e.refetchQueries({queryKey:T.ledgerTransactionsForClusterizing(t,n)})}async function Xn(e,t,n,r,i,a={}){let o=[];if(a.resetFromBankFeedAccountIds){let e=n.map(e=>e.bankFeedAccountId);o.push(...e)}if(a.resetFromCategoryIds){let e=Zn(n,r);o.push(...e)}let s=[...new Set(o)];s.length!==0&&(await Jn(e,t),s.forEach(async n=>{let a=r[n],o=V(a);o&&(await Yn(e,t,o),setTimeout(async()=>{await i({bankFeedAccountId:n,ledgerAccountId:o})},50))}))}function Zn(e,t){let n=$n(e);return n.size===0?[]:er(n,Qn(t))}function Qn(e){let t=new Map;for(let[n,r]of Object.entries(e)){let e=V(r);e&&t.set(e,Number(n))}return t}function $n(e){let t=new Set;for(let n of e)n.categoryId&&t.add(n.categoryId);return t}function er(e,t){let n=[];for(let r of e){let e=t.get(r);e!==void 0&&n.push(e)}return n}function tr(e,t){let n=t.flatMap(({ledgerTransactionIds:e})=>e),r=[],i=[];for(let a of e)if(!t.some(({bankFeedTransactionId:e})=>a.id===e)){if(a.similarLedgerTransactionIds.some(e=>n.includes(e))){let e=a.similarLedgerTransactionIds.filter(e=>!n.includes(e));a.similarLedgerTransactionIds.length===1?i.push({...a,similarLedgerTransactionIds:e,suggestedVendorIds:[],suggestedCategoryIds:[]}):r.push({...a,similarLedgerTransactionIds:e})}else r.push(a)}return{matchesToMove:i,matchesToKeep:r}}var X={},Z={},Q={},nr=e=>{let{message:t,duration:n=3,type:r=`success`}=e,i=e.key??t;if(!i||!t)return;let a=Z[i]===t?(X[i]??0)+1:1;X[i]=a,Z[i]=t,Q[i]&&clearTimeout(Q[i]),Q[i]=setTimeout(()=>{delete X[i],delete Z[i]},n*1e3);let o=`${t}${a>1?` (x${a})`:``}`;g[r]({key:i,title:o,duration:n,onClose:()=>{delete X[i],delete Z[i],Q[i]&&(clearTimeout(Q[i]),delete Q[i])}})},rr=e=>{let{key:t,duration:n,message:r,type:i}=e??{};return(0,D.useCallback)(e=>nr({key:e?.key??t,duration:e?.duration??n,message:e?.message??r,type:e?.type??i}),[t,n,r,i])},$=e=>`export-tasks-csv-${e}`,ir=(({jobId:e,uid:t,processed:n,total:r},{currentUid:i})=>{if(t!==i||n==null||r==null)return;let a=r>0?Math.round(n/r*100):0;g.info({key:$(e),icon:(0,D.createElement)(le,{width:24,height:24,style:{color:C.Grey950}}),title:`Exporting CSV...`,description:(0,D.createElement)(`div`,null,(0,D.createElement)(m,{percent:a,size:`small`,strokeColor:C.Green500}
93),`${n.toLocaleString()} / ${r.toLocaleString()} tasks`),duration:0})}),ar=async(e,t,{fetchJobData:n,jobId:r,eventUid:i,currentUid:a})=>{if(i!==a)return;let o=$(r),s;try{s=await n()}catch{}s?.downloadUrl?g.success({key:o,icon:(0,D.createElement)(le,{width:24,height:24,style:{color:C.Green500}}),title:`CSV export ready`,description:(0,D.createElement)(`a`,{href:s.downloadUrl,download:!0},`Click here to download`),duration:0}):g.error({key:o,title:`Failed to export CSV`,description:`Please try again or contact support.`})},or=e=>[e.purchases,e.bills,e.billPayments,e.creditCardCredits,e.vendorCredits,e.invoices,e.payments,e.deposits,e.salesReceipts,e.journalEntries],sr=e=>or(e).reduce((e,t)=>e+t.length,0),cr=(e,t)=>{let n=e.errors.filter(e=>e.preventedPost).map(e=>e.message);t(s({id:e.receiptId,changes:{inPostQueue:!1,postError:!e.postedReceipt&&n.length>0?n.join(`
94`):null}}))},lr=(e,t)=>{e.errors.forEach(e=>{g.error({title:t?`Draft failed to create`:`Receipt failed to post`,description:e.message,duration:4})})},ur=(e,t,n)=>{n.postedReceipt?n.postedReceipt.receiptGroupId&&e.invalidateStagedGroupByGroupId(t,n.postedReceipt.receiptGroupId):e.invalidateAllStagedGroupByClientId(t)},dr=({data:e,clientId:t,dispatch:i,createsAsDraft:a,successCount:s})=>{let u=()=>{or(e).forEach(e=>{e.forEach(e=>{window.open(e.url,`_blank`)})})},{verb:d,count:m,noun:h}=e.billPayments.length>0?{verb:a?`drafted`:`posted`,count:e.billPayments.length,noun:`bill payment`}:e.payments.length>0?{verb:a?`drafted`:`posted`,count:e.payments.length,noun:`invoice`}:a?{verb:`created`,count:s,noun:`draft`}:{verb:`posted`,count:s,noun:`transaction`};g.success({title:(0,O.jsxs)(`span`,{children:[`Successfully `,d,` `,Ge(m,h),`.`,` `,(0,O.jsx)(`span`,{className:`cursor-pointer text-db-purple-600 hover:text-db-purple-700`,onClick:u,children:`Click here to view.`})]}),duration:3});let{postedReceipt:_}=e;(0,p.unstable_batchedUpdates)(()=>{_?(i(o({clientId:t,receiptId:_.id})),i(l(_.id)),i(r({attachmentIds:[_.id.toString()]})),i(n({clientId:t,uploadInboxFileKeys:_.files.map(e=>e.fileKey)}))):(f(Error(`POST_RECEIPT_TRANSACTIONS succeeded without a posted receipt echo`)),i(o({clientId:t,receiptId:e.receiptId})),i(l(e.receiptId))),i(c(e.clientPortalPosts))})},fr=({clientId:e,dispatch:t,createsAsDraft:n,stagedGroupInvalidators:r,beforeSuccess:i,afterOutcome:a})=>async(o,c,l)=>{if(l.clientId===e){ur(r,e,c);try{let r=sr(c);if(lr(c,n),r===0){cr(c,t);return}await i?.(c),dr({data:c,clientId:e,dispatch:t,createsAsDraft:n,successCount:r})}catch(e){f(e),g.error({title:`Something went wrong updating this page after posting. Refresh to see the latest status before retrying.`,duration:4}),t(s({id:l.receiptId,changes:{inPostQueue:!1,postError:null}}))}finally{a?.()}}},pr=({clientId:e,dispatch:t,addPostedReceipts:n,createsAsDraft:r,stagedGroupInvalidators:a})=>fr({clientId:e,dispatch:t,createsAsDraft:r,stagedGroupInvalidators:a,beforeSuccess:async e=>{await i.getInstance().bulkUpsertTransactions(e.transactions,`receiptPostJobSuccessHandler`),e.postedReceipt&&await n([e.postedReceipt])}}),mr=({clientId:e,dispatch:t,queryClient:n,createsAsDraft:r,stagedGroupInvalidators:i})=>fr({clientId:e,dispatch:t,createsAsDraft:r,stagedGroupInvalidators:i,afterOutcome:()=>{Ie(n,e),Fe(n,e),n.invalidateQueries({queryKey:ze.all()})}}),hr=`ledger-attachments`,gr=`ledger-attachments-counts`,_r={list:(e,t)=>[hr,e,t],listsForClient:e=>[hr,e],counts:(e,t)=>[gr,e,t],countsForClient:e=>[gr,e]};export{Zt as $,An as A,Je as At,_n as B,jn as C,dt as Ct,Pn as D,rt as Dt,Fn as E,lt as Et,Cn as F,et as Ft,cn as G,gn as H,G as I,Qe as It,an as J,sn as K,xn as L,Ke as Lt,Dn as M,Ze as Mt,Tn as N,Ye as Nt,In as O,tt as Ot,wn as P,k as Pt,Qt as Q,yn as R,$e as Rt,Mn as S,ft as St,Nn as T,ct as Tt,fn as U,hn as V,pn as W,V as X,H as Y,Xt as Z,J as _,Ot as _t,ir as a,yt as at,Rn as b,ht as bt,rr as c,Mt as ct,qn as d,Ct as dt,B as et,Y as f,wt as ft,Un as g,Nt as gt,Gn as h,gt as ht,ar as i,Et as it,On as j,Xe as jt,kn as k,qe as kt,tr as l,Dt as lt,Wn as m,Pt as mt,mr as n,R as nt,$ as o,L as ot,Kn as p,Tt as pt,nn as q,pr as r,It as rt,nr as s,jt as st,_r as t,z as tt,Xn as u,At as ut,Ln as v,kt as vt,q as w,A as wt,Bn as x,mt as xt,zn as y,M as yt,vn as z};
95//# sourceMappingURL=ledgerAttachmentsQueryKeys-B3eaALNq.js.map
96//# debugId=bcda75c4-c2ea-5d4a-b302-5a3b2195669f

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.