{"App":{"Id":463,"AppId":463,"AppName":"BCS Inventory","AppDescription":"BCS Inventory","AppIdentifier":"d9bb22f6-8c42-4d87-b71b-5871e202e01f","AppVersion":"33","ProductVersion":"5.4.5.0","Publisher":"https://4flow.bidvestcatering.co.za/","IsActive":false,"IsFree":true,"IsLicensed":false,"IsCreated":false,"LogoId":210169,"HelpLink":"https://4flow.bidvestcatering.co.za/","AboutLink":"https://4flow.bidvestcatering.co.za/","PrivacyLink":"https://4flow.bidvestcatering.co.za/","TermsLink":"https://4flow.bidvestcatering.co.za/","AppDependencyId":0,"WriteUp":"<p>https://4flow.bidvestcatering.co.za/</p>","WhenValidated":"2025-08-28T21:21:34","AppData":"","AppDataFileStoreId":null,"Logo":null,"AppModuleList":[],"AppTransactionTypeList":[],"AppSourceList":[{"Id":1536,"AppSourceId":1536,"AppId":463,"SourceId":1342}],"AppQueryList":[{"Id":9494,"AppQueryId":9494,"AppId":463,"QueryId":25026},{"Id":9495,"AppQueryId":9495,"AppId":463,"QueryId":30175}],"AppFormList":[],"AppProcessList":[],"AppDashboardList":[],"AppRoleList":[{"Id":9095,"AppRoleId":9095,"AppId":463,"RoleId":1077}],"AppNotificationTemplateList":[],"AppMappingXmlList":[],"AppOrgStructureList":[],"AppReportList":[{"Id":679,"AppReportId":679,"AppId":463,"ReportId":914,"FileStoreId":0},{"Id":680,"AppReportId":680,"AppId":463,"ReportId":915,"FileStoreId":0},{"Id":681,"AppReportId":681,"AppId":463,"ReportId":915,"FileStoreId":0}],"AppDataFilterList":[],"AppDataSetList":[],"AppHistoryList":[],"AppImageList":[],"AppFileList":[{"Id":551,"AppFileId":551,"AppId":463,"FileStoreId":2173811},{"Id":552,"AppFileId":552,"AppId":463,"FileStoreId":1896338}],"AppFileTypeList":[],"AppScheduleList":[],"AppLocalDataList":[],"AppVirtualDataList":[],"AppResourceList":[],"AppTransactionTableList":[],"AppTransactionFieldList":[],"AppDependencyList":[{"Id":5,"AppDependencyId":5,"AppDependencyName":"Acumatica"},{"Id":6,"AppDependencyId":6,"AppDependencyName":"Intact"},{"Id":4,"AppDependencyId":4,"AppDependencyName":"Microsoft D365"},{"Id":7,"AppDependencyId":7,"AppDependencyName":"Other"},{"Id":2,"AppDependencyId":2,"AppDependencyName":"Sage 200"},{"Id":1,"AppDependencyId":1,"AppDependencyName":"Sage 300"},{"Id":3,"AppDependencyId":3,"AppDependencyName":"Sage X3"}],"AppIntegrationTemplateList":[],"AppDataTables":[],"WhenUpdated":"2025-11-06T08:00:34","WhoUpdated":6628},"ModuleList":[],"TransactionTypeList":[],"SourceList":[{"Id":1342,"SourceId":1342,"SourceName":"ROYDAT","SourceDescription":"ROYDAT","Domain":null,"Username":null,"Password":null,"ConnectionString1":null,"ConnectionString2":null,"ConnectionString3":null,"Version":"72A","SourceTypeId":1,"TrustServerCertificate":true,"SourceType":{"Id":1,"SourceTypeId":1,"SourceTypeName":"MSSQL"},"WhoUpdatedUser":null,"OAuth2":{"Id":0,"OAuth2Id":0,"SourceId":0,"TokenName":null,"GrantTypeId":0,"AuthUrl":null,"CallbackUrl":null,"AccessTokenUrl":null,"ClientId":null,"ClientSecret":null,"Username":null,"Password":null,"Scope":null,"State":null,"CodeChallengeMethodId":0,"CodeVerifier":null,"ClientAuthenticationTypeId":0,"OAuth2Parameters":[]},"SageIntacct":null,"WhenUpdated":"2025-06-15T16:08:31","WhoUpdated":2387}],"QueryList":[{"Id":25026,"QueryId":25026,"SourceId":1342,"QueryCategoryId":2,"QueryDescription":null,"QueryName":"Inventory Movement Summary Main","QueryString":"SELECT L.[LOCATION],\n--L.[DESC], \nrtrim(L.[LOCATION]) + ' ' +  (L.[DESC]) [DESC],\nGETDATE() AS [PrintDate]\n\n\n\n\nFROM ICLOC as L  \nWHERE L.[LOCATION] = @LocationCode ","QueryFields":null,"Source":{"Id":1342,"SourceId":1342,"SourceName":"ROYDAT","SourceDescription":"ROYDAT","Domain":null,"Username":null,"Password":null,"ConnectionString1":null,"ConnectionString2":null,"ConnectionString3":null,"Version":"72A","SourceTypeId":1,"TrustServerCertificate":true,"SourceType":null,"WhoUpdatedUser":null,"OAuth2":null,"SageIntacct":null,"WhenUpdated":"2025-06-15T16:08:31","WhoUpdated":2387},"QueryCategory":null,"QueryRest":{"Id":0,"QueryRestId":0,"QueryId":0,"RestTypeId":0,"Headers":"","Body":"","RestType":{"Id":0,"RestTypeId":0,"RestTypeName":""},"Parameters":null},"QueryParameterList":[{"Id":10037,"QueryParameterId":10037,"QueryId":25026,"DataTypeId":1,"Name":"LocationCode","Value":"200000"}],"QuerySchema":{"Id":396,"JsonContent":"{\r\n  \"$schema\": \"http://json-schema.org/draft-04/schema#\",\r\n  \"type\": \"array\",\r\n  \"items\": {\r\n    \"$ref\": \"#/definitions/Anonymous\"\r\n  },\r\n  \"definitions\": {\r\n    \"Anonymous\": {\r\n      \"type\": \"object\",\r\n      \"properties\": {\r\n        \"LOCATION\": {\r\n          \"type\": \"string\"\r\n        },\r\n        \"DESC\": {\r\n          \"type\": \"string\"\r\n        },\r\n        \"PrintDate\": {\r\n          \"type\": \"string\",\r\n          \"format\": \"date-time\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}","QuerySchemaId":396,"QueryId":25026,"WhenUpdated":"2024-08-28T07:47:27.0066667","WhoUpdated":2332},"WhenUpdated":"2024-08-28T07:47:27","WhoUpdated":2332},{"Id":30175,"QueryId":30175,"SourceId":1342,"QueryCategoryId":2,"QueryDescription":null,"QueryName":"EC_InvSummaryReport","QueryString":"SELECT  RTRIM(m.[FMTITEMNO]) AS [Item Number],\n    RTRIM(ISNULL(l.pickingseq, '')) AS [Bin Location],\n    RTRIM(m.StockUnit) AS [Stock Unit],\n    RTRIM(m.[desc]) AS [Item Description],\n    RTRIM(@LocationCode) AS [Location Code],\n    GETDATE() AS [PrintDate],\n    @Year AS [FiscalYear],\n    @Period AS [FiscalPeriod],\n    ROUND(CAST(SUM(ISNULL(o.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Opening Qty],\n    CASE WHEN SUM(ISNULL(o.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(o.transcost, 0)) / NULLIF(SUM(ISNULL(o.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Opening Avg], \n    ROUND(CAST(SUM(ISNULL(o.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Opening Cost],     \n    ROUND(CAST(SUM(ISNULL(r.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Receipts Qty],\n    CASE WHEN SUM(ISNULL(r.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(r.transcost, 0)) / NULLIF(SUM(ISNULL(r.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Receipts Avg], \n    ROUND(CAST(SUM(ISNULL(r.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Receipts Cost],   \n    ROUND(CAST(SUM(ISNULL(i.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Issues Qty],\n    CASE WHEN SUM(ISNULL(i.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(i.transcost, 0)) / NULLIF(SUM(ISNULL(i.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Issues Avg], \n    ROUND(CAST(SUM(ISNULL(i.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Issues Cost], \n    ROUND(CAST(SUM(ISNULL(t.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Transfers Qty],   \n    CASE WHEN SUM(ISNULL(t.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(t.transcost, 0)) / NULLIF(SUM(ISNULL(t.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Transfers Avg], \n    ROUND(CAST(SUM(ISNULL(t.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Transfers Cost],  \n    ROUND(CAST(SUM(ISNULL(a.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Adjustments Qty],   \n    CASE WHEN SUM(ISNULL(a.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(a.transcost, 0)) / NULLIF(SUM(ISNULL(a.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Adjustments Avg], \n    ROUND(CAST(SUM(ISNULL(a.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Adjustments Cost],\n \n    ---- Closing Totals ----\n    ROUND(\n        CAST(SUM(ISNULL(o.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(r.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(i.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(t.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(a.quantity, 0)) AS DECIMAL(18, 2))         \n    , 2) AS [Closing Qty],\n \n    ROUND(\n        (SUM(ISNULL(o.transcost, 0)) + \n         SUM(ISNULL(r.transcost, 0)) + \n         SUM(ISNULL(i.transcost, 0)) + \n         SUM(ISNULL(t.transcost, 0)) + \n         SUM(ISNULL(a.transcost, 0))) / \n        NULLIF((SUM(ISNULL(o.quantity, 0)) + \n                 SUM(ISNULL(r.quantity, 0)) + \n                 SUM(ISNULL(i.quantity, 0)) + \n                 SUM(ISNULL(t.quantity, 0)) + \n                 SUM(ISNULL(a.quantity, 0))), 0), 2) AS [Closing Avg],\n \n    ROUND(\n        CAST(SUM(ISNULL(o.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(r.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(i.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(t.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(a.transcost, 0)) AS DECIMAL(18, 2))         \n    , 2) AS [Closing Cost]\n\n \nFROM ICITEM m \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        [location] = @LocationCode AND (fiscyear < @Year OR (fiscyear = @Year AND fiscperiod < @Period))\n    GROUP BY ITEMNO\n) AS o ON o.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP = 'IC' AND TRANSTYPE = '20')\n    GROUP BY ITEMNO\n) AS i ON i.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP = 'PO' AND TRANSTYPE IN ('1', '2', '3'))\n    GROUP BY ITEMNO\n) AS r ON r.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP IN ('IC', 'PO') AND TRANSTYPE IN ('6','7','8','9','10','11','17'))\n    GROUP BY ITEMNO\n) AS a ON a.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP IN ('IC') AND TRANSTYPE IN ('12', '13'))\n    GROUP BY ITEMNO\n) AS t ON t.itemno = m.itemno\n \nLEFT JOIN iciloc l ON l.itemno = m.itemno AND l.[location] = @LocationCode\n\nWHERE m.ITEMNO >= \ncase when isnull(@FromItemNumber,'') = '' then '' else @FromItemNumber end \nand m.ITEMNO <= case when isnull(@ToItemNumber,'') = '' then '99-999-999-9999-99999' else @ToItemNumber end \nGROUP BY\n    m.[FMTITEMNO],\n    m.StockUnit,\n    l.pickingseq,\n    m.[desc]\n \n \n   HAVING \n    SUM(ISNULL(o.quantity, 0)) <> 0 OR\n    SUM(ISNULL(r.quantity, 0)) <> 0 OR\n    SUM(ISNULL(i.quantity, 0)) <> 0 OR\n    SUM(ISNULL(t.quantity, 0)) <> 0 OR\n    SUM(ISNULL(a.quantity, 0)) <> 0 OR\n    SUM(ISNULL(o.transcost, 0)) <> 0 OR\n    SUM(ISNULL(r.transcost, 0)) <> 0 OR\n    SUM(ISNULL(i.transcost, 0)) <> 0 OR\n    SUM(ISNULL(t.transcost, 0)) <> 0 OR\n    SUM(ISNULL(a.transcost, 0)) <> 0","QueryFields":null,"Source":{"Id":1342,"SourceId":1342,"SourceName":"ROYDAT","SourceDescription":"ROYDAT","Domain":null,"Username":null,"Password":null,"ConnectionString1":null,"ConnectionString2":null,"ConnectionString3":null,"Version":"72A","SourceTypeId":1,"TrustServerCertificate":true,"SourceType":null,"WhoUpdatedUser":null,"OAuth2":null,"SageIntacct":null,"WhenUpdated":"2025-06-15T16:08:31","WhoUpdated":2387},"QueryCategory":null,"QueryRest":{"Id":0,"QueryRestId":0,"QueryId":0,"RestTypeId":0,"Headers":"","Body":"","RestType":{"Id":0,"RestTypeId":0,"RestTypeName":""},"Parameters":null},"QueryParameterList":[{"Id":12960,"QueryParameterId":12960,"QueryId":30175,"DataTypeId":1,"Name":"LocationCode","Value":"600000"},{"Id":12961,"QueryParameterId":12961,"QueryId":30175,"DataTypeId":1,"Name":"Year","Value":"2024"},{"Id":12962,"QueryParameterId":12962,"QueryId":30175,"DataTypeId":1,"Name":"Period","Value":"8"},{"Id":12963,"QueryParameterId":12963,"QueryId":30175,"DataTypeId":1,"Name":"FromItemNumber","Value":"02008069080102756"},{"Id":12964,"QueryParameterId":12964,"QueryId":30175,"DataTypeId":1,"Name":"ToItemNumber","Value":"02008069080102756"}],"QuerySchema":{"Id":3391,"JsonContent":"{\r\n  \"$schema\": \"http://json-schema.org/draft-04/schema#\",\r\n  \"type\": \"array\",\r\n  \"items\": {\r\n    \"$ref\": \"#/definitions/Anonymous\"\r\n  },\r\n  \"definitions\": {\r\n    \"Anonymous\": {\r\n      \"type\": \"object\",\r\n      \"properties\": {\r\n        \"Item Number\": {\r\n          \"type\": \"string\"\r\n        },\r\n        \"Bin Location\": {\r\n          \"type\": \"string\"\r\n        },\r\n        \"Stock Unit\": {\r\n          \"type\": \"string\"\r\n        },\r\n        \"Item Description\": {\r\n          \"type\": \"string\"\r\n        },\r\n        \"Location Code\": {\r\n          \"type\": \"string\"\r\n        },\r\n        \"PrintDate\": {\r\n          \"type\": \"string\",\r\n          \"format\": \"date-time\"\r\n        },\r\n        \"FiscalYear\": {\r\n          \"type\": \"string\"\r\n        },\r\n        \"FiscalPeriod\": {\r\n          \"type\": \"string\"\r\n        },\r\n        \"Opening Qty\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Opening Avg\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Opening Cost\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Receipts Qty\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Receipts Avg\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Receipts Cost\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Issues Qty\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Issues Avg\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Issues Cost\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Transfers Qty\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Transfers Avg\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Transfers Cost\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Adjustments Qty\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Adjustments Avg\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Adjustments Cost\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Closing Qty\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Closing Avg\": {\r\n          \"type\": \"number\"\r\n        },\r\n        \"Closing Cost\": {\r\n          \"type\": \"number\"\r\n        }\r\n      }\r\n    }\r\n  }\r\n}","QuerySchemaId":3391,"QueryId":30175,"WhenUpdated":"2025-02-18T03:52:36.6233333","WhoUpdated":160},"WhenUpdated":"2025-02-18T03:52:37","WhoUpdated":160}],"FormList":[],"ProcessList":[],"DashboardList":[],"NotificationTemplateList":[],"RoleList":[{"Id":1077,"RoleId":1077,"RoleName":"Tenant Admin","RoleDescription":"Tenant Admin","WhenUpdated":"2020-06-01T10:18:06","WhoUpdated":160}],"MappingXMLList":[],"OrgStructureList":[],"ReportList":[{"Id":914,"ReportId":914,"ReportCategoryId":1,"QueryId":25026,"SourceId":1342,"ReportTypeId":8,"ReportName":"BCS Inventory Mvt Sum Main Report","Description":"BCS Inventory Movement Main Report","ReportPath":null,"FileStoreId":210170,"IsActive":true,"PowerBiReportTypeId":0,"PowerBiReportId":"00000000-0000-0000-0000-000000000000","PowerBiWorkspaceId":"00000000-0000-0000-0000-000000000000","ReportType":{"Id":8,"ReportTypeId":8,"ReportTypeName":"Xtra Reports"},"ReportRoles":[{"Id":23558,"ReportRoleId":23558,"RoleId":1077,"ReportId":914,"WhenUpdated":"2025-06-05T14:26:06","WhoUpdated":2332}],"ReportCategory":{"Id":1,"ReportCategoryId":1,"ReportCategoryName":"Workflow"},"Query":{"Id":25026,"QueryId":25026,"SourceId":1342,"QueryCategoryId":2,"QueryDescription":null,"QueryName":"Inventory Movement Summary Main","QueryString":"SELECT L.[LOCATION],\n--L.[DESC], \nrtrim(L.[LOCATION]) + ' ' +  (L.[DESC]) [DESC],\nGETDATE() AS [PrintDate]\n\n\n\n\nFROM ICLOC as L  \nWHERE L.[LOCATION] = @LocationCode ","QueryFields":null,"Source":null,"QueryCategory":null,"QueryRest":null,"QueryParameterList":null,"QuerySchema":null,"WhenUpdated":"2024-08-28T07:47:27","WhoUpdated":2332},"PowerBiReportType":null,"WhoUpdatedUser":null,"WhenUpdated":"2025-06-05T14:26:07","WhoUpdated":2332},{"Id":915,"ReportId":915,"ReportCategoryId":1,"QueryId":30175,"SourceId":1342,"ReportTypeId":8,"ReportName":"BCS Inventory Mvt Sum Sub Report","Description":"BCS Inventory Mvt Sum Sub Report","ReportPath":null,"FileStoreId":210171,"IsActive":true,"PowerBiReportTypeId":0,"PowerBiReportId":"00000000-0000-0000-0000-000000000000","PowerBiWorkspaceId":"00000000-0000-0000-0000-000000000000","ReportType":{"Id":8,"ReportTypeId":8,"ReportTypeName":"Xtra Reports"},"ReportRoles":[],"ReportCategory":{"Id":1,"ReportCategoryId":1,"ReportCategoryName":"Workflow"},"Query":{"Id":30175,"QueryId":30175,"SourceId":1342,"QueryCategoryId":2,"QueryDescription":null,"QueryName":"EC_InvSummaryReport","QueryString":"SELECT  RTRIM(m.[FMTITEMNO]) AS [Item Number],\n    RTRIM(ISNULL(l.pickingseq, '')) AS [Bin Location],\n    RTRIM(m.StockUnit) AS [Stock Unit],\n    RTRIM(m.[desc]) AS [Item Description],\n    RTRIM(@LocationCode) AS [Location Code],\n    GETDATE() AS [PrintDate],\n    @Year AS [FiscalYear],\n    @Period AS [FiscalPeriod],\n    ROUND(CAST(SUM(ISNULL(o.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Opening Qty],\n    CASE WHEN SUM(ISNULL(o.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(o.transcost, 0)) / NULLIF(SUM(ISNULL(o.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Opening Avg], \n    ROUND(CAST(SUM(ISNULL(o.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Opening Cost],     \n    ROUND(CAST(SUM(ISNULL(r.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Receipts Qty],\n    CASE WHEN SUM(ISNULL(r.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(r.transcost, 0)) / NULLIF(SUM(ISNULL(r.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Receipts Avg], \n    ROUND(CAST(SUM(ISNULL(r.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Receipts Cost],   \n    ROUND(CAST(SUM(ISNULL(i.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Issues Qty],\n    CASE WHEN SUM(ISNULL(i.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(i.transcost, 0)) / NULLIF(SUM(ISNULL(i.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Issues Avg], \n    ROUND(CAST(SUM(ISNULL(i.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Issues Cost], \n    ROUND(CAST(SUM(ISNULL(t.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Transfers Qty],   \n    CASE WHEN SUM(ISNULL(t.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(t.transcost, 0)) / NULLIF(SUM(ISNULL(t.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Transfers Avg], \n    ROUND(CAST(SUM(ISNULL(t.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Transfers Cost],  \n    ROUND(CAST(SUM(ISNULL(a.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Adjustments Qty],   \n    CASE WHEN SUM(ISNULL(a.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(a.transcost, 0)) / NULLIF(SUM(ISNULL(a.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Adjustments Avg], \n    ROUND(CAST(SUM(ISNULL(a.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Adjustments Cost],\n \n    ---- Closing Totals ----\n    ROUND(\n        CAST(SUM(ISNULL(o.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(r.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(i.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(t.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(a.quantity, 0)) AS DECIMAL(18, 2))         \n    , 2) AS [Closing Qty],\n \n    ROUND(\n        (SUM(ISNULL(o.transcost, 0)) + \n         SUM(ISNULL(r.transcost, 0)) + \n         SUM(ISNULL(i.transcost, 0)) + \n         SUM(ISNULL(t.transcost, 0)) + \n         SUM(ISNULL(a.transcost, 0))) / \n        NULLIF((SUM(ISNULL(o.quantity, 0)) + \n                 SUM(ISNULL(r.quantity, 0)) + \n                 SUM(ISNULL(i.quantity, 0)) + \n                 SUM(ISNULL(t.quantity, 0)) + \n                 SUM(ISNULL(a.quantity, 0))), 0), 2) AS [Closing Avg],\n \n    ROUND(\n        CAST(SUM(ISNULL(o.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(r.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(i.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(t.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(a.transcost, 0)) AS DECIMAL(18, 2))         \n    , 2) AS [Closing Cost]\n\n \nFROM ICITEM m \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        [location] = @LocationCode AND (fiscyear < @Year OR (fiscyear = @Year AND fiscperiod < @Period))\n    GROUP BY ITEMNO\n) AS o ON o.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP = 'IC' AND TRANSTYPE = '20')\n    GROUP BY ITEMNO\n) AS i ON i.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP = 'PO' AND TRANSTYPE IN ('1', '2', '3'))\n    GROUP BY ITEMNO\n) AS r ON r.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP IN ('IC', 'PO') AND TRANSTYPE IN ('6','7','8','9','10','11','17'))\n    GROUP BY ITEMNO\n) AS a ON a.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP IN ('IC') AND TRANSTYPE IN ('12', '13'))\n    GROUP BY ITEMNO\n) AS t ON t.itemno = m.itemno\n \nLEFT JOIN iciloc l ON l.itemno = m.itemno AND l.[location] = @LocationCode\n\nWHERE m.ITEMNO >= \ncase when isnull(@FromItemNumber,'') = '' then '' else @FromItemNumber end \nand m.ITEMNO <= case when isnull(@ToItemNumber,'') = '' then '99-999-999-9999-99999' else @ToItemNumber end \nGROUP BY\n    m.[FMTITEMNO],\n    m.StockUnit,\n    l.pickingseq,\n    m.[desc]\n \n \n   HAVING \n    SUM(ISNULL(o.quantity, 0)) <> 0 OR\n    SUM(ISNULL(r.quantity, 0)) <> 0 OR\n    SUM(ISNULL(i.quantity, 0)) <> 0 OR\n    SUM(ISNULL(t.quantity, 0)) <> 0 OR\n    SUM(ISNULL(a.quantity, 0)) <> 0 OR\n    SUM(ISNULL(o.transcost, 0)) <> 0 OR\n    SUM(ISNULL(r.transcost, 0)) <> 0 OR\n    SUM(ISNULL(i.transcost, 0)) <> 0 OR\n    SUM(ISNULL(t.transcost, 0)) <> 0 OR\n    SUM(ISNULL(a.transcost, 0)) <> 0","QueryFields":null,"Source":null,"QueryCategory":null,"QueryRest":null,"QueryParameterList":null,"QuerySchema":null,"WhenUpdated":"2025-02-18T03:52:37","WhoUpdated":160},"PowerBiReportType":null,"WhoUpdatedUser":null,"WhenUpdated":"2025-02-18T07:03:34","WhoUpdated":160},{"Id":915,"ReportId":915,"ReportCategoryId":1,"QueryId":30175,"SourceId":1342,"ReportTypeId":8,"ReportName":"BCS Inventory Mvt Sum Sub Report","Description":"BCS Inventory Mvt Sum Sub Report","ReportPath":null,"FileStoreId":210171,"IsActive":true,"PowerBiReportTypeId":0,"PowerBiReportId":"00000000-0000-0000-0000-000000000000","PowerBiWorkspaceId":"00000000-0000-0000-0000-000000000000","ReportType":{"Id":8,"ReportTypeId":8,"ReportTypeName":"Xtra Reports"},"ReportRoles":[],"ReportCategory":{"Id":1,"ReportCategoryId":1,"ReportCategoryName":"Workflow"},"Query":{"Id":30175,"QueryId":30175,"SourceId":1342,"QueryCategoryId":2,"QueryDescription":null,"QueryName":"EC_InvSummaryReport","QueryString":"SELECT  RTRIM(m.[FMTITEMNO]) AS [Item Number],\n    RTRIM(ISNULL(l.pickingseq, '')) AS [Bin Location],\n    RTRIM(m.StockUnit) AS [Stock Unit],\n    RTRIM(m.[desc]) AS [Item Description],\n    RTRIM(@LocationCode) AS [Location Code],\n    GETDATE() AS [PrintDate],\n    @Year AS [FiscalYear],\n    @Period AS [FiscalPeriod],\n    ROUND(CAST(SUM(ISNULL(o.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Opening Qty],\n    CASE WHEN SUM(ISNULL(o.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(o.transcost, 0)) / NULLIF(SUM(ISNULL(o.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Opening Avg], \n    ROUND(CAST(SUM(ISNULL(o.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Opening Cost],     \n    ROUND(CAST(SUM(ISNULL(r.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Receipts Qty],\n    CASE WHEN SUM(ISNULL(r.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(r.transcost, 0)) / NULLIF(SUM(ISNULL(r.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Receipts Avg], \n    ROUND(CAST(SUM(ISNULL(r.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Receipts Cost],   \n    ROUND(CAST(SUM(ISNULL(i.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Issues Qty],\n    CASE WHEN SUM(ISNULL(i.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(i.transcost, 0)) / NULLIF(SUM(ISNULL(i.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Issues Avg], \n    ROUND(CAST(SUM(ISNULL(i.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Issues Cost], \n    ROUND(CAST(SUM(ISNULL(t.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Transfers Qty],   \n    CASE WHEN SUM(ISNULL(t.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(t.transcost, 0)) / NULLIF(SUM(ISNULL(t.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Transfers Avg], \n    ROUND(CAST(SUM(ISNULL(t.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Transfers Cost],  \n    ROUND(CAST(SUM(ISNULL(a.quantity, 0)) AS DECIMAL(18, 2)), 2) AS [Adjustments Qty],   \n    CASE WHEN SUM(ISNULL(a.quantity, 0)) = 0 THEN 0 ELSE ROUND(CAST(SUM(ISNULL(a.transcost, 0)) / NULLIF(SUM(ISNULL(a.quantity, 0)), 0) AS DECIMAL(18, 2)), 2) END AS [Adjustments Avg], \n    ROUND(CAST(SUM(ISNULL(a.transcost, 0)) AS DECIMAL(18, 2)), 2) AS [Adjustments Cost],\n \n    ---- Closing Totals ----\n    ROUND(\n        CAST(SUM(ISNULL(o.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(r.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(i.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(t.quantity, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(a.quantity, 0)) AS DECIMAL(18, 2))         \n    , 2) AS [Closing Qty],\n \n    ROUND(\n        (SUM(ISNULL(o.transcost, 0)) + \n         SUM(ISNULL(r.transcost, 0)) + \n         SUM(ISNULL(i.transcost, 0)) + \n         SUM(ISNULL(t.transcost, 0)) + \n         SUM(ISNULL(a.transcost, 0))) / \n        NULLIF((SUM(ISNULL(o.quantity, 0)) + \n                 SUM(ISNULL(r.quantity, 0)) + \n                 SUM(ISNULL(i.quantity, 0)) + \n                 SUM(ISNULL(t.quantity, 0)) + \n                 SUM(ISNULL(a.quantity, 0))), 0), 2) AS [Closing Avg],\n \n    ROUND(\n        CAST(SUM(ISNULL(o.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(r.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(i.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(t.transcost, 0)) AS DECIMAL(18, 2)) +       \n        CAST(SUM(ISNULL(a.transcost, 0)) AS DECIMAL(18, 2))         \n    , 2) AS [Closing Cost]\n\n \nFROM ICITEM m \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        [location] = @LocationCode AND (fiscyear < @Year OR (fiscyear = @Year AND fiscperiod < @Period))\n    GROUP BY ITEMNO\n) AS o ON o.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP = 'IC' AND TRANSTYPE = '20')\n    GROUP BY ITEMNO\n) AS i ON i.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP = 'PO' AND TRANSTYPE IN ('1', '2', '3'))\n    GROUP BY ITEMNO\n) AS r ON r.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP IN ('IC', 'PO') AND TRANSTYPE IN ('6','7','8','9','10','11','17'))\n    GROUP BY ITEMNO\n) AS a ON a.itemno = m.itemno\n \nLEFT JOIN (\n    SELECT \n        RTRIM(ITEMNO) AS [ITEMNO],\n        SUM([STKQTY]) AS [QUANTITY], \n        SUM([TRANSCOST]) AS [TRANSCOST]\n    FROM dbo.ICIVAL \n    WHERE \n        ([location] = @LocationCode AND (fiscyear = @Year AND fiscperiod = @Period) AND APP IN ('IC') AND TRANSTYPE IN ('12', '13'))\n    GROUP BY ITEMNO\n) AS t ON t.itemno = m.itemno\n \nLEFT JOIN iciloc l ON l.itemno = m.itemno AND l.[location] = @LocationCode\n\nWHERE m.ITEMNO >= \ncase when isnull(@FromItemNumber,'') = '' then '' else @FromItemNumber end \nand m.ITEMNO <= case when isnull(@ToItemNumber,'') = '' then '99-999-999-9999-99999' else @ToItemNumber end \nGROUP BY\n    m.[FMTITEMNO],\n    m.StockUnit,\n    l.pickingseq,\n    m.[desc]\n \n \n   HAVING \n    SUM(ISNULL(o.quantity, 0)) <> 0 OR\n    SUM(ISNULL(r.quantity, 0)) <> 0 OR\n    SUM(ISNULL(i.quantity, 0)) <> 0 OR\n    SUM(ISNULL(t.quantity, 0)) <> 0 OR\n    SUM(ISNULL(a.quantity, 0)) <> 0 OR\n    SUM(ISNULL(o.transcost, 0)) <> 0 OR\n    SUM(ISNULL(r.transcost, 0)) <> 0 OR\n    SUM(ISNULL(i.transcost, 0)) <> 0 OR\n    SUM(ISNULL(t.transcost, 0)) <> 0 OR\n    SUM(ISNULL(a.transcost, 0)) <> 0","QueryFields":null,"Source":null,"QueryCategory":null,"QueryRest":null,"QueryParameterList":null,"QuerySchema":null,"WhenUpdated":"2025-02-18T03:52:37","WhoUpdated":160},"PowerBiReportType":null,"WhoUpdatedUser":null,"WhenUpdated":"2025-02-18T07:03:34","WhoUpdated":160}],"DataFilterList":[],"DataSetList":[],"FileStoreList":[],"ScheduleList":[],"LocalDataList":[],"VirtualDataList":[],"LocalDataEditList":{},"ResourceList":[],"TransactionTableList":[],"TransactionFieldList":[],"IntegrationTemplateList":[],"FileTypeList":[],"XtraReportMappings":null}