Supplier purchase invoices, lines and payment details — Pro
Choose invoice dates; inspect amounts/currency, full lines/products, individual allocations/payment details and stored terms.
UNOFFICIAL — NOT VALIDATED ON A REAL ERP INSTALLATION.
For purchasing/accounts payable and managers: choose an invoice-date period, inspect the issuer, recipient, external reference, due date, currency, default-profile total and current allocated/unapplied amounts. Open all invoice lines, their full current product dossier, allocation-level payment details and stored invoice/line terms without loading every child at once.
Why Cifru? Adapt configurations to the way you work. Choose the fields, filters and details you need, and bring information to your phone that may not be available in your business software’s own mobile app. Available options depend on the data exposed by your authorized source and your Cifru plan.
IN THIS CONFIGURATION
Choose an invoice-date period, then see the customer/supplier, invoice and external references, dates, currency, default-profile total and current allocated/unallocated amounts. Three buttons open invoice lines, individual allocations with payment details, and stored terms. From a product line, open its current product dossier. These are current enquiry views, not historical balances or certified ledger/aging reports. Current product/party names are not historical invoice snapshots.
PRO PLAN
One authorised SQL Server source, five live lists and four on-demand related buttons. Each result is capped at 2,000 rows; invoice totals consider matching source lines/allocations before that cap. Search/local filters only inspect loaded results. Exact source numbers are displayed as text; numeric filtering is not promised. No scheduled refresh, writes, executable services or widgets. Existing workspace resources count toward your plan limits.
UNDERSTANDING THE AMOUNTS
Invoice-line AMOUNT is a unit price, not the line total. The pinned default InvoiceWorker profile uses invoice.decimals=2 and HALF_UP for both sales and purchase; tax extensions first use 3 decimals and are grouped by the source tax authority/geography before rounding each group to 2. Tax types come from the live TAXABLE_INV_ITM_TY classification, not the taxable flag or an inferred rate. Missing quantity/amount default to 1/0 only in calculations; displayed source values stay missing. The rounded extension shown on a tax line is not necessarily its grouped contribution. Verify installed arithmetic settings before use. Missing/duplicate identity or invalid classification makes affected totals unavailable, not zero. Subtotals/applied amounts and the combined invoice total must fit 35 integer digits plus 2 decimals; aggregate overflow can still fail a read.
PAYMENTS AND TERMS
An allocation is expressed in invoice currency. Whole-payment and actual-currency amounts are separate; no FX rate is guessed. Payments with a NULL effective date or date at/before the parent source-clock cutoff are included; future allocations remain visible but excluded from current allocated totals. Recorded status/paid date is not proof of collection. Children inherit the parent read-time context; check the source clock/timezone and reopen after data changes. Separate reads are not a transactional snapshot. Terms show raw text/value/unit/days: no inferred discount, percentage or interest. Explicit account overrides are not complete posting distributions.
BEFORE USING
For Apache OFBiz 24.09.07 on an existing SQL Server 2012+ installation with the selected dbo objects and pinned calculation profile. OFBiz ships with Derby by default; this is not a Derby, H2 or PostgreSQL adapter. Your administrator must verify physical columns/types/full keys, tenant restrictions, TLS, indexes and read performance. Direct SQL does not inherit OFBiz application permissions: use a least-privilege SELECT account. An opening/local filter is not an ACL. Map only an authorised source and run Cifru read/compatibility tests before business use. Useful business references are shown, technical relationship keys remain hidden. Credentials, bank/card instrument details and production data are not included.
VALIDATION AND GALLERY
Documentary and adapted synthetic tests plus native Android demonstrations: not a real ERP/SQL Server/iOS execution, security, performance or purchase certification. All five routes/four buttons and133 useful Detail positions were checked privately. The eight native photos are representative, not every133 field in eight images. Every example is wholly fictional DEMO. The test transport displays absent values as literal null; production SQL NULL handling is not certified. Original screenshots and private RAW recordings are retained for future videos.
PRIMARY DOCUMENTATION
https://github.com/apache/ofbiz-framework/tree/42819e5ae1d5339d3a204ac06b43e69d46a9c0ae/applications/datamodel/entitydef
https://github.com/apache/ofbiz-framework/blob/42819e5ae1d5339d3a204ac06b43e69d46a9c0ae/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceWorker.java
Screenshots
What this package creates
- Home: Supplier purchase invoices
- Details: Invoice lines
- Details: Allocations and payment details
- Details: Invoice terms
- Details: Current product dossier
- Sub-button: Invoice lines
- Sub-button: Allocations and payment details
- Sub-button: Invoice terms
- Sub-button: Current product dossier
Sources are mapped locally and verified before applying.
Custom queriesPRO5 SQL
Custom queries are a PRO feature. Cifru repeats read-only validation against the local source before execution.
$.components.workspaceSelection.datasets.0.sqlQueryWITH Clock AS (SELECT CONVERT(nvarchar(33), SYSDATETIME(), 126) AS SourceAsOf), Selected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_DATE>=CAST(:date_from AS date) AND i.INVOICE_DATE<CAST(:date_until AS date) AND :date_from<:date_until GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END), HeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)), H AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END), TaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw), Lines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)), LineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END), TaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey), ApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)), PaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)), Payments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END), Applications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END), ApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), Checks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE 1=1), PM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END), ST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), IT AS (SELECT CASE WHEN INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARENT_TYPE_ID) ELSE NULL END AS PARENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVOICE_TYPE WHERE INVOICE_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_TYPE_ID)), 2)) END), NameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), PN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey) SELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, h.INVOICE_DATE AS InvoiceDate, CONVERT(nvarchar(100), h.INVOICE_DATE, 126) AS InvoiceDateText, CONVERT(nvarchar(100), h.DUE_DATE, 126) AS DueDate, CONVERT(nvarchar(100), h.PAID_DATE, 126) AS PaidDate, h.REFERENCE_NUMBER AS PartnerReference, CASE WHEN IT.Copies=1 AND IT.DESCRIPTION IS NOT NULL THEN IT.DESCRIPTION ELSE N'Invoice type unresolved' END AS InvoiceType, CASE WHEN ST.Copies=1 AND ST.DESCRIPTION IS NOT NULL THEN ST.DESCRIPTION ELSE N'Stored invoice status unresolved' END AS Status, CASE WHEN IssuerP.Copies=1 AND IssuerN.Copies=1 AND IssuerN.PartyName IS NOT NULL THEN IssuerN.PartyName ELSE N'Party name unresolved' END AS Issuer, CASE WHEN RecipientP.Copies=1 AND RecipientN.Copies=1 AND RecipientN.PartyName IS NOT NULL THEN RecipientN.PartyName ELSE N'Party name unresolved' END AS Recipient, CASE WHEN IssuerP.Copies=1 AND IssuerN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS IssuerState, CASE WHEN RecipientP.Copies=1 AND RecipientN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS RecipientState, CASE WHEN U.Copies=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Invoice currency unresolved' END AS Currency, h.DESCRIPTION AS Description, h.INVOICE_MESSAGE AS Message, CASE WHEN h.LineReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), h.NonTaxTotal)) ELSE NULL END AS NonTax, CASE WHEN h.LineReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), h.InvoiceTaxTotal)) ELSE NULL END AS Tax, CASE WHEN h.LineReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), TRY_CONVERT(decimal(37,2), h.NonTaxTotal)+TRY_CONVERT(decimal(37,2), h.InvoiceTaxTotal))) ELSE NULL END AS Total, CASE WHEN h.AppliedReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), h.AppliedRawTotal)) ELSE NULL END AS Applied, CASE WHEN h.LineReady=1 AND h.AppliedReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), h.NonTaxTotal)+TRY_CONVERT(decimal(37,2), h.InvoiceTaxTotal))-TRY_CONVERT(decimal(37,2), h.AppliedRawTotal))) ELSE NULL END AS Unapplied, CONVERT(nvarchar(100), h.GlobalCopies) AS GlobalCopies, CONVERT(nvarchar(100), h.LineRows) AS LineRows, CONVERT(nvarchar(100), h.InvalidLines) AS InvalidLines, CONVERT(nvarchar(100), h.BlankAuthorities) AS BlankAuthorities, CONVERT(nvarchar(100), h.InvalidTaxEnums) AS InvalidTaxEnums, CONVERT(nvarchar(100), h.ApplicationRows) AS ApplicationRows, CONVERT(nvarchar(100), h.InvalidApplications) AS InvalidApplications, CONVERT(nvarchar(100), h.FutureApplications) AS FutureApplications, N'Pinned InvoiceWorker defaults: amount 2; tax calculation 3; HALF_UP. Verify installed settings.' AS Profile, CASE WHEN h.LineReady=1 AND h.AppliedReady=1 THEN N'Default-profile totals available — not a certified ledger balance' ELSE N'Incomplete or repeated source identity/currency/classification; unavailable values are not zero' END AS CalculationState FROM Checks h LEFT JOIN IT ON IT.LookupKey=CASE WHEN h.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_TYPE_ID)), 2)) END LEFT JOIN ST ON ST.LookupKey=CASE WHEN h.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.STATUS_ID)), 2)) END LEFT JOIN U ON U.LookupKey=CASE WHEN h.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.CURRENCY_UOM_ID)), 2)) END LEFT JOIN PM IssuerP ON IssuerP.LookupKey=CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END LEFT JOIN PN IssuerN ON IssuerN.LookupKey=CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END LEFT JOIN PM RecipientP ON RecipientP.LookupKey=CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END LEFT JOIN PN RecipientN ON RecipientN.LookupKey=CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END
static read-only checks passed
$.components.workspaceSelection.datasets.1.sqlQueryWITH Clock AS (SELECT :as_of AS SourceAsOf), Selected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_ID=:invoice_id AND CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END=CASE WHEN :invoice_id IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), :invoice_id)), 2)) END GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END), HeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)), H AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END), TaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw), Lines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)), LineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END), TaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey), ApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)), PaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)), Payments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END), Applications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END), ApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), Checks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END)=:invoice_scope), PM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END), ST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL AND EXISTS (SELECT 1 FROM Lines l JOIN Checks h ON h.InvoiceLookupKey=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END WHERE CASE WHEN l.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.PRODUCT_ID)), 2)) END=CASE WHEN dbo.PRODUCT.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), dbo.PRODUCT.PRODUCT_ID)), 2)) END AND h.GlobalCopies=1) GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), LT AS (SELECT CASE WHEN INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVOICE_ITEM_TYPE_ID) ELSE NULL END AS INVOICE_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARENT_TYPE_ID) ELSE NULL END AS PARENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVOICE_ITEM_TYPE WHERE INVOICE_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ITEM_TYPE_ID)), 2)) END), GL AS (SELECT CASE WHEN GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), GL_ACCOUNT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(GL_ACCOUNT_ID) ELSE NULL END AS GL_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACCOUNT_CODE) ELSE NULL END AS ACCOUNT_CODE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACCOUNT_NAME) ELSE NULL END AS ACCOUNT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.GL_ACCOUNT WHERE GL_ACCOUNT_ID IS NOT NULL GROUP BY CASE WHEN GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), GL_ACCOUNT_ID)), 2)) END), NameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), PN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey) SELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, CONCAT(CONCAT(CONCAT(N'I|', CASE WHEN h.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_ID)), 2)) END, N'|', CASE WHEN h.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END, N'|', CASE WHEN h.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END), N'|L|', CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS LineKey, l.INVOICE_ITEM_SEQ_ID AS LineReference, l.DESCRIPTION AS Description, CASE WHEN LT.Copies=1 AND LT.DESCRIPTION IS NOT NULL THEN LT.DESCRIPTION ELSE N'Line type unresolved' END AS LineType, CASE WHEN l.PRODUCT_ID IS NULL THEN N'Non-product line' ELSE CASE WHEN P.Copies=1 AND P.PRODUCT_NAME IS NOT NULL THEN P.PRODUCT_NAME ELSE N'Product master unresolved' END END AS Product, l.PRODUCT_ID AS ProductReference, P.BRAND_NAME AS Brand, CONVERT(nvarchar(100), l.QUANTITY) AS Quantity, CONVERT(nvarchar(100), l.AMOUNT) AS UnitAmount, CASE WHEN U.Copies=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Line unit unresolved' END AS Unit, l.UOM_ID AS UnitCode, l.TAXABLE_FLAG AS TaxableCode, CONVERT(nvarchar(100), CONVERT(decimal(38,2), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 2))) AS LineCalculation, CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'Line classification missing — invoice total unavailable' WHEN l.IsTax=1 THEN N'Tax line in live taxable-item enumeration' ELSE N'Non-tax line in selected InvoiceWorker profile' END AS TaxClassification, CASE WHEN AuthorityP.Copies=1 AND AuthorityN.Copies=1 AND AuthorityN.PartyName IS NOT NULL THEN AuthorityN.PartyName ELSE N'Party name unresolved' END AS TaxAuthority, l.TAX_AUTH_GEO_ID AS TaxGeography, GL.ACCOUNT_CODE AS AccountCode, GL.ACCOUNT_NAME AS Account, CASE WHEN OverrideP.Copies=1 AND OverrideN.Copies=1 AND OverrideN.PartyName IS NOT NULL THEN OverrideN.PartyName ELSE N'Party name unresolved' END AS OverrideOrganisation, CASE WHEN P.Copies=1 THEN N'Unique Product master' WHEN P.Copies IS NULL THEN N'Product master missing' ELSE N'Product master repeated — no values chosen' END AS ProductState, CASE WHEN U.Copies=1 THEN N'Unique Line unit master' WHEN U.Copies IS NULL THEN N'Line unit master missing' ELSE N'Line unit master repeated — no values chosen' END AS UnitState, CASE WHEN GL.Copies=1 THEN N'Unique Explicit account override master' WHEN GL.Copies IS NULL THEN N'Explicit account override master missing' ELSE N'Explicit account override master repeated — no values chosen' END AS AccountState, CASE WHEN AuthorityP.Copies=1 AND AuthorityN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS AuthorityState, CASE WHEN OverrideP.Copies=1 AND OverrideN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS OverrideState, N'Unique full invoice + line identity; current masters, not historical names' AS LineState, N'Source quantity/amount remain raw; calculation defaults missing quantity to 1 and amount to 0. Line amount is not invoice total.' AS RawAmountRule FROM Checks h JOIN Lines l ON h.InvoiceLookupKey=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END CROSS JOIN Clock LEFT JOIN P ON P.LookupKey=CASE WHEN l.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.PRODUCT_ID)), 2)) END LEFT JOIN LT ON LT.LookupKey=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END LEFT JOIN U ON U.LookupKey=CASE WHEN l.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.UOM_ID)), 2)) END LEFT JOIN GL ON GL.LookupKey=CASE WHEN l.OVERRIDE_GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.OVERRIDE_GL_ACCOUNT_ID)), 2)) END LEFT JOIN PM AuthorityP ON AuthorityP.LookupKey=CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END LEFT JOIN PN AuthorityN ON AuthorityN.LookupKey=CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END LEFT JOIN PM OverrideP ON OverrideP.LookupKey=CASE WHEN l.OVERRIDE_ORG_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.OVERRIDE_ORG_PARTY_ID)), 2)) END LEFT JOIN PN OverrideN ON OverrideN.LookupKey=CASE WHEN l.OVERRIDE_ORG_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.OVERRIDE_ORG_PARTY_ID)), 2)) END WHERE h.GlobalCopies=1 AND l.FullCopies=1 AND l.INVOICE_ITEM_SEQ_ID IS NOT NULL
static read-only checks passed
$.components.workspaceSelection.datasets.2.sqlQueryWITH Clock AS (SELECT :as_of AS SourceAsOf), Selected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_ID=:invoice_id AND CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END=CASE WHEN :invoice_id IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), :invoice_id)), 2)) END GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END), HeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)), H AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END), TaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw), Lines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)), LineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END), TaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey), ApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)), PaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)), Payments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END), Applications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END), ApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), Checks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END)=:invoice_scope), PM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END), ST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), PAY AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_ID) ELSE NULL END AS PAYMENT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_TYPE_ID) ELSE NULL END AS PAYMENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_METHOD_TYPE_ID) ELSE NULL END AS PAYMENT_METHOD_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID_TO) ELSE NULL END AS PARTY_ID_TO, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_REF_NUM) ELSE NULL END AS PAYMENT_REF_NUM, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AMOUNT) ELSE NULL END AS AMOUNT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(COMMENTS) ELSE NULL END AS COMMENTS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACTUAL_CURRENCY_AMOUNT) ELSE NULL END AS ACTUAL_CURRENCY_AMOUNT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACTUAL_CURRENCY_UOM_ID) ELSE NULL END AS ACTUAL_CURRENCY_UOM_ID FROM dbo.PAYMENT WHERE PAYMENT_ID IS NOT NULL AND EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN dbo.PAYMENT.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), dbo.PAYMENT.PAYMENT_ID)), 2)) END) GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END), PT AS (SELECT CASE WHEN PAYMENT_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_TYPE_ID) ELSE NULL END AS PAYMENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARENT_TYPE_ID) ELSE NULL END AS PARENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.PAYMENT_TYPE WHERE PAYMENT_TYPE_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_TYPE_ID)), 2)) END), MT AS (SELECT CASE WHEN PAYMENT_METHOD_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_METHOD_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_METHOD_TYPE_ID) ELSE NULL END AS PAYMENT_METHOD_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.PAYMENT_METHOD_TYPE WHERE PAYMENT_METHOD_TYPE_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_METHOD_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_METHOD_TYPE_ID)), 2)) END), GL AS (SELECT CASE WHEN GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), GL_ACCOUNT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(GL_ACCOUNT_ID) ELSE NULL END AS GL_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACCOUNT_CODE) ELSE NULL END AS ACCOUNT_CODE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACCOUNT_NAME) ELSE NULL END AS ACCOUNT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.GL_ACCOUNT WHERE GL_ACCOUNT_ID IS NOT NULL GROUP BY CASE WHEN GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), GL_ACCOUNT_ID)), 2)) END), NameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), PN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey) SELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, CONCAT(h.InvoiceScopeKey, N'|A|', CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS ApplicationKey, PAY.PAYMENT_REF_NUM AS PaymentReference, CONVERT(nvarchar(100), a.AMOUNT_APPLIED) AS AmountApplied, a.INVOICE_ITEM_SEQ_ID AS LineReference, CONVERT(nvarchar(100), PAY.EFFECTIVE_DATE, 126) AS EffectiveDate, CASE WHEN a.Included=1 THEN N'Included at parent read time' ELSE N'Future or unresolved payment — excluded from current applied amount' END AS Included, CASE WHEN PT.Copies=1 AND PT.DESCRIPTION IS NOT NULL THEN PT.DESCRIPTION ELSE N'Payment type unresolved' END AS PaymentType, CASE WHEN MT.Copies=1 AND MT.DESCRIPTION IS NOT NULL THEN MT.DESCRIPTION ELSE N'Method type unresolved' END AS Method, CASE WHEN ST.Copies=1 AND ST.DESCRIPTION IS NOT NULL THEN ST.DESCRIPTION ELSE N'Stored payment status unresolved' END AS PaymentStatus, CASE WHEN PayerP.Copies=1 AND PayerN.Copies=1 AND PayerN.PartyName IS NOT NULL THEN PayerN.PartyName ELSE N'Party name unresolved' END AS Payer, CASE WHEN PayeeP.Copies=1 AND PayeeN.Copies=1 AND PayeeN.PartyName IS NOT NULL THEN PayeeN.PartyName ELSE N'Party name unresolved' END AS Payee, CONVERT(nvarchar(100), PAY.AMOUNT) AS PaymentAmount, PAY.CURRENCY_UOM_ID AS PaymentCurrencyCode, CASE WHEN U.Copies=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Payment currency unresolved' END AS PaymentCurrency, CONVERT(nvarchar(100), PAY.ACTUAL_CURRENCY_AMOUNT) AS ActualAmount, PAY.ACTUAL_CURRENCY_UOM_ID AS ActualCurrencyCode, CASE WHEN AU.Copies=1 AND AU.DESCRIPTION IS NOT NULL THEN AU.DESCRIPTION ELSE N'Actual currency unresolved or not supplied' END AS ActualCurrency, PAY.COMMENTS AS Comments, GL.ACCOUNT_CODE AS AccountCode, GL.ACCOUNT_NAME AS Account, CASE WHEN PAY.Copies=1 THEN N'Unique Payment master' WHEN PAY.Copies IS NULL THEN N'Payment master missing' ELSE N'Payment master repeated — no values chosen' END AS PaymentState, CASE WHEN PayerP.Copies=1 AND PayerN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS PayerState, CASE WHEN PayeeP.Copies=1 AND PayeeN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS PayeeState, N'Allocated amount is in invoice currency. Whole payment and actual-currency amounts are separate; no inferred FX conversion.' AS AmountRule FROM Checks h JOIN Applications a ON h.InvoiceLookupKey=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END LEFT JOIN PAY ON PAY.LookupKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END LEFT JOIN PT ON PT.LookupKey=CASE WHEN PAY.PAYMENT_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PAYMENT_TYPE_ID)), 2)) END LEFT JOIN MT ON MT.LookupKey=CASE WHEN PAY.PAYMENT_METHOD_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PAYMENT_METHOD_TYPE_ID)), 2)) END LEFT JOIN ST ON ST.LookupKey=CASE WHEN PAY.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.STATUS_ID)), 2)) END LEFT JOIN U ON U.LookupKey=CASE WHEN PAY.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.CURRENCY_UOM_ID)), 2)) END LEFT JOIN U AU ON AU.LookupKey=CASE WHEN PAY.ACTUAL_CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.ACTUAL_CURRENCY_UOM_ID)), 2)) END LEFT JOIN GL ON GL.LookupKey=CASE WHEN a.OVERRIDE_GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.OVERRIDE_GL_ACCOUNT_ID)), 2)) END LEFT JOIN PM PayerP ON PayerP.LookupKey=CASE WHEN PAY.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PARTY_ID_FROM)), 2)) END LEFT JOIN PN PayerN ON PayerN.LookupKey=CASE WHEN PAY.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PARTY_ID_FROM)), 2)) END LEFT JOIN PM PayeeP ON PayeeP.LookupKey=CASE WHEN PAY.PARTY_ID_TO IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PARTY_ID_TO)), 2)) END LEFT JOIN PN PayeeN ON PayeeN.LookupKey=CASE WHEN PAY.PARTY_ID_TO IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PARTY_ID_TO)), 2)) END WHERE h.GlobalCopies=1 AND a.GlobalCopies=1 AND a.PAYMENT_APPLICATION_ID IS NOT NULL
static read-only checks passed
$.components.workspaceSelection.datasets.3.sqlQueryWITH Clock AS (SELECT :as_of AS SourceAsOf), Selected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_ID=:invoice_id AND CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END=CASE WHEN :invoice_id IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), :invoice_id)), 2)) END GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END), HeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)), H AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END), TaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw), Lines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)), LineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END), TaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey), ApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)), PaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)), Payments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END), Applications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END), ApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), Checks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END)=:invoice_scope), Terms AS (SELECT t.INVOICE_TERM_ID, t.TERM_TYPE_ID, t.INVOICE_ID, t.INVOICE_ITEM_SEQ_ID, t.TERM_VALUE, t.TERM_DAYS, t.TEXT_VALUE, t.DESCRIPTION, t.UOM_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_TERM z WHERE CASE WHEN z.INVOICE_TERM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_TERM_ID)), 2)) END=CASE WHEN t.INVOICE_TERM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.INVOICE_TERM_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE_TERM t WHERE EXISTS (SELECT 1 FROM Checks h WHERE h.INVOICE_ID=t.INVOICE_ID AND CASE WHEN h.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_ID)), 2)) END=CASE WHEN t.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.INVOICE_ID)), 2)) END)), PM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END), ST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), TT AS (SELECT CASE WHEN TERM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), TERM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TERM_TYPE_ID) ELSE NULL END AS TERM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARENT_TYPE_ID) ELSE NULL END AS PARENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.TERM_TYPE WHERE TERM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN TERM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), TERM_TYPE_ID)), 2)) END), NameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), PN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey) SELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, CONCAT(h.InvoiceScopeKey, N'|T|', CASE WHEN t.INVOICE_TERM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.INVOICE_TERM_ID)), 2)) END) AS TermKey, CASE WHEN TT.Copies=1 AND TT.DESCRIPTION IS NOT NULL THEN TT.DESCRIPTION ELSE N'Term type unresolved' END AS Term, t.INVOICE_ITEM_SEQ_ID AS LineReference, t.DESCRIPTION AS Description, t.TEXT_VALUE AS Text, CONVERT(nvarchar(100), t.TERM_VALUE) AS Value, CONVERT(nvarchar(100), t.TERM_DAYS) AS Days, t.UOM_ID AS UnitCode, CASE WHEN TT.Copies=1 THEN N'Unique Term type master' WHEN TT.Copies IS NULL THEN N'Term type master missing' ELSE N'Term type master repeated — no values chosen' END AS TermState, N'Stored terms only; raw unit code has no declared Uom relation. No inferred discount, interest, percentage or payable amount.' AS Meaning FROM Checks h JOIN Terms t ON h.InvoiceLookupKey=CASE WHEN t.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.INVOICE_ID)), 2)) END LEFT JOIN TT ON TT.LookupKey=CASE WHEN t.TERM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.TERM_TYPE_ID)), 2)) END WHERE h.GlobalCopies=1 AND t.GlobalCopies=1 AND t.INVOICE_TERM_ID IS NOT NULL
static read-only checks passed
$.components.workspaceSelection.datasets.4.sqlQueryWITH Clock AS (SELECT :as_of AS SourceAsOf), Selected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_ID=:invoice_id AND CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END=CASE WHEN :invoice_id IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), :invoice_id)), 2)) END GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END), HeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)), H AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END), TaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw), Lines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)), LineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), TaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END), TaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey), ApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)), PaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)), Payments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END), Applications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END), ApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END), Checks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END)=:invoice_scope), PM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END), ST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END), U AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END), P AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL AND EXISTS (SELECT 1 FROM Lines l JOIN Checks h ON h.InvoiceLookupKey=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END WHERE CASE WHEN l.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.PRODUCT_ID)), 2)) END=CASE WHEN dbo.PRODUCT.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), dbo.PRODUCT.PRODUCT_ID)), 2)) END AND h.GlobalCopies=1) GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END), NameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL), PN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey) SELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, CONCAT(CONCAT(CONCAT(N'I|', CASE WHEN h.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_ID)), 2)) END, N'|', CASE WHEN h.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END, N'|', CASE WHEN h.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END), N'|L|', CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS LineKey, P.PRODUCT_ID AS PRODUCT_ID, P.PRODUCT_NAME AS PRODUCT_NAME, P.INTERNAL_NAME AS INTERNAL_NAME, P.BRAND_NAME AS BRAND_NAME, P.DESCRIPTION AS DESCRIPTION, P.INTRODUCTION_DATE AS INTRODUCTION_DATE, P.RELEASE_DATE AS RELEASE_DATE, P.SALES_DISCONTINUATION_DATE AS SALES_DISCONTINUATION_DATE, P.SUPPORT_DISCONTINUATION_DATE AS SUPPORT_DISCONTINUATION_DATE, P.INVENTORY_MESSAGE AS INVENTORY_MESSAGE, P.REQUIRE_INVENTORY AS REQUIRE_INVENTORY, P.QUANTITY_INCLUDED AS QUANTITY_INCLUDED, P.QUANTITY_UOM_ID AS QUANTITY_UOM_ID, P.PIECES_INCLUDED AS PIECES_INCLUDED, P.PRODUCT_WEIGHT AS PRODUCT_WEIGHT, P.SHIPPING_WEIGHT AS SHIPPING_WEIGHT, P.WEIGHT_UOM_ID AS WEIGHT_UOM_ID, P.PRODUCT_HEIGHT AS PRODUCT_HEIGHT, P.SHIPPING_HEIGHT AS SHIPPING_HEIGHT, P.HEIGHT_UOM_ID AS HEIGHT_UOM_ID, P.PRODUCT_WIDTH AS PRODUCT_WIDTH, P.SHIPPING_WIDTH AS SHIPPING_WIDTH, P.WIDTH_UOM_ID AS WIDTH_UOM_ID, P.PRODUCT_DEPTH AS PRODUCT_DEPTH, P.SHIPPING_DEPTH AS SHIPPING_DEPTH, P.DEPTH_UOM_ID AS DEPTH_UOM_ID, P.RETURNABLE AS RETURNABLE, P.TAXABLE AS TAXABLE, P.CHARGE_SHIPPING AS CHARGE_SHIPPING, P.INCLUDE_IN_PROMOTIONS AS INCLUDE_IN_PROMOTIONS, P.IS_VIRTUAL AS IS_VIRTUAL, P.IS_VARIANT AS IS_VARIANT, P.ORDER_DECIMAL_QUANTITY AS ORDER_DECIMAL_QUANTITY FROM Checks h JOIN Lines l ON h.InvoiceLookupKey=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END CROSS JOIN Clock JOIN P ON P.LookupKey=CASE WHEN l.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.PRODUCT_ID)), 2)) END WHERE h.GlobalCopies=1 AND l.FullCopies=1 AND l.INVOICE_ITEM_SEQ_ID IS NOT NULL AND P.Copies=1 AND CONCAT(CONCAT(CONCAT(N'I|', CASE WHEN h.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_ID)), 2)) END, N'|', CASE WHEN h.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END, N'|', CASE WHEN h.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END), N'|L|', CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END)=:line_context
static read-only checks passed
View the JSON being importedcollapsed by default
{
"components": {
"sourceSlots": [
{
"displayName": "Apache OFBiz — authorised SQL Server accounting",
"id": "3ADA35F3-CE41-5035-A916-57AA56B0F70C",
"kind": "sqlServer",
"requiredObjects": [
"dbo.ENUMERATION",
"dbo.GL_ACCOUNT",
"dbo.INVOICE",
"dbo.INVOICE_ITEM",
"dbo.INVOICE_ITEM_TYPE",
"dbo.INVOICE_TERM",
"dbo.INVOICE_TYPE",
"dbo.PARTY",
"dbo.PARTY_GROUP",
"dbo.PAYMENT",
"dbo.PAYMENT_APPLICATION",
"dbo.PAYMENT_METHOD_TYPE",
"dbo.PAYMENT_TYPE",
"dbo.PERSON",
"dbo.PRODUCT",
"dbo.STATUS_ITEM",
"dbo.TERM_TYPE",
"dbo.UOM"
],
"requiresCustomSQL": true
}
],
"workspaceSelection": {
"commonFields": [],
"datasets": [
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "descending",
"id": "4F735011-E033-5589-BF51-40D6F11DA441",
"key": "InvoiceDate",
"type": "date"
},
{
"direction": "ascending",
"id": "1FBAFB24-87C8-5993-9B00-F74D2B1076CD",
"key": "InvoiceKey",
"type": "text"
}
],
"id": "DB4DAA35-90BD-5C6C-9861-D874A8DA4C08",
"mappings": [
{
"commonFieldKey": "",
"key": "InvoiceKey",
"label": "Internal stable full invoice identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceScopeKey",
"label": "Internal invoice + read-time context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceScopeKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceInvoiceId",
"label": "Internal source invoice key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceInvoiceId",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceAsOf",
"label": "Internal allocation cut-off",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceAsOf",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CurrencyCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ReadTime",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceDate",
"label": "Internal opening-period date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceDate",
"type": "date",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceDateText",
"label": "Invoice date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceDateText",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "DueDate",
"label": "Due date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "DueDate",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "PaidDate",
"label": "Recorded paid date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PaidDate",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PartnerReference",
"label": "External / partner reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PartnerReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceType",
"label": "Invoice type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceType",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Status",
"label": "Recorded invoice status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Status",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Issuer",
"label": "Issuer (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Issuer",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Recipient",
"label": "Recipient (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Recipient",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "IssuerState",
"label": "Issuer name check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "IssuerState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RecipientState",
"label": "Recipient name check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RecipientState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Currency",
"label": "Invoice currency description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Currency",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Description",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Description",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Message",
"label": "Invoice message",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Message",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "NonTax",
"label": "Non-tax total (default profile)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "NonTax",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Tax",
"label": "Tax total (default profile)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Tax",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Total",
"label": "Invoice total (default profile)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Total",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Applied",
"label": "Allocated at read time",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Applied",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Unapplied",
"label": "Unallocated at read time",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Unapplied",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "GlobalCopies",
"label": "Invoice source copies",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "GlobalCopies",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "LineRows",
"label": "Invoice lines",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LineRows",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvalidLines",
"label": "Invalid line keys",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvalidLines",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "BlankAuthorities",
"label": "Tax rows skipped: empty authority",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "BlankAuthorities",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvalidTaxEnums",
"label": "Invalid tax classifications",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvalidTaxEnums",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ApplicationRows",
"label": "Allocation records",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ApplicationRows",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvalidApplications",
"label": "Invalid allocations",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvalidApplications",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "FutureApplications",
"label": "Future allocations",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "FutureApplications",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Profile",
"label": "Calculation profile",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Profile",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CalculationState",
"label": "Data / calculation checks",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CalculationState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Supplier purchase invoices",
"primaryKey": "InvoiceKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "InvoiceDate",
"id": "7F78B04B-2EA2-5959-9A28-64DBB4E5E2A9",
"name": "date_from",
"source": "openingPeriodStart",
"type": "date"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "InvoiceDate",
"id": "6517ED37-9A2E-5B0D-A782-FCBCCEF520FA",
"name": "date_until",
"source": "openingPeriodEndExclusive",
"type": "date"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"InvoiceReference",
"CurrencyCode",
"ReadTime",
"InvoiceDateText",
"DueDate",
"PaidDate",
"PartnerReference",
"InvoiceType",
"Status",
"Issuer",
"Recipient",
"IssuerState",
"RecipientState",
"Currency",
"Description",
"Message",
"NonTax",
"Tax",
"Total",
"Applied",
"Unapplied",
"GlobalCopies",
"LineRows",
"InvalidLines",
"BlankAuthorities",
"InvalidTaxEnums",
"ApplicationRows",
"InvalidApplications",
"FutureApplications",
"Profile",
"CalculationState"
],
"sourceID": "3ADA35F3-CE41-5035-A916-57AA56B0F70C",
"sqlQuery": "WITH Clock AS (SELECT CONVERT(nvarchar(33), SYSDATETIME(), 126) AS SourceAsOf),\nSelected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_DATE>=CAST(:date_from AS date) AND i.INVOICE_DATE<CAST(:date_until AS date) AND :date_from<:date_until GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END),\nHeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)),\nH AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END),\nTaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw),\nLines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)),\nLineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END),\nTaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey),\nApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)),\nPaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)),\nPayments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END),\nApplications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END),\nApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nChecks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE 1=1),\nPM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END),\nST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END),\nU AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END),\nIT AS (SELECT CASE WHEN INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARENT_TYPE_ID) ELSE NULL END AS PARENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVOICE_TYPE WHERE INVOICE_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_TYPE_ID)), 2)) END),\nNameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL),\nPN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey)\nSELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, h.INVOICE_DATE AS InvoiceDate, CONVERT(nvarchar(100), h.INVOICE_DATE, 126) AS InvoiceDateText, CONVERT(nvarchar(100), h.DUE_DATE, 126) AS DueDate, CONVERT(nvarchar(100), h.PAID_DATE, 126) AS PaidDate, h.REFERENCE_NUMBER AS PartnerReference, CASE WHEN IT.Copies=1 AND IT.DESCRIPTION IS NOT NULL THEN IT.DESCRIPTION ELSE N'Invoice type unresolved' END AS InvoiceType, CASE WHEN ST.Copies=1 AND ST.DESCRIPTION IS NOT NULL THEN ST.DESCRIPTION ELSE N'Stored invoice status unresolved' END AS Status, CASE WHEN IssuerP.Copies=1 AND IssuerN.Copies=1 AND IssuerN.PartyName IS NOT NULL THEN IssuerN.PartyName ELSE N'Party name unresolved' END AS Issuer, CASE WHEN RecipientP.Copies=1 AND RecipientN.Copies=1 AND RecipientN.PartyName IS NOT NULL THEN RecipientN.PartyName ELSE N'Party name unresolved' END AS Recipient, CASE WHEN IssuerP.Copies=1 AND IssuerN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS IssuerState, CASE WHEN RecipientP.Copies=1 AND RecipientN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS RecipientState, CASE WHEN U.Copies=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Invoice currency unresolved' END AS Currency, h.DESCRIPTION AS Description, h.INVOICE_MESSAGE AS Message, CASE WHEN h.LineReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), h.NonTaxTotal)) ELSE NULL END AS NonTax, CASE WHEN h.LineReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), h.InvoiceTaxTotal)) ELSE NULL END AS Tax, CASE WHEN h.LineReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), TRY_CONVERT(decimal(37,2), h.NonTaxTotal)+TRY_CONVERT(decimal(37,2), h.InvoiceTaxTotal))) ELSE NULL END AS Total, CASE WHEN h.AppliedReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), h.AppliedRawTotal)) ELSE NULL END AS Applied, CASE WHEN h.LineReady=1 AND h.AppliedReady=1 THEN CONVERT(nvarchar(100), CONVERT(decimal(38,2), TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), h.NonTaxTotal)+TRY_CONVERT(decimal(37,2), h.InvoiceTaxTotal))-TRY_CONVERT(decimal(37,2), h.AppliedRawTotal))) ELSE NULL END AS Unapplied, CONVERT(nvarchar(100), h.GlobalCopies) AS GlobalCopies, CONVERT(nvarchar(100), h.LineRows) AS LineRows, CONVERT(nvarchar(100), h.InvalidLines) AS InvalidLines, CONVERT(nvarchar(100), h.BlankAuthorities) AS BlankAuthorities, CONVERT(nvarchar(100), h.InvalidTaxEnums) AS InvalidTaxEnums, CONVERT(nvarchar(100), h.ApplicationRows) AS ApplicationRows, CONVERT(nvarchar(100), h.InvalidApplications) AS InvalidApplications, CONVERT(nvarchar(100), h.FutureApplications) AS FutureApplications, N'Pinned InvoiceWorker defaults: amount 2; tax calculation 3; HALF_UP. Verify installed settings.' AS Profile, CASE WHEN h.LineReady=1 AND h.AppliedReady=1 THEN N'Default-profile totals available — not a certified ledger balance' ELSE N'Incomplete or repeated source identity/currency/classification; unavailable values are not zero' END AS CalculationState FROM Checks h LEFT JOIN IT ON IT.LookupKey=CASE WHEN h.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_TYPE_ID)), 2)) END LEFT JOIN ST ON ST.LookupKey=CASE WHEN h.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.STATUS_ID)), 2)) END LEFT JOIN U ON U.LookupKey=CASE WHEN h.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.CURRENCY_UOM_ID)), 2)) END LEFT JOIN PM IssuerP ON IssuerP.LookupKey=CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END LEFT JOIN PN IssuerN ON IssuerN.LookupKey=CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END LEFT JOIN PM RecipientP ON RecipientP.LookupKey=CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END LEFT JOIN PN RecipientN ON RecipientN.LookupKey=CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "2D495B32-4C5A-54D1-B4F6-BFCE10310873",
"key": "LineReference",
"type": "text"
},
{
"direction": "ascending",
"id": "38F61D5E-BAB6-5BA0-9081-0A7F02099C14",
"key": "LineKey",
"type": "text"
}
],
"id": "CD8A2E7B-3E8C-50A6-B424-58059B8166CC",
"mappings": [
{
"commonFieldKey": "",
"key": "InvoiceKey",
"label": "Internal stable full invoice identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceScopeKey",
"label": "Internal invoice + read-time context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceScopeKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceInvoiceId",
"label": "Internal source invoice key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceInvoiceId",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceAsOf",
"label": "Internal allocation cut-off",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceAsOf",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CurrencyCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ReadTime",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "LineKey",
"label": "Internal full invoice + line + read-time identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LineKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "LineReference",
"label": "Line reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LineReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Description",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Description",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "LineType",
"label": "Line type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LineType",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Product",
"label": "Product (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Product",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "ProductReference",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ProductReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Brand",
"label": "Brand (current)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Brand",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Quantity",
"label": "Source quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Quantity",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "UnitAmount",
"label": "Source unit price",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "UnitAmount",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Unit",
"label": "Quantity unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Unit",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "UnitCode",
"label": "Source unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "UnitCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "TaxableCode",
"label": "Taxable (source code)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "TaxableCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "LineCalculation",
"label": "Rounded extension",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LineCalculation",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "TaxClassification",
"label": "Tax-line classification",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "TaxClassification",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "TaxAuthority",
"label": "Tax authority (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "TaxAuthority",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "TaxGeography",
"label": "Tax geography reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "TaxGeography",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "AccountCode",
"label": "Account override code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AccountCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Account",
"label": "Account override",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Account",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "OverrideOrganisation",
"label": "Organisation override (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "OverrideOrganisation",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ProductState",
"label": "Product check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ProductState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "UnitState",
"label": "Quantity unit check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "UnitState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "AccountState",
"label": "Account override check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AccountState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "AuthorityState",
"label": "Tax authority check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AuthorityState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "OverrideState",
"label": "Organisation override check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "OverrideState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "LineState",
"label": "Line identity check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LineState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RawAmountRule",
"label": "How the extension is calculated",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RawAmountRule",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Invoice lines",
"primaryKey": "LineKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "SourceInvoiceId",
"id": "13C02EA5-525D-5F36-9CB6-0091DDE7CA23",
"name": "invoice_id",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "InvoiceScopeKey",
"id": "603122E8-0456-5A08-8E16-9AD6216CCA80",
"name": "invoice_scope",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "SourceAsOf",
"id": "6057EC9F-C4A2-5727-A57A-AE0058CD05CB",
"name": "as_of",
"source": "parentField",
"type": "text"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"InvoiceReference",
"CurrencyCode",
"ReadTime",
"LineReference",
"Description",
"LineType",
"Product",
"ProductReference",
"Brand",
"Quantity",
"UnitAmount",
"Unit",
"UnitCode",
"TaxableCode",
"LineCalculation",
"TaxClassification",
"TaxAuthority",
"TaxGeography",
"AccountCode",
"Account",
"OverrideOrganisation",
"ProductState",
"UnitState",
"AccountState",
"AuthorityState",
"OverrideState",
"LineState",
"RawAmountRule"
],
"sourceID": "3ADA35F3-CE41-5035-A916-57AA56B0F70C",
"sqlQuery": "WITH Clock AS (SELECT :as_of AS SourceAsOf),\nSelected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_ID=:invoice_id AND CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END=CASE WHEN :invoice_id IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), :invoice_id)), 2)) END GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END),\nHeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)),\nH AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END),\nTaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw),\nLines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)),\nLineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END),\nTaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey),\nApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)),\nPaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)),\nPayments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END),\nApplications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END),\nApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nChecks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END)=:invoice_scope),\nPM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END),\nST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END),\nU AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END),\nP AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL AND EXISTS (SELECT 1 FROM Lines l JOIN Checks h ON h.InvoiceLookupKey=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END WHERE CASE WHEN l.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.PRODUCT_ID)), 2)) END=CASE WHEN dbo.PRODUCT.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), dbo.PRODUCT.PRODUCT_ID)), 2)) END AND h.GlobalCopies=1) GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END),\nLT AS (SELECT CASE WHEN INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ITEM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVOICE_ITEM_TYPE_ID) ELSE NULL END AS INVOICE_ITEM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARENT_TYPE_ID) ELSE NULL END AS PARENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.INVOICE_ITEM_TYPE WHERE INVOICE_ITEM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ITEM_TYPE_ID)), 2)) END),\nGL AS (SELECT CASE WHEN GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), GL_ACCOUNT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(GL_ACCOUNT_ID) ELSE NULL END AS GL_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACCOUNT_CODE) ELSE NULL END AS ACCOUNT_CODE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACCOUNT_NAME) ELSE NULL END AS ACCOUNT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.GL_ACCOUNT WHERE GL_ACCOUNT_ID IS NOT NULL GROUP BY CASE WHEN GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), GL_ACCOUNT_ID)), 2)) END),\nNameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL),\nPN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey)\nSELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, CONCAT(CONCAT(CONCAT(N'I|', CASE WHEN h.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_ID)), 2)) END, N'|', CASE WHEN h.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END, N'|', CASE WHEN h.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END), N'|L|', CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS LineKey, l.INVOICE_ITEM_SEQ_ID AS LineReference, l.DESCRIPTION AS Description, CASE WHEN LT.Copies=1 AND LT.DESCRIPTION IS NOT NULL THEN LT.DESCRIPTION ELSE N'Line type unresolved' END AS LineType, CASE WHEN l.PRODUCT_ID IS NULL THEN N'Non-product line' ELSE CASE WHEN P.Copies=1 AND P.PRODUCT_NAME IS NOT NULL THEN P.PRODUCT_NAME ELSE N'Product master unresolved' END END AS Product, l.PRODUCT_ID AS ProductReference, P.BRAND_NAME AS Brand, CONVERT(nvarchar(100), l.QUANTITY) AS Quantity, CONVERT(nvarchar(100), l.AMOUNT) AS UnitAmount, CASE WHEN U.Copies=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Line unit unresolved' END AS Unit, l.UOM_ID AS UnitCode, l.TAXABLE_FLAG AS TaxableCode, CONVERT(nvarchar(100), CONVERT(decimal(38,2), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 2))) AS LineCalculation, CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'Line classification missing — invoice total unavailable' WHEN l.IsTax=1 THEN N'Tax line in live taxable-item enumeration' ELSE N'Non-tax line in selected InvoiceWorker profile' END AS TaxClassification, CASE WHEN AuthorityP.Copies=1 AND AuthorityN.Copies=1 AND AuthorityN.PartyName IS NOT NULL THEN AuthorityN.PartyName ELSE N'Party name unresolved' END AS TaxAuthority, l.TAX_AUTH_GEO_ID AS TaxGeography, GL.ACCOUNT_CODE AS AccountCode, GL.ACCOUNT_NAME AS Account, CASE WHEN OverrideP.Copies=1 AND OverrideN.Copies=1 AND OverrideN.PartyName IS NOT NULL THEN OverrideN.PartyName ELSE N'Party name unresolved' END AS OverrideOrganisation, CASE WHEN P.Copies=1 THEN N'Unique Product master' WHEN P.Copies IS NULL THEN N'Product master missing' ELSE N'Product master repeated — no values chosen' END AS ProductState, CASE WHEN U.Copies=1 THEN N'Unique Line unit master' WHEN U.Copies IS NULL THEN N'Line unit master missing' ELSE N'Line unit master repeated — no values chosen' END AS UnitState, CASE WHEN GL.Copies=1 THEN N'Unique Explicit account override master' WHEN GL.Copies IS NULL THEN N'Explicit account override master missing' ELSE N'Explicit account override master repeated — no values chosen' END AS AccountState, CASE WHEN AuthorityP.Copies=1 AND AuthorityN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS AuthorityState, CASE WHEN OverrideP.Copies=1 AND OverrideN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS OverrideState, N'Unique full invoice + line identity; current masters, not historical names' AS LineState, N'Source quantity/amount remain raw; calculation defaults missing quantity to 1 and amount to 0. Line amount is not invoice total.' AS RawAmountRule FROM Checks h JOIN Lines l ON h.InvoiceLookupKey=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END CROSS JOIN Clock LEFT JOIN P ON P.LookupKey=CASE WHEN l.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.PRODUCT_ID)), 2)) END LEFT JOIN LT ON LT.LookupKey=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END LEFT JOIN U ON U.LookupKey=CASE WHEN l.UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.UOM_ID)), 2)) END LEFT JOIN GL ON GL.LookupKey=CASE WHEN l.OVERRIDE_GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.OVERRIDE_GL_ACCOUNT_ID)), 2)) END LEFT JOIN PM AuthorityP ON AuthorityP.LookupKey=CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END LEFT JOIN PN AuthorityN ON AuthorityN.LookupKey=CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END LEFT JOIN PM OverrideP ON OverrideP.LookupKey=CASE WHEN l.OVERRIDE_ORG_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.OVERRIDE_ORG_PARTY_ID)), 2)) END LEFT JOIN PN OverrideN ON OverrideN.LookupKey=CASE WHEN l.OVERRIDE_ORG_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.OVERRIDE_ORG_PARTY_ID)), 2)) END WHERE h.GlobalCopies=1 AND l.FullCopies=1 AND l.INVOICE_ITEM_SEQ_ID IS NOT NULL",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "8E976C74-EA86-5F41-A972-185432974768",
"key": "PaymentReference",
"type": "text"
},
{
"direction": "ascending",
"id": "F1046CD4-A960-579F-97BB-CB9ED2715E8B",
"key": "ApplicationKey",
"type": "text"
}
],
"id": "00D5A2FC-C523-5D02-8EDB-3F51D83FDEE3",
"mappings": [
{
"commonFieldKey": "",
"key": "InvoiceKey",
"label": "Internal stable full invoice identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceScopeKey",
"label": "Internal invoice + read-time context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceScopeKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceInvoiceId",
"label": "Internal source invoice key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceInvoiceId",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceAsOf",
"label": "Internal allocation cut-off",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceAsOf",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CurrencyCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ReadTime",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ApplicationKey",
"label": "Internal full allocation context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ApplicationKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PaymentReference",
"label": "Payment reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PaymentReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "AmountApplied",
"label": "Allocation in invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AmountApplied",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "LineReference",
"label": "Line reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LineReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "EffectiveDate",
"label": "Payment effective date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "EffectiveDate",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Included",
"label": "Allocation cutoff check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Included",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PaymentType",
"label": "Payment type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PaymentType",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Method",
"label": "Payment-method type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Method",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "PaymentStatus",
"label": "Recorded payment status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PaymentStatus",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Payer",
"label": "Payer (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Payer",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Payee",
"label": "Payment recipient (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Payee",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "PaymentAmount",
"label": "Whole-payment amount",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PaymentAmount",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PaymentCurrencyCode",
"label": "Whole-payment currency code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PaymentCurrencyCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PaymentCurrency",
"label": "Whole-payment currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PaymentCurrency",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ActualAmount",
"label": "Actual-currency payment amount",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ActualAmount",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ActualCurrencyCode",
"label": "Actual-payment currency code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ActualCurrencyCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ActualCurrency",
"label": "Actual-payment currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ActualCurrency",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Comments",
"label": "Payment comments",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Comments",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "AccountCode",
"label": "Account override code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AccountCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Account",
"label": "Account override",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Account",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PaymentState",
"label": "Payment identity check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PaymentState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PayerState",
"label": "Payer name check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PayerState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PayeeState",
"label": "Recipient name check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PayeeState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "AmountRule",
"label": "Allocation and payment differ",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "AmountRule",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Allocations and payment details",
"primaryKey": "ApplicationKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "SourceInvoiceId",
"id": "13C02EA5-525D-5F36-9CB6-0091DDE7CA23",
"name": "invoice_id",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "InvoiceScopeKey",
"id": "603122E8-0456-5A08-8E16-9AD6216CCA80",
"name": "invoice_scope",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "SourceAsOf",
"id": "6057EC9F-C4A2-5727-A57A-AE0058CD05CB",
"name": "as_of",
"source": "parentField",
"type": "text"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"InvoiceReference",
"CurrencyCode",
"ReadTime",
"PaymentReference",
"AmountApplied",
"LineReference",
"EffectiveDate",
"Included",
"PaymentType",
"Method",
"PaymentStatus",
"Payer",
"Payee",
"PaymentAmount",
"PaymentCurrencyCode",
"PaymentCurrency",
"ActualAmount",
"ActualCurrencyCode",
"ActualCurrency",
"Comments",
"AccountCode",
"Account",
"PaymentState",
"PayerState",
"PayeeState",
"AmountRule"
],
"sourceID": "3ADA35F3-CE41-5035-A916-57AA56B0F70C",
"sqlQuery": "WITH Clock AS (SELECT :as_of AS SourceAsOf),\nSelected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_ID=:invoice_id AND CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END=CASE WHEN :invoice_id IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), :invoice_id)), 2)) END GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END),\nHeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)),\nH AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END),\nTaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw),\nLines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)),\nLineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END),\nTaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey),\nApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)),\nPaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)),\nPayments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END),\nApplications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END),\nApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nChecks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END)=:invoice_scope),\nPM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END),\nST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END),\nU AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END),\nPAY AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_ID) ELSE NULL END AS PAYMENT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_TYPE_ID) ELSE NULL END AS PAYMENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_METHOD_TYPE_ID) ELSE NULL END AS PAYMENT_METHOD_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID_TO) ELSE NULL END AS PARTY_ID_TO, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_REF_NUM) ELSE NULL END AS PAYMENT_REF_NUM, CASE WHEN COUNT_BIG(*)=1 THEN MAX(AMOUNT) ELSE NULL END AS AMOUNT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(COMMENTS) ELSE NULL END AS COMMENTS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACTUAL_CURRENCY_AMOUNT) ELSE NULL END AS ACTUAL_CURRENCY_AMOUNT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACTUAL_CURRENCY_UOM_ID) ELSE NULL END AS ACTUAL_CURRENCY_UOM_ID FROM dbo.PAYMENT WHERE PAYMENT_ID IS NOT NULL AND EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN dbo.PAYMENT.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), dbo.PAYMENT.PAYMENT_ID)), 2)) END) GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END),\nPT AS (SELECT CASE WHEN PAYMENT_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_TYPE_ID) ELSE NULL END AS PAYMENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARENT_TYPE_ID) ELSE NULL END AS PARENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.PAYMENT_TYPE WHERE PAYMENT_TYPE_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_TYPE_ID)), 2)) END),\nMT AS (SELECT CASE WHEN PAYMENT_METHOD_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_METHOD_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PAYMENT_METHOD_TYPE_ID) ELSE NULL END AS PAYMENT_METHOD_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.PAYMENT_METHOD_TYPE WHERE PAYMENT_METHOD_TYPE_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_METHOD_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_METHOD_TYPE_ID)), 2)) END),\nGL AS (SELECT CASE WHEN GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), GL_ACCOUNT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(GL_ACCOUNT_ID) ELSE NULL END AS GL_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACCOUNT_CODE) ELSE NULL END AS ACCOUNT_CODE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ACCOUNT_NAME) ELSE NULL END AS ACCOUNT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.GL_ACCOUNT WHERE GL_ACCOUNT_ID IS NOT NULL GROUP BY CASE WHEN GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), GL_ACCOUNT_ID)), 2)) END),\nNameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL),\nPN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey)\nSELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, CONCAT(h.InvoiceScopeKey, N'|A|', CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS ApplicationKey, PAY.PAYMENT_REF_NUM AS PaymentReference, CONVERT(nvarchar(100), a.AMOUNT_APPLIED) AS AmountApplied, a.INVOICE_ITEM_SEQ_ID AS LineReference, CONVERT(nvarchar(100), PAY.EFFECTIVE_DATE, 126) AS EffectiveDate, CASE WHEN a.Included=1 THEN N'Included at parent read time' ELSE N'Future or unresolved payment — excluded from current applied amount' END AS Included, CASE WHEN PT.Copies=1 AND PT.DESCRIPTION IS NOT NULL THEN PT.DESCRIPTION ELSE N'Payment type unresolved' END AS PaymentType, CASE WHEN MT.Copies=1 AND MT.DESCRIPTION IS NOT NULL THEN MT.DESCRIPTION ELSE N'Method type unresolved' END AS Method, CASE WHEN ST.Copies=1 AND ST.DESCRIPTION IS NOT NULL THEN ST.DESCRIPTION ELSE N'Stored payment status unresolved' END AS PaymentStatus, CASE WHEN PayerP.Copies=1 AND PayerN.Copies=1 AND PayerN.PartyName IS NOT NULL THEN PayerN.PartyName ELSE N'Party name unresolved' END AS Payer, CASE WHEN PayeeP.Copies=1 AND PayeeN.Copies=1 AND PayeeN.PartyName IS NOT NULL THEN PayeeN.PartyName ELSE N'Party name unresolved' END AS Payee, CONVERT(nvarchar(100), PAY.AMOUNT) AS PaymentAmount, PAY.CURRENCY_UOM_ID AS PaymentCurrencyCode, CASE WHEN U.Copies=1 AND U.DESCRIPTION IS NOT NULL THEN U.DESCRIPTION ELSE N'Payment currency unresolved' END AS PaymentCurrency, CONVERT(nvarchar(100), PAY.ACTUAL_CURRENCY_AMOUNT) AS ActualAmount, PAY.ACTUAL_CURRENCY_UOM_ID AS ActualCurrencyCode, CASE WHEN AU.Copies=1 AND AU.DESCRIPTION IS NOT NULL THEN AU.DESCRIPTION ELSE N'Actual currency unresolved or not supplied' END AS ActualCurrency, PAY.COMMENTS AS Comments, GL.ACCOUNT_CODE AS AccountCode, GL.ACCOUNT_NAME AS Account, CASE WHEN PAY.Copies=1 THEN N'Unique Payment master' WHEN PAY.Copies IS NULL THEN N'Payment master missing' ELSE N'Payment master repeated — no values chosen' END AS PaymentState, CASE WHEN PayerP.Copies=1 AND PayerN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS PayerState, CASE WHEN PayeeP.Copies=1 AND PayeeN.Copies=1 THEN N'Unique current party and name' ELSE N'Current party/name missing or repeated' END AS PayeeState, N'Allocated amount is in invoice currency. Whole payment and actual-currency amounts are separate; no inferred FX conversion.' AS AmountRule FROM Checks h JOIN Applications a ON h.InvoiceLookupKey=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END LEFT JOIN PAY ON PAY.LookupKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END LEFT JOIN PT ON PT.LookupKey=CASE WHEN PAY.PAYMENT_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PAYMENT_TYPE_ID)), 2)) END LEFT JOIN MT ON MT.LookupKey=CASE WHEN PAY.PAYMENT_METHOD_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PAYMENT_METHOD_TYPE_ID)), 2)) END LEFT JOIN ST ON ST.LookupKey=CASE WHEN PAY.STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.STATUS_ID)), 2)) END LEFT JOIN U ON U.LookupKey=CASE WHEN PAY.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.CURRENCY_UOM_ID)), 2)) END LEFT JOIN U AU ON AU.LookupKey=CASE WHEN PAY.ACTUAL_CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.ACTUAL_CURRENCY_UOM_ID)), 2)) END LEFT JOIN GL ON GL.LookupKey=CASE WHEN a.OVERRIDE_GL_ACCOUNT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.OVERRIDE_GL_ACCOUNT_ID)), 2)) END LEFT JOIN PM PayerP ON PayerP.LookupKey=CASE WHEN PAY.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PARTY_ID_FROM)), 2)) END LEFT JOIN PN PayerN ON PayerN.LookupKey=CASE WHEN PAY.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PARTY_ID_FROM)), 2)) END LEFT JOIN PM PayeeP ON PayeeP.LookupKey=CASE WHEN PAY.PARTY_ID_TO IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PARTY_ID_TO)), 2)) END LEFT JOIN PN PayeeN ON PayeeN.LookupKey=CASE WHEN PAY.PARTY_ID_TO IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAY.PARTY_ID_TO)), 2)) END WHERE h.GlobalCopies=1 AND a.GlobalCopies=1 AND a.PAYMENT_APPLICATION_ID IS NOT NULL",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "6949DF54-C2BD-5C6D-A744-75925B34D88F",
"key": "Term",
"type": "text"
},
{
"direction": "ascending",
"id": "2F879CA6-22BD-5317-BFFC-78174A1B21B0",
"key": "TermKey",
"type": "text"
}
],
"id": "AC7EAFE5-EE06-5F3A-9EBF-8F30143D1E3A",
"mappings": [
{
"commonFieldKey": "",
"key": "InvoiceKey",
"label": "Internal stable full invoice identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceScopeKey",
"label": "Internal invoice + read-time context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceScopeKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceInvoiceId",
"label": "Internal source invoice key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceInvoiceId",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceAsOf",
"label": "Internal allocation cut-off",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceAsOf",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CurrencyCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ReadTime",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "TermKey",
"label": "Internal full term context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "TermKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Term",
"label": "Term type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Term",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "LineReference",
"label": "Line reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LineReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Description",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Description",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Text",
"label": "Term text",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Text",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Value",
"label": "Stored term value",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Value",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "Days",
"label": "Term days",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Days",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "UnitCode",
"label": "Source unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "UnitCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "TermState",
"label": "Term-type check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "TermState",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "Meaning",
"label": "Term interpretation",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "Meaning",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Invoice terms",
"primaryKey": "TermKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "SourceInvoiceId",
"id": "13C02EA5-525D-5F36-9CB6-0091DDE7CA23",
"name": "invoice_id",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "InvoiceScopeKey",
"id": "603122E8-0456-5A08-8E16-9AD6216CCA80",
"name": "invoice_scope",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "SourceAsOf",
"id": "6057EC9F-C4A2-5727-A57A-AE0058CD05CB",
"name": "as_of",
"source": "parentField",
"type": "text"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"InvoiceReference",
"CurrencyCode",
"ReadTime",
"Term",
"LineReference",
"Description",
"Text",
"Value",
"Days",
"UnitCode",
"TermState",
"Meaning"
],
"sourceID": "3ADA35F3-CE41-5035-A916-57AA56B0F70C",
"sqlQuery": "WITH Clock AS (SELECT :as_of AS SourceAsOf),\nSelected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_ID=:invoice_id AND CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END=CASE WHEN :invoice_id IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), :invoice_id)), 2)) END GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END),\nHeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)),\nH AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END),\nTaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw),\nLines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)),\nLineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END),\nTaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey),\nApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)),\nPaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)),\nPayments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END),\nApplications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END),\nApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nChecks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END)=:invoice_scope),\nTerms AS (SELECT t.INVOICE_TERM_ID, t.TERM_TYPE_ID, t.INVOICE_ID, t.INVOICE_ITEM_SEQ_ID, t.TERM_VALUE, t.TERM_DAYS, t.TEXT_VALUE, t.DESCRIPTION, t.UOM_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_TERM z WHERE CASE WHEN z.INVOICE_TERM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_TERM_ID)), 2)) END=CASE WHEN t.INVOICE_TERM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.INVOICE_TERM_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE_TERM t WHERE EXISTS (SELECT 1 FROM Checks h WHERE h.INVOICE_ID=t.INVOICE_ID AND CASE WHEN h.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_ID)), 2)) END=CASE WHEN t.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.INVOICE_ID)), 2)) END)),\nPM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END),\nST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END),\nU AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END),\nTT AS (SELECT CASE WHEN TERM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), TERM_TYPE_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TERM_TYPE_ID) ELSE NULL END AS TERM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARENT_TYPE_ID) ELSE NULL END AS PARENT_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.TERM_TYPE WHERE TERM_TYPE_ID IS NOT NULL GROUP BY CASE WHEN TERM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), TERM_TYPE_ID)), 2)) END),\nNameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL),\nPN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey)\nSELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, CONCAT(h.InvoiceScopeKey, N'|T|', CASE WHEN t.INVOICE_TERM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.INVOICE_TERM_ID)), 2)) END) AS TermKey, CASE WHEN TT.Copies=1 AND TT.DESCRIPTION IS NOT NULL THEN TT.DESCRIPTION ELSE N'Term type unresolved' END AS Term, t.INVOICE_ITEM_SEQ_ID AS LineReference, t.DESCRIPTION AS Description, t.TEXT_VALUE AS Text, CONVERT(nvarchar(100), t.TERM_VALUE) AS Value, CONVERT(nvarchar(100), t.TERM_DAYS) AS Days, t.UOM_ID AS UnitCode, CASE WHEN TT.Copies=1 THEN N'Unique Term type master' WHEN TT.Copies IS NULL THEN N'Term type master missing' ELSE N'Term type master repeated — no values chosen' END AS TermState, N'Stored terms only; raw unit code has no declared Uom relation. No inferred discount, interest, percentage or payable amount.' AS Meaning FROM Checks h JOIN Terms t ON h.InvoiceLookupKey=CASE WHEN t.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.INVOICE_ID)), 2)) END LEFT JOIN TT ON TT.LookupKey=CASE WHEN t.TERM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), t.TERM_TYPE_ID)), 2)) END WHERE h.GlobalCopies=1 AND t.GlobalCopies=1 AND t.INVOICE_TERM_ID IS NOT NULL",
"tableName": ""
},
{
"cacheMode": "live",
"calculatedFields": [],
"customQueryIntegrationName": "Apache OFBiz",
"endpointPath": "",
"fetchSortRules": [
{
"direction": "ascending",
"id": "D91F3596-4BE8-5B0B-9129-D93E911F3D8C",
"key": "PRODUCT_NAME",
"type": "text"
},
{
"direction": "ascending",
"id": "38F61D5E-BAB6-5BA0-9081-0A7F02099C14",
"key": "LineKey",
"type": "text"
}
],
"id": "E97CEC25-02B4-57FE-8E71-060E41FD7355",
"mappings": [
{
"commonFieldKey": "",
"key": "InvoiceKey",
"label": "Internal stable full invoice identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceScopeKey",
"label": "Internal invoice + read-time context",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceScopeKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceInvoiceId",
"label": "Internal source invoice key",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceInvoiceId",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SourceAsOf",
"label": "Internal allocation cut-off",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SourceAsOf",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "InvoiceReference",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CurrencyCode",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ReadTime",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "LineKey",
"label": "Internal full invoice + line + read-time identity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "LineKey",
"type": "text",
"visibleInDetail": false,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_ID",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_NAME",
"label": "Product name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_NAME",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "INTERNAL_NAME",
"label": "Internal product name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "INTERNAL_NAME",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "BRAND_NAME",
"label": "Brand",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "BRAND_NAME",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "DESCRIPTION",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "DESCRIPTION",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "INTRODUCTION_DATE",
"label": "Introduction date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "INTRODUCTION_DATE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RELEASE_DATE",
"label": "Release date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RELEASE_DATE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SALES_DISCONTINUATION_DATE",
"label": "Sales discontinuation date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SALES_DISCONTINUATION_DATE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SUPPORT_DISCONTINUATION_DATE",
"label": "Support discontinuation date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SUPPORT_DISCONTINUATION_DATE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "INVENTORY_MESSAGE",
"label": "Inventory message — not stock",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "INVENTORY_MESSAGE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "REQUIRE_INVENTORY",
"label": "Inventory required — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "REQUIRE_INVENTORY",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "QUANTITY_INCLUDED",
"label": "Quantity in each piece",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "QUANTITY_INCLUDED",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "QUANTITY_UOM_ID",
"label": "Quantity unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "QUANTITY_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PIECES_INCLUDED",
"label": "Pieces included",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PIECES_INCLUDED",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "PRODUCT_WEIGHT",
"label": "Product weight",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_WEIGHT",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SHIPPING_WEIGHT",
"label": "Shipping weight",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SHIPPING_WEIGHT",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "WEIGHT_UOM_ID",
"label": "Weight unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "WEIGHT_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_HEIGHT",
"label": "Product height",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_HEIGHT",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SHIPPING_HEIGHT",
"label": "Shipping height",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SHIPPING_HEIGHT",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "HEIGHT_UOM_ID",
"label": "Height unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "HEIGHT_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_WIDTH",
"label": "Product width",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_WIDTH",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SHIPPING_WIDTH",
"label": "Shipping width",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SHIPPING_WIDTH",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "WIDTH_UOM_ID",
"label": "Width unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "WIDTH_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "PRODUCT_DEPTH",
"label": "Product depth",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "PRODUCT_DEPTH",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "SHIPPING_DEPTH",
"label": "Shipping depth",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "SHIPPING_DEPTH",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "DEPTH_UOM_ID",
"label": "Depth unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "DEPTH_UOM_ID",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "RETURNABLE",
"label": "Returnable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "RETURNABLE",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "TAXABLE",
"label": "Taxable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "TAXABLE",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "CHARGE_SHIPPING",
"label": "Charge shipping — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "CHARGE_SHIPPING",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "INCLUDE_IN_PROMOTIONS",
"label": "Include in promotions — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "INCLUDE_IN_PROMOTIONS",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "IS_VIRTUAL",
"label": "Virtual product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "IS_VIRTUAL",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
},
{
"commonFieldKey": "",
"key": "IS_VARIANT",
"label": "Variant product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "IS_VARIANT",
"type": "text",
"visibleInDetail": true,
"visibleInList": true
},
{
"commonFieldKey": "",
"key": "ORDER_DECIMAL_QUANTITY",
"label": "Decimal orders — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text",
"sourceColumn": "ORDER_DECIMAL_QUANTITY",
"type": "text",
"visibleInDetail": true,
"visibleInList": false
}
],
"maxRows": 2000,
"name": "Current product dossier",
"primaryKey": "LineKey",
"queryParameters": [
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "SourceInvoiceId",
"id": "13C02EA5-525D-5F36-9CB6-0091DDE7CA23",
"name": "invoice_id",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "InvoiceScopeKey",
"id": "603122E8-0456-5A08-8E16-9AD6216CCA80",
"name": "invoice_scope",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "SourceAsOf",
"id": "6057EC9F-C4A2-5727-A57A-AE0058CD05CB",
"name": "as_of",
"source": "parentField",
"type": "text"
},
{
"constantValue": "",
"dayOffset": 0,
"fieldKey": "LineKey",
"id": "37D2C67B-C43E-5512-AE4C-B643CE2B515E",
"name": "line_context",
"source": "parentField",
"type": "text"
}
],
"refreshPolicy": {
"enabled": false,
"intervalMinutes": 60
},
"rootArrayPath": "",
"rowLimitEnabled": true,
"searchKeys": [
"InvoiceReference",
"CurrencyCode",
"ReadTime",
"PRODUCT_ID",
"PRODUCT_NAME",
"INTERNAL_NAME",
"BRAND_NAME",
"DESCRIPTION",
"INTRODUCTION_DATE",
"RELEASE_DATE",
"SALES_DISCONTINUATION_DATE",
"SUPPORT_DISCONTINUATION_DATE",
"INVENTORY_MESSAGE",
"REQUIRE_INVENTORY",
"QUANTITY_INCLUDED",
"QUANTITY_UOM_ID",
"PIECES_INCLUDED",
"PRODUCT_WEIGHT",
"SHIPPING_WEIGHT",
"WEIGHT_UOM_ID",
"PRODUCT_HEIGHT",
"SHIPPING_HEIGHT",
"HEIGHT_UOM_ID",
"PRODUCT_WIDTH",
"SHIPPING_WIDTH",
"WIDTH_UOM_ID",
"PRODUCT_DEPTH",
"SHIPPING_DEPTH",
"DEPTH_UOM_ID",
"RETURNABLE",
"TAXABLE",
"CHARGE_SHIPPING",
"INCLUDE_IN_PROMOTIONS",
"IS_VIRTUAL",
"IS_VARIANT",
"ORDER_DECIMAL_QUANTITY"
],
"sourceID": "3ADA35F3-CE41-5035-A916-57AA56B0F70C",
"sqlQuery": "WITH Clock AS (SELECT :as_of AS SourceAsOf),\nSelected AS (SELECT MAX(i.INVOICE_ID) AS INVOICE_ID FROM dbo.INVOICE i WHERE i.INVOICE_ID IS NOT NULL AND CASE WHEN i.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_TYPE_ID)), 2)) END=CASE WHEN N'PURCHASE_INVOICE' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'PURCHASE_INVOICE')), 2)) END AND i.INVOICE_ID=:invoice_id AND CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END=CASE WHEN :invoice_id IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), :invoice_id)), 2)) END GROUP BY CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END),\nHeaderRaw AS (SELECT i.INVOICE_ID, i.INVOICE_TYPE_ID, i.PARTY_ID_FROM, i.PARTY_ID, i.ROLE_TYPE_ID, i.STATUS_ID, i.BILLING_ACCOUNT_ID, i.CONTACT_MECH_ID, i.INVOICE_DATE, i.DUE_DATE, i.PAID_DATE, i.INVOICE_MESSAGE, i.REFERENCE_NUMBER, i.DESCRIPTION, i.CURRENCY_UOM_ID, i.RECURRENCE_INFO_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE z WHERE z.INVOICE_ID=i.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END) AS GlobalCopies FROM dbo.INVOICE i WHERE EXISTS (SELECT 1 FROM Selected s WHERE s.INVOICE_ID=i.INVOICE_ID AND CASE WHEN s.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), s.INVOICE_ID)), 2)) END=CASE WHEN i.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), i.INVOICE_ID)), 2)) END)),\nH AS (SELECT MAX(INVOICE_ID) AS INVOICE_ID, MAX(GlobalCopies) AS GlobalCopies, CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_TYPE_ID) ELSE NULL END AS INVOICE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID_FROM) ELSE NULL END AS PARTY_ID_FROM, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(ROLE_TYPE_ID) ELSE NULL END AS ROLE_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(BILLING_ACCOUNT_ID) ELSE NULL END AS BILLING_ACCOUNT_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CONTACT_MECH_ID) ELSE NULL END AS CONTACT_MECH_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_DATE) ELSE NULL END AS INVOICE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DUE_DATE) ELSE NULL END AS DUE_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(PAID_DATE) ELSE NULL END AS PAID_DATE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(INVOICE_MESSAGE) ELSE NULL END AS INVOICE_MESSAGE, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(REFERENCE_NUMBER) ELSE NULL END AS REFERENCE_NUMBER, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(CURRENCY_UOM_ID) ELSE NULL END AS CURRENCY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 AND MAX(GlobalCopies)=1 THEN MAX(RECURRENCE_INFO_ID) ELSE NULL END AS RECURRENCE_INFO_ID FROM HeaderRaw GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxRaw AS (SELECT e.ENUM_ID, (SELECT COUNT_BIG(*) FROM dbo.ENUMERATION z WHERE CASE WHEN z.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.ENUM_ID)), 2)) END=CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END) AS GlobalCopies FROM dbo.ENUMERATION e WHERE CASE WHEN e.ENUM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_TYPE_ID)), 2)) END=CASE WHEN N'TAXABLE_INV_ITM_TY' IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), N'TAXABLE_INV_ITM_TY')), 2)) END),\nTaxState AS (SELECT COALESCE(SUM(CASE WHEN ENUM_ID IS NULL OR GlobalCopies<>1 THEN 1 ELSE 0 END),0) AS InvalidTaxEnums FROM TaxRaw),\nLines AS (SELECT l.INVOICE_ID, l.INVOICE_ITEM_SEQ_ID, l.INVOICE_ITEM_TYPE_ID, l.OVERRIDE_GL_ACCOUNT_ID, l.OVERRIDE_ORG_PARTY_ID, l.INVENTORY_ITEM_ID, l.PRODUCT_ID, l.PRODUCT_FEATURE_ID, l.PARENT_INVOICE_ID, l.PARENT_INVOICE_ITEM_SEQ_ID, l.UOM_ID, l.TAXABLE_FLAG, l.QUANTITY, l.AMOUNT, l.DESCRIPTION, l.TAX_AUTH_PARTY_ID, l.TAX_AUTH_GEO_ID, l.TAX_AUTHORITY_RATE_SEQ_ID, l.SALES_OPPORTUNITY_ID, (SELECT COUNT_BIG(*) FROM dbo.INVOICE_ITEM z WHERE z.INVOICE_ID=l.INVOICE_ID AND CASE WHEN z.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AND CASE WHEN z.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.INVOICE_ITEM_SEQ_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS FullCopies, CASE WHEN EXISTS (SELECT 1 FROM TaxRaw e WHERE CASE WHEN e.ENUM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), e.ENUM_ID)), 2)) END=CASE WHEN l.INVOICE_ITEM_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_TYPE_ID)), 2)) END) THEN 1 ELSE 0 END AS IsTax FROM dbo.INVOICE_ITEM l WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=l.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END)),\nLineState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS LineRows, COALESCE(SUM(CASE WHEN INVOICE_ITEM_SEQ_ID IS NULL OR FullCopies<>1 OR INVOICE_ITEM_TYPE_ID IS NULL THEN 1 ELSE 0 END),0) AS InvalidLines, COALESCE(SUM(CASE WHEN IsTax=1 AND DATALENGTH(TAX_AUTH_PARTY_ID)=0 THEN 1 ELSE 0 END),0) AS BlankAuthorities, SUM(CASE WHEN IsTax=0 THEN CONVERT(decimal(37,2), ROUND((COALESCE(QUANTITY, 1) * COALESCE(AMOUNT, 0)), 2)) ELSE 0 END) AS NonTaxTotal FROM Lines GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nTaxGroups AS (SELECT CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END AS InvoiceLookupKey, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END AS TaxGroupKey, SUM(CONVERT(decimal(36,3), ROUND((COALESCE(l.QUANTITY, 1) * COALESCE(l.AMOUNT, 0)), 3))) AS CalcTaxTotal FROM Lines l WHERE l.IsTax=1 AND (l.TAX_AUTH_PARTY_ID IS NULL OR NOT (DATALENGTH(l.TAX_AUTH_PARTY_ID)=0)) GROUP BY CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END, CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'Unattributed' ELSE CONCAT(N'T|', CASE WHEN l.TAX_AUTH_PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_PARTY_ID)), 2)) END, N'|G|', CASE WHEN l.TAX_AUTH_GEO_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.TAX_AUTH_GEO_ID)), 2)) END) END),\nTaxTotal AS (SELECT InvoiceLookupKey, SUM(CONVERT(decimal(37,2), ROUND(CalcTaxTotal, 2))) AS InvoiceTaxTotal FROM TaxGroups GROUP BY InvoiceLookupKey),\nApplicationsRaw AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, (SELECT COUNT_BIG(*) FROM dbo.PAYMENT_APPLICATION z WHERE CASE WHEN z.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), z.PAYMENT_APPLICATION_ID)), 2)) END=CASE WHEN a.PAYMENT_APPLICATION_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_APPLICATION_ID)), 2)) END) AS GlobalCopies FROM dbo.PAYMENT_APPLICATION a WHERE EXISTS (SELECT 1 FROM H WHERE H.INVOICE_ID=a.INVOICE_ID AND CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END=CASE WHEN a.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.INVOICE_ID)), 2)) END)),\nPaymentRaw AS (SELECT p.PAYMENT_ID,p.EFFECTIVE_DATE FROM dbo.PAYMENT p WHERE EXISTS (SELECT 1 FROM ApplicationsRaw a WHERE a.PAYMENT_ID=p.PAYMENT_ID AND CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END=CASE WHEN p.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), p.PAYMENT_ID)), 2)) END)),\nPayments AS (SELECT CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END AS PaymentKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(EFFECTIVE_DATE) ELSE NULL END AS EFFECTIVE_DATE FROM PaymentRaw WHERE PAYMENT_ID IS NOT NULL GROUP BY CASE WHEN PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PAYMENT_ID)), 2)) END),\nApplications AS (SELECT a.PAYMENT_APPLICATION_ID, a.PAYMENT_ID, a.INVOICE_ID, a.INVOICE_ITEM_SEQ_ID, a.BILLING_ACCOUNT_ID, a.OVERRIDE_GL_ACCOUNT_ID, a.TO_PAYMENT_ID, a.TAX_AUTH_GEO_ID, a.AMOUNT_APPLIED, a.GlobalCopies, p.Copies AS PaymentCopies,p.EFFECTIVE_DATE, CASE WHEN p.Copies=1 AND (p.EFFECTIVE_DATE IS NULL OR p.EFFECTIVE_DATE<=TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126)) THEN 1 ELSE 0 END AS Included FROM ApplicationsRaw a CROSS JOIN Clock LEFT JOIN Payments p ON p.PaymentKey=CASE WHEN a.PAYMENT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), a.PAYMENT_ID)), 2)) END),\nApplicationState AS (SELECT CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END AS InvoiceLookupKey, COUNT_BIG(*) AS ApplicationRows, COALESCE(SUM(CASE WHEN PAYMENT_APPLICATION_ID IS NULL OR GlobalCopies<>1 OR PaymentCopies IS NULL OR PaymentCopies<>1 OR (Included=1 AND AMOUNT_APPLIED IS NULL) THEN 1 ELSE 0 END),0) AS InvalidApplications, COALESCE(SUM(CASE WHEN PaymentCopies=1 AND EFFECTIVE_DATE IS NOT NULL AND Included=0 THEN 1 ELSE 0 END),0) AS FutureApplications, SUM(CASE WHEN Included=1 THEN AMOUNT_APPLIED ELSE 0 END) AS AppliedRawTotal FROM Applications GROUP BY CASE WHEN INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), INVOICE_ID)), 2)) END),\nChecks AS (SELECT H.INVOICE_ID, H.INVOICE_TYPE_ID, H.PARTY_ID_FROM, H.PARTY_ID, H.ROLE_TYPE_ID, H.STATUS_ID, H.BILLING_ACCOUNT_ID, H.CONTACT_MECH_ID, H.INVOICE_DATE, H.DUE_DATE, H.PAID_DATE, H.INVOICE_MESSAGE, H.REFERENCE_NUMBER, H.DESCRIPTION, H.CURRENCY_UOM_ID, H.RECURRENCE_INFO_ID, H.InvoiceLookupKey, H.GlobalCopies, Clock.SourceAsOf, CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END) AS InvoiceKey, CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END) AS InvoiceScopeKey, COALESCE(ls.LineRows,0) AS LineRows, COALESCE(ls.InvalidLines,0) AS InvalidLines, COALESCE(ls.BlankAuthorities,0) AS BlankAuthorities, COALESCE(aps.ApplicationRows,0) AS ApplicationRows, COALESCE(aps.InvalidApplications,0) AS InvalidApplications, COALESCE(aps.FutureApplications,0) AS FutureApplications, ts.InvalidTaxEnums, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(ls.InvalidLines,0)=0 AND ts.InvalidTaxEnums=0 AND TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0)) IS NOT NULL AND TRY_CONVERT(decimal(37,2), TRY_CONVERT(decimal(37,2), COALESCE(ls.NonTaxTotal,0))+TRY_CONVERT(decimal(37,2), COALESCE(tt.InvoiceTaxTotal,0))) IS NOT NULL THEN 1 ELSE 0 END AS LineReady, CASE WHEN H.GlobalCopies=1 AND H.CURRENCY_UOM_ID IS NOT NULL AND COALESCE(aps.InvalidApplications,0)=0 AND TRY_CONVERT(datetime2(7), Clock.SourceAsOf, 126) IS NOT NULL AND TRY_CONVERT(decimal(37,2), COALESCE(aps.AppliedRawTotal,0)) IS NOT NULL THEN 1 ELSE 0 END AS AppliedReady, COALESCE(ls.NonTaxTotal,0) AS NonTaxTotal, COALESCE(tt.InvoiceTaxTotal,0) AS InvoiceTaxTotal, COALESCE(aps.AppliedRawTotal,0) AS AppliedRawTotal FROM H CROSS JOIN Clock CROSS JOIN TaxState ts LEFT JOIN LineState ls ON ls.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN TaxTotal tt ON tt.InvoiceLookupKey=H.InvoiceLookupKey LEFT JOIN ApplicationState aps ON aps.InvoiceLookupKey=H.InvoiceLookupKey WHERE CONCAT(CONCAT(N'I|', CASE WHEN H.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_ID)), 2)) END, N'|', CASE WHEN H.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN H.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN H.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.PARTY_ID)), 2)) END, N'|', CASE WHEN H.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), H.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END)=:invoice_scope),\nPM AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_ID) ELSE NULL END AS PARTY_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PARTY_TYPE_ID) ELSE NULL END AS PARTY_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID FROM dbo.PARTY WHERE PARTY_ID IS NOT NULL GROUP BY CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END),\nST AS (SELECT CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(STATUS_ID) ELSE NULL END AS STATUS_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.STATUS_ITEM WHERE STATUS_ID IS NOT NULL GROUP BY CASE WHEN STATUS_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), STATUS_ID)), 2)) END),\nU AS (SELECT CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_ID) ELSE NULL END AS UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(UOM_TYPE_ID) ELSE NULL END AS UOM_TYPE_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ABBREVIATION) ELSE NULL END AS ABBREVIATION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION FROM dbo.UOM WHERE UOM_ID IS NOT NULL GROUP BY CASE WHEN UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), UOM_ID)), 2)) END),\nP AS (SELECT CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END AS LookupKey, COUNT_BIG(*) AS Copies, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_ID) ELSE NULL END AS PRODUCT_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_NAME) ELSE NULL END AS PRODUCT_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTERNAL_NAME) ELSE NULL END AS INTERNAL_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(BRAND_NAME) ELSE NULL END AS BRAND_NAME, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DESCRIPTION) ELSE NULL END AS DESCRIPTION, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INTRODUCTION_DATE) ELSE NULL END AS INTRODUCTION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RELEASE_DATE) ELSE NULL END AS RELEASE_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SALES_DISCONTINUATION_DATE) ELSE NULL END AS SALES_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SUPPORT_DISCONTINUATION_DATE) ELSE NULL END AS SUPPORT_DISCONTINUATION_DATE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INVENTORY_MESSAGE) ELSE NULL END AS INVENTORY_MESSAGE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(REQUIRE_INVENTORY) ELSE NULL END AS REQUIRE_INVENTORY, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_INCLUDED) ELSE NULL END AS QUANTITY_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(QUANTITY_UOM_ID) ELSE NULL END AS QUANTITY_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PIECES_INCLUDED) ELSE NULL END AS PIECES_INCLUDED, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WEIGHT) ELSE NULL END AS PRODUCT_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WEIGHT) ELSE NULL END AS SHIPPING_WEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WEIGHT_UOM_ID) ELSE NULL END AS WEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_HEIGHT) ELSE NULL END AS PRODUCT_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_HEIGHT) ELSE NULL END AS SHIPPING_HEIGHT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(HEIGHT_UOM_ID) ELSE NULL END AS HEIGHT_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_WIDTH) ELSE NULL END AS PRODUCT_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_WIDTH) ELSE NULL END AS SHIPPING_WIDTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(WIDTH_UOM_ID) ELSE NULL END AS WIDTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(PRODUCT_DEPTH) ELSE NULL END AS PRODUCT_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(SHIPPING_DEPTH) ELSE NULL END AS SHIPPING_DEPTH, CASE WHEN COUNT_BIG(*)=1 THEN MAX(DEPTH_UOM_ID) ELSE NULL END AS DEPTH_UOM_ID, CASE WHEN COUNT_BIG(*)=1 THEN MAX(RETURNABLE) ELSE NULL END AS RETURNABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(TAXABLE) ELSE NULL END AS TAXABLE, CASE WHEN COUNT_BIG(*)=1 THEN MAX(CHARGE_SHIPPING) ELSE NULL END AS CHARGE_SHIPPING, CASE WHEN COUNT_BIG(*)=1 THEN MAX(INCLUDE_IN_PROMOTIONS) ELSE NULL END AS INCLUDE_IN_PROMOTIONS, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VIRTUAL) ELSE NULL END AS IS_VIRTUAL, CASE WHEN COUNT_BIG(*)=1 THEN MAX(IS_VARIANT) ELSE NULL END AS IS_VARIANT, CASE WHEN COUNT_BIG(*)=1 THEN MAX(ORDER_DECIMAL_QUANTITY) ELSE NULL END AS ORDER_DECIMAL_QUANTITY FROM dbo.PRODUCT WHERE PRODUCT_ID IS NOT NULL AND EXISTS (SELECT 1 FROM Lines l JOIN Checks h ON h.InvoiceLookupKey=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END WHERE CASE WHEN l.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.PRODUCT_ID)), 2)) END=CASE WHEN dbo.PRODUCT.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), dbo.PRODUCT.PRODUCT_ID)), 2)) END AND h.GlobalCopies=1) GROUP BY CASE WHEN PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PRODUCT_ID)), 2)) END),\nNameRows AS (SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END AS LookupKey,GROUP_NAME AS PartyName FROM dbo.PARTY_GROUP WHERE PARTY_ID IS NOT NULL UNION ALL SELECT CASE WHEN PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), PARTY_ID)), 2)) END, CONCAT(FIRST_NAME, N' ', MIDDLE_NAME, N' ', LAST_NAME) FROM dbo.PERSON WHERE PARTY_ID IS NOT NULL),\nPN AS (SELECT LookupKey,COUNT_BIG(*) AS Copies,CASE WHEN COUNT_BIG(*)=1 THEN MAX(PartyName) ELSE NULL END AS PartyName FROM NameRows GROUP BY LookupKey)\nSELECT h.InvoiceKey AS InvoiceKey, h.InvoiceScopeKey AS InvoiceScopeKey, h.INVOICE_ID AS SourceInvoiceId, h.SourceAsOf AS SourceAsOf, h.INVOICE_ID AS InvoiceReference, h.CURRENCY_UOM_ID AS CurrencyCode, h.SourceAsOf AS ReadTime, CONCAT(CONCAT(CONCAT(N'I|', CASE WHEN h.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_ID)), 2)) END, N'|', CASE WHEN h.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END, N'|', CASE WHEN h.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END), N'|L|', CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END) AS LineKey, P.PRODUCT_ID AS PRODUCT_ID, P.PRODUCT_NAME AS PRODUCT_NAME, P.INTERNAL_NAME AS INTERNAL_NAME, P.BRAND_NAME AS BRAND_NAME, P.DESCRIPTION AS DESCRIPTION, P.INTRODUCTION_DATE AS INTRODUCTION_DATE, P.RELEASE_DATE AS RELEASE_DATE, P.SALES_DISCONTINUATION_DATE AS SALES_DISCONTINUATION_DATE, P.SUPPORT_DISCONTINUATION_DATE AS SUPPORT_DISCONTINUATION_DATE, P.INVENTORY_MESSAGE AS INVENTORY_MESSAGE, P.REQUIRE_INVENTORY AS REQUIRE_INVENTORY, P.QUANTITY_INCLUDED AS QUANTITY_INCLUDED, P.QUANTITY_UOM_ID AS QUANTITY_UOM_ID, P.PIECES_INCLUDED AS PIECES_INCLUDED, P.PRODUCT_WEIGHT AS PRODUCT_WEIGHT, P.SHIPPING_WEIGHT AS SHIPPING_WEIGHT, P.WEIGHT_UOM_ID AS WEIGHT_UOM_ID, P.PRODUCT_HEIGHT AS PRODUCT_HEIGHT, P.SHIPPING_HEIGHT AS SHIPPING_HEIGHT, P.HEIGHT_UOM_ID AS HEIGHT_UOM_ID, P.PRODUCT_WIDTH AS PRODUCT_WIDTH, P.SHIPPING_WIDTH AS SHIPPING_WIDTH, P.WIDTH_UOM_ID AS WIDTH_UOM_ID, P.PRODUCT_DEPTH AS PRODUCT_DEPTH, P.SHIPPING_DEPTH AS SHIPPING_DEPTH, P.DEPTH_UOM_ID AS DEPTH_UOM_ID, P.RETURNABLE AS RETURNABLE, P.TAXABLE AS TAXABLE, P.CHARGE_SHIPPING AS CHARGE_SHIPPING, P.INCLUDE_IN_PROMOTIONS AS INCLUDE_IN_PROMOTIONS, P.IS_VIRTUAL AS IS_VIRTUAL, P.IS_VARIANT AS IS_VARIANT, P.ORDER_DECIMAL_QUANTITY AS ORDER_DECIMAL_QUANTITY FROM Checks h JOIN Lines l ON h.InvoiceLookupKey=CASE WHEN l.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ID)), 2)) END CROSS JOIN Clock JOIN P ON P.LookupKey=CASE WHEN l.PRODUCT_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.PRODUCT_ID)), 2)) END WHERE h.GlobalCopies=1 AND l.FullCopies=1 AND l.INVOICE_ITEM_SEQ_ID IS NOT NULL AND P.Copies=1 AND CONCAT(CONCAT(CONCAT(N'I|', CASE WHEN h.INVOICE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_ID)), 2)) END, N'|', CASE WHEN h.INVOICE_TYPE_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.INVOICE_TYPE_ID)), 2)) END, N'|', CASE WHEN h.PARTY_ID_FROM IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID_FROM)), 2)) END, N'|', CASE WHEN h.PARTY_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.PARTY_ID)), 2)) END, N'|', CASE WHEN h.CURRENCY_UOM_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), h.CURRENCY_UOM_ID)), 2)) END), N'|AS|', CASE WHEN Clock.SourceAsOf IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), Clock.SourceAsOf)), 2)) END), N'|L|', CASE WHEN l.INVOICE_ITEM_SEQ_ID IS NULL THEN N'N' ELSE CONCAT(N'H', CONVERT(varchar(max), CONVERT(varbinary(max), CONVERT(nvarchar(max), l.INVOICE_ITEM_SEQ_ID)), 2)) END)=:line_context",
"tableName": ""
}
],
"pages": [
{
"actions": [
{
"id": "FB7BEA5C-7D9C-513C-99C8-3069EC1B0DA8",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "1D6E5ED9-B104-5CCF-BC4C-8DB3F6CA927C",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "CD8A2E7B-3E8C-50A6-B424-58059B8166CC",
"title": "Invoice lines",
"urlKey": ""
},
{
"id": "F007B1D9-4F9B-5400-B4BE-D4E23A6B5B81",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "66441D20-4C4F-5AC6-BEED-8684583DB296",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "00D5A2FC-C523-5D02-8EDB-3F51D83FDEE3",
"title": "Allocations and payment details",
"urlKey": ""
},
{
"id": "0200219F-62ED-5EA4-866E-BF67E482F862",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "4AD97F55-1199-549D-AD76-529C75E0EF47",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "AC7EAFE5-EE06-5F3A-9EBF-8F30143D1E3A",
"title": "Invoice terms",
"urlKey": ""
}
],
"badgeKey": "Status",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "InvoiceDateText",
"label": "Invoice date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "DueDate",
"label": "Due date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Total",
"label": "Invoice total (default profile)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Applied",
"label": "Allocated at read time",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Unapplied",
"label": "Unallocated at read time",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "DB4DAA35-90BD-5C6C-9861-D874A8DA4C08",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "InvoiceDateText",
"label": "Invoice date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "DueDate",
"label": "Due date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "PaidDate",
"label": "Recorded paid date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "PartnerReference",
"label": "External / partner reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "InvoiceType",
"label": "Invoice type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "Status",
"label": "Recorded invoice status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice parties (current)",
"detailRole": "information",
"isVisible": true,
"key": "Issuer",
"label": "Issuer (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice parties (current)",
"detailRole": "information",
"isVisible": true,
"key": "Recipient",
"label": "Recipient (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice parties (current)",
"detailRole": "information",
"isVisible": true,
"key": "IssuerState",
"label": "Issuer name check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice parties (current)",
"detailRole": "information",
"isVisible": true,
"key": "RecipientState",
"label": "Recipient name check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "Currency",
"label": "Invoice currency description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "Description",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "Message",
"label": "Invoice message",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "NonTax",
"label": "Non-tax total (default profile)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "Tax",
"label": "Tax total (default profile)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "Total",
"label": "Invoice total (default profile)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "Applied",
"label": "Allocated at read time",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "Unapplied",
"label": "Unallocated at read time",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Calculation and data checks",
"detailRole": "information",
"isVisible": true,
"key": "GlobalCopies",
"label": "Invoice source copies",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "LineRows",
"label": "Invoice lines",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Calculation and data checks",
"detailRole": "information",
"isVisible": true,
"key": "InvalidLines",
"label": "Invalid line keys",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Calculation and data checks",
"detailRole": "information",
"isVisible": true,
"key": "BlankAuthorities",
"label": "Tax rows skipped: empty authority",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Calculation and data checks",
"detailRole": "information",
"isVisible": true,
"key": "InvalidTaxEnums",
"label": "Invalid tax classifications",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "ApplicationRows",
"label": "Allocation records",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Calculation and data checks",
"detailRole": "information",
"isVisible": true,
"key": "InvalidApplications",
"label": "Invalid allocations",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice overview and amounts",
"detailRole": "information",
"isVisible": true,
"key": "FutureApplications",
"label": "Future allocations",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Calculation and data checks",
"detailRole": "information",
"isVisible": true,
"key": "Profile",
"label": "Calculation profile",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Calculation and data checks",
"detailRole": "information",
"isVisible": true,
"key": "CalculationState",
"label": "Data / calculation checks",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "BCAAC23A-8038-5E67-93BE-8B97377B7FF4",
"openFilters": [
{
"datePeriodOptions": [
"today",
"currentMonth",
"last7Days",
"last30Days",
"last90Days"
],
"id": "66196404-D418-52C9-9FDA-4B7FE142037E",
"includeAllOption": false,
"key": "InvoiceDate",
"title": "Choose an invoice-date period — amounts remain current",
"type": "date"
}
],
"pageSize": 100,
"requiresOpeningFilterSelection": true,
"showOnHome": true,
"sortRules": [
{
"direction": "descending",
"id": "4F735011-E033-5589-BF51-40D6F11DA441",
"key": "InvoiceDate",
"type": "date"
},
{
"direction": "ascending",
"id": "1FBAFB24-87C8-5993-9B00-F74D2B1076CD",
"key": "InvoiceKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "Issuer",
"systemImage": "doc.text",
"title": "Supplier purchase invoices",
"titleKey": "InvoiceReference"
},
{
"actions": [
{
"id": "2CCBB72A-5EB5-576E-8B40-EF0562278090",
"kind": "showRelated",
"relatedInitiallyExpanded": false,
"relatedPresentation": "separate",
"relatedPreviewLimit": 12,
"relatedRowStyle": "cards",
"relatedShowsCount": true,
"relationID": "24F62237-5497-5193-A9BB-89F17B4E316E",
"systemImage": "list.bullet.rectangle",
"targetDatasetID": "E97CEC25-02B4-57FE-8E71-060E41FD7355",
"title": "Current product dossier",
"urlKey": ""
}
],
"badgeKey": "LineType",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Product",
"label": "Product (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Quantity",
"label": "Source quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Unit",
"label": "Quantity unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "UnitAmount",
"label": "Source unit price",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "LineCalculation",
"label": "Rounded extension",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "CD8A2E7B-3E8C-50A6-B424-58059B8166CC",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "LineReference",
"label": "Line reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "Description",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "LineType",
"label": "Line type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current product",
"detailRole": "information",
"isVisible": true,
"key": "Product",
"label": "Product (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current product",
"detailRole": "information",
"isVisible": true,
"key": "ProductReference",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current product",
"detailRole": "information",
"isVisible": true,
"key": "Brand",
"label": "Brand (current)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "Quantity",
"label": "Source quantity",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "UnitAmount",
"label": "Source unit price",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "Unit",
"label": "Quantity unit",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "UnitCode",
"label": "Source unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Tax context",
"detailRole": "information",
"isVisible": true,
"key": "TaxableCode",
"label": "Taxable (source code)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "LineCalculation",
"label": "Rounded extension",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Tax context",
"detailRole": "information",
"isVisible": true,
"key": "TaxClassification",
"label": "Tax-line classification",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Tax context",
"detailRole": "information",
"isVisible": true,
"key": "TaxAuthority",
"label": "Tax authority (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Tax context",
"detailRole": "information",
"isVisible": true,
"key": "TaxGeography",
"label": "Tax geography reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Accounting overrides",
"detailRole": "information",
"isVisible": true,
"key": "AccountCode",
"label": "Account override code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Accounting overrides",
"detailRole": "information",
"isVisible": true,
"key": "Account",
"label": "Account override",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Accounting overrides",
"detailRole": "information",
"isVisible": true,
"key": "OverrideOrganisation",
"label": "Organisation override (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Current product",
"detailRole": "information",
"isVisible": true,
"key": "ProductState",
"label": "Product check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "UnitState",
"label": "Quantity unit check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Accounting overrides",
"detailRole": "information",
"isVisible": true,
"key": "AccountState",
"label": "Account override check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Tax context",
"detailRole": "information",
"isVisible": true,
"key": "AuthorityState",
"label": "Tax authority check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Accounting overrides",
"detailRole": "information",
"isVisible": true,
"key": "OverrideState",
"label": "Organisation override check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "LineState",
"label": "Line identity check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice line",
"detailRole": "information",
"isVisible": true,
"key": "RawAmountRule",
"label": "How the extension is calculated",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "837C53F1-6469-566A-A723-95D7DECC663D",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "ascending",
"id": "2D495B32-4C5A-54D1-B4F6-BFCE10310873",
"key": "LineReference",
"type": "text"
},
{
"direction": "ascending",
"id": "38F61D5E-BAB6-5BA0-9081-0A7F02099C14",
"key": "LineKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "LineReference",
"systemImage": "doc.text",
"title": "Invoice lines",
"titleKey": "Description"
},
{
"actions": [],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "AmountApplied",
"label": "Allocation in invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Payer",
"label": "Payer (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Payee",
"label": "Payment recipient (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Method",
"label": "Payment-method type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "PaymentStatus",
"label": "Recorded payment status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "00D5A2FC-C523-5D02-8EDB-3F51D83FDEE3",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "PaymentReference",
"label": "Payment reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "AmountApplied",
"label": "Allocation in invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "LineReference",
"label": "Line reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "EffectiveDate",
"label": "Payment effective date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "Included",
"label": "Allocation cutoff check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "PaymentType",
"label": "Payment type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "Method",
"label": "Payment-method type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "PaymentStatus",
"label": "Recorded payment status",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Payment parties (current)",
"detailRole": "information",
"isVisible": true,
"key": "Payer",
"label": "Payer (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Payment parties (current)",
"detailRole": "information",
"isVisible": true,
"key": "Payee",
"label": "Payment recipient (current name)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Whole-payment amounts",
"detailRole": "information",
"isVisible": true,
"key": "PaymentAmount",
"label": "Whole-payment amount",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Whole-payment amounts",
"detailRole": "information",
"isVisible": true,
"key": "PaymentCurrencyCode",
"label": "Whole-payment currency code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Whole-payment amounts",
"detailRole": "information",
"isVisible": true,
"key": "PaymentCurrency",
"label": "Whole-payment currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Whole-payment amounts",
"detailRole": "information",
"isVisible": true,
"key": "ActualAmount",
"label": "Actual-currency payment amount",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Whole-payment amounts",
"detailRole": "information",
"isVisible": true,
"key": "ActualCurrencyCode",
"label": "Actual-payment currency code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Whole-payment amounts",
"detailRole": "information",
"isVisible": true,
"key": "ActualCurrency",
"label": "Actual-payment currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "Comments",
"label": "Payment comments",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "AccountCode",
"label": "Account override code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "Account",
"label": "Account override",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Invoice allocation",
"detailRole": "information",
"isVisible": true,
"key": "PaymentState",
"label": "Payment identity check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Payment parties (current)",
"detailRole": "information",
"isVisible": true,
"key": "PayerState",
"label": "Payer name check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Payment parties (current)",
"detailRole": "information",
"isVisible": true,
"key": "PayeeState",
"label": "Recipient name check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Whole-payment amounts",
"detailRole": "information",
"isVisible": true,
"key": "AmountRule",
"label": "Allocation and payment differ",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "7242876B-B840-5AFD-AF9B-D614CD929AF5",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "ascending",
"id": "8E976C74-EA86-5F41-A972-185432974768",
"key": "PaymentReference",
"type": "text"
},
{
"direction": "ascending",
"id": "F1046CD4-A960-579F-97BB-CB9ED2715E8B",
"key": "ApplicationKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "EffectiveDate",
"systemImage": "doc.text",
"title": "Allocations and payment details",
"titleKey": "PaymentReference"
},
{
"actions": [],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Text",
"label": "Term text",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Value",
"label": "Stored term value",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "Days",
"label": "Term days",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "UnitCode",
"label": "Source unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "LineReference",
"label": "Line reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "AC7EAFE5-EE06-5F3A-9EBF-8F30143D1E3A",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored terms",
"detailRole": "information",
"isVisible": true,
"key": "Term",
"label": "Term type",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored terms",
"detailRole": "information",
"isVisible": true,
"key": "LineReference",
"label": "Line reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored terms",
"detailRole": "information",
"isVisible": true,
"key": "Description",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored terms",
"detailRole": "information",
"isVisible": true,
"key": "Text",
"label": "Term text",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored terms",
"detailRole": "information",
"isVisible": true,
"key": "Value",
"label": "Stored term value",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored terms",
"detailRole": "information",
"isVisible": true,
"key": "Days",
"label": "Term days",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored terms",
"detailRole": "information",
"isVisible": true,
"key": "UnitCode",
"label": "Source unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored terms",
"detailRole": "information",
"isVisible": true,
"key": "TermState",
"label": "Term-type check",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored terms",
"detailRole": "information",
"isVisible": true,
"key": "Meaning",
"label": "Term interpretation",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "3C2A40F5-917E-5940-800B-347A5074715A",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "ascending",
"id": "6949DF54-C2BD-5C6D-A744-75925B34D88F",
"key": "Term",
"type": "text"
},
{
"direction": "ascending",
"id": "2F879CA6-22BD-5317-BFFC-78174A1B21B0",
"key": "TermKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "Description",
"systemImage": "doc.text",
"title": "Invoice terms",
"titleKey": "Term"
},
{
"actions": [],
"badgeKey": "",
"cardEnrichments": [],
"cardFieldLayout": [
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "BRAND_NAME",
"label": "Brand",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "DESCRIPTION",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "PIECES_INCLUDED",
"label": "Pieces included",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "IS_VARIANT",
"label": "Variant product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "",
"detailRole": "information",
"isVisible": true,
"key": "RETURNABLE",
"label": "Returnable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"datasetID": "E97CEC25-02B4-57FE-8E71-060E41FD7355",
"dateFilterKey": "",
"dateFilterLastDays": 7,
"dateFilterPreset": "none",
"detailFieldLayout": [
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "InvoiceReference",
"label": "Invoice reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "CurrencyCode",
"label": "Invoice currency",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Selected invoice",
"detailRole": "information",
"isVisible": true,
"key": "ReadTime",
"label": "Read-time cutoff (source clock)",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_ID",
"label": "Product reference",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_NAME",
"label": "Product name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "INTERNAL_NAME",
"label": "Internal product name",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "BRAND_NAME",
"label": "Brand",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Product identity",
"detailRole": "information",
"isVisible": true,
"key": "DESCRIPTION",
"label": "Description",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Lifecycle — source dates",
"detailRole": "information",
"isVisible": true,
"key": "INTRODUCTION_DATE",
"label": "Introduction date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Lifecycle — source dates",
"detailRole": "information",
"isVisible": true,
"key": "RELEASE_DATE",
"label": "Release date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Lifecycle — source dates",
"detailRole": "information",
"isVisible": true,
"key": "SALES_DISCONTINUATION_DATE",
"label": "Sales discontinuation date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Lifecycle — source dates",
"detailRole": "information",
"isVisible": true,
"key": "SUPPORT_DISCONTINUATION_DATE",
"label": "Support discontinuation date",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Inventory controls — not stock",
"detailRole": "information",
"isVisible": true,
"key": "INVENTORY_MESSAGE",
"label": "Inventory message — not stock",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Inventory controls — not stock",
"detailRole": "information",
"isVisible": true,
"key": "REQUIRE_INVENTORY",
"label": "Inventory required — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Pack contents — not on-hand",
"detailRole": "information",
"isVisible": true,
"key": "QUANTITY_INCLUDED",
"label": "Quantity in each piece",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Pack contents — not on-hand",
"detailRole": "information",
"isVisible": true,
"key": "QUANTITY_UOM_ID",
"label": "Quantity unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Pack contents — not on-hand",
"detailRole": "information",
"isVisible": true,
"key": "PIECES_INCLUDED",
"label": "Pieces included",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Weight and source unit",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_WEIGHT",
"label": "Product weight",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Weight and source unit",
"detailRole": "information",
"isVisible": true,
"key": "SHIPPING_WEIGHT",
"label": "Shipping weight",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Weight and source unit",
"detailRole": "information",
"isVisible": true,
"key": "WEIGHT_UOM_ID",
"label": "Weight unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Height and source unit",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_HEIGHT",
"label": "Product height",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Height and source unit",
"detailRole": "information",
"isVisible": true,
"key": "SHIPPING_HEIGHT",
"label": "Shipping height",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Height and source unit",
"detailRole": "information",
"isVisible": true,
"key": "HEIGHT_UOM_ID",
"label": "Height unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Width and source unit",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_WIDTH",
"label": "Product width",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Width and source unit",
"detailRole": "information",
"isVisible": true,
"key": "SHIPPING_WIDTH",
"label": "Shipping width",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Width and source unit",
"detailRole": "information",
"isVisible": true,
"key": "WIDTH_UOM_ID",
"label": "Width unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Depth and source unit",
"detailRole": "information",
"isVisible": true,
"key": "PRODUCT_DEPTH",
"label": "Product depth",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Depth and source unit",
"detailRole": "information",
"isVisible": true,
"key": "SHIPPING_DEPTH",
"label": "Shipping depth",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Depth and source unit",
"detailRole": "information",
"isVisible": true,
"key": "DEPTH_UOM_ID",
"label": "Depth unit code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "RETURNABLE",
"label": "Returnable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "TAXABLE",
"label": "Taxable — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "CHARGE_SHIPPING",
"label": "Charge shipping — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "INCLUDE_IN_PROMOTIONS",
"label": "Include in promotions — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "IS_VIRTUAL",
"label": "Virtual product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "IS_VARIANT",
"label": "Variant product — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
},
{
"detailGroup": "Stored sales controls",
"detailRole": "information",
"isVisible": true,
"key": "ORDER_DECIMAL_QUANTITY",
"label": "Decimal orders — code",
"locationLabelKey": "",
"locationLongitudeKey": "",
"presentation": "text"
}
],
"detailLiveRefreshSeconds": 0,
"fixedFilters": [],
"id": "1C08B461-01EA-58C4-B73C-00C076E23A6A",
"openFilters": [],
"pageSize": 100,
"requiresOpeningFilterSelection": false,
"showOnHome": false,
"sortRules": [
{
"direction": "ascending",
"id": "D91F3596-4BE8-5B0B-9129-D93E911F3D8C",
"key": "PRODUCT_NAME",
"type": "text"
},
{
"direction": "ascending",
"id": "38F61D5E-BAB6-5BA0-9081-0A7F02099C14",
"key": "LineKey",
"type": "text"
}
],
"subtitle": "",
"subtitleKey": "PRODUCT_ID",
"systemImage": "doc.text",
"title": "Current product dossier",
"titleKey": "PRODUCT_NAME"
}
],
"relations": [
{
"childDatasetID": "CD8A2E7B-3E8C-50A6-B424-58059B8166CC",
"childKey": "InvoiceScopeKey",
"id": "1D6E5ED9-B104-5CCF-BC4C-8DB3F6CA927C",
"name": "Invoice lines",
"parentDatasetID": "DB4DAA35-90BD-5C6C-9861-D874A8DA4C08",
"parentKey": "InvoiceScopeKey"
},
{
"childDatasetID": "00D5A2FC-C523-5D02-8EDB-3F51D83FDEE3",
"childKey": "InvoiceScopeKey",
"id": "66441D20-4C4F-5AC6-BEED-8684583DB296",
"name": "Allocations and payment details",
"parentDatasetID": "DB4DAA35-90BD-5C6C-9861-D874A8DA4C08",
"parentKey": "InvoiceScopeKey"
},
{
"childDatasetID": "AC7EAFE5-EE06-5F3A-9EBF-8F30143D1E3A",
"childKey": "InvoiceScopeKey",
"id": "4AD97F55-1199-549D-AD76-529C75E0EF47",
"name": "Invoice terms",
"parentDatasetID": "DB4DAA35-90BD-5C6C-9861-D874A8DA4C08",
"parentKey": "InvoiceScopeKey"
},
{
"childDatasetID": "E97CEC25-02B4-57FE-8E71-060E41FD7355",
"childKey": "LineKey",
"id": "24F62237-5497-5193-A9BB-89F17B4E316E",
"name": "Current product dossier",
"parentDatasetID": "CD8A2E7B-3E8C-50A6-B424-58059B8166CC",
"parentKey": "LineKey"
}
],
"widgets": []
}
},
"format": "cifru-configuration-package",
"formatVersion": 1,
"manifest": {
"applicationName": "Apache OFBiz",
"changelog": "First Pro invoice dossier: mandatory date period, five live screens, four lazy related buttons,133 useful Detail positions and eight native fictional DEMO screenshots. Not tested on a real OFBiz installation.",
"configurationLanguages": [
"en"
],
"countries": [
"US"
],
"createdAt": "2026-10-11T00:00:00Z",
"description": "UNOFFICIAL — NOT VALIDATED ON A REAL ERP INSTALLATION.\n\nFor purchasing/accounts payable and managers: choose an invoice-date period, inspect the issuer, recipient, external reference, due date, currency, default-profile total and current allocated/unapplied amounts. Open all invoice lines, their full current product dossier, allocation-level payment details and stored invoice/line terms without loading every child at once.\n\nWhy Cifru? Adapt configurations to the way you work. Choose the fields, filters and details you need, and bring information to your phone that may not be available in your business software’s own mobile app. Available options depend on the data exposed by your authorized source and your Cifru plan.\n\nIN THIS CONFIGURATION\nChoose an invoice-date period, then see the customer/supplier, invoice and external references, dates, currency, default-profile total and current allocated/unallocated amounts. Three buttons open invoice lines, individual allocations with payment details, and stored terms. From a product line, open its current product dossier. These are current enquiry views, not historical balances or certified ledger/aging reports. Current product/party names are not historical invoice snapshots.\n\nPRO PLAN\nOne authorised SQL Server source, five live lists and four on-demand related buttons. Each result is capped at 2,000 rows; invoice totals consider matching source lines/allocations before that cap. Search/local filters only inspect loaded results. Exact source numbers are displayed as text; numeric filtering is not promised. No scheduled refresh, writes, executable services or widgets. Existing workspace resources count toward your plan limits.\n\nUNDERSTANDING THE AMOUNTS\nInvoice-line AMOUNT is a unit price, not the line total. The pinned default InvoiceWorker profile uses invoice.decimals=2 and HALF_UP for both sales and purchase; tax extensions first use 3 decimals and are grouped by the source tax authority/geography before rounding each group to 2. Tax types come from the live TAXABLE_INV_ITM_TY classification, not the taxable flag or an inferred rate. Missing quantity/amount default to 1/0 only in calculations; displayed source values stay missing. The rounded extension shown on a tax line is not necessarily its grouped contribution. Verify installed arithmetic settings before use. Missing/duplicate identity or invalid classification makes affected totals unavailable, not zero. Subtotals/applied amounts and the combined invoice total must fit 35 integer digits plus 2 decimals; aggregate overflow can still fail a read.\n\nPAYMENTS AND TERMS\nAn allocation is expressed in invoice currency. Whole-payment and actual-currency amounts are separate; no FX rate is guessed. Payments with a NULL effective date or date at/before the parent source-clock cutoff are included; future allocations remain visible but excluded from current allocated totals. Recorded status/paid date is not proof of collection. Children inherit the parent read-time context; check the source clock/timezone and reopen after data changes. Separate reads are not a transactional snapshot. Terms show raw text/value/unit/days: no inferred discount, percentage or interest. Explicit account overrides are not complete posting distributions.\n\nBEFORE USING\nFor Apache OFBiz 24.09.07 on an existing SQL Server 2012+ installation with the selected dbo objects and pinned calculation profile. OFBiz ships with Derby by default; this is not a Derby, H2 or PostgreSQL adapter. Your administrator must verify physical columns/types/full keys, tenant restrictions, TLS, indexes and read performance. Direct SQL does not inherit OFBiz application permissions: use a least-privilege SELECT account. An opening/local filter is not an ACL. Map only an authorised source and run Cifru read/compatibility tests before business use. Useful business references are shown, technical relationship keys remain hidden. Credentials, bank/card instrument details and production data are not included.\n\nVALIDATION AND GALLERY\nDocumentary and adapted synthetic tests plus native Android demonstrations: not a real ERP/SQL Server/iOS execution, security, performance or purchase certification. All five routes/four buttons and133 useful Detail positions were checked privately. The eight native photos are representative, not every133 field in eight images. Every example is wholly fictional DEMO. The test transport displays absent values as literal null; production SQL NULL handling is not certified. Original screenshots and private RAW recordings are retained for future videos.\n\nPRIMARY DOCUMENTATION\nhttps://github.com/apache/ofbiz-framework/tree/42819e5ae1d5339d3a204ac06b43e69d46a9c0ae/applications/datamodel/entitydef\nhttps://github.com/apache/ofbiz-framework/blob/42819e5ae1d5339d3a204ac06b43e69d46a9c0ae/applications/accounting/src/main/java/org/apache/ofbiz/accounting/invoice/InvoiceWorker.java",
"licenseCode": "Cifru-Community-1.0",
"minimumCifruVersion": "1.1.0",
"minimumPlan": "pro",
"packageID": "86C49F2E-EC26-56B0-8037-2973A4765BA4",
"rootButtonCount": 1,
"summary": "Choose invoice dates; inspect amounts/currency, full lines/products, individual allocations/payment details and stored terms.",
"tags": [
"Apache OFBiz",
"SQL Server",
"Purchase invoices",
"Accounts payable",
"Invoice lines",
"Payment allocations",
"Pro"
],
"title": "Supplier purchase invoices, lines and payment details — Pro"
}
}