- Scenario
- 100 items are purchased for $1 each
- Vendor Invoice is for $100
- duty item charge of $1 is added
- Customs Invoice is for $100
- Cut a cheque and pay customs to clear container
- Final Landed Cost
- $200
- Upon opening the container, we find 20 items damaged
- We contact the vendor, and he gives us a credit for $20
- Problem
- We cannot request a credit from Customs for the $20 duty we have paid on the damaged items
- The $20 value is still sitting in our inventory account
- Solution
- Pass a manual journal to move the value from Inventory to Damages/Writeoffs, (but not applied to any specific line item, as this will affect existing item costs)
- Debit Inv $20
- Credit Damages/Writeoffs $20
- Add original po,receipt,credit numbers as reference on journal
Wednesday, October 30, 2019
Dynamics NAV / Business Central - What happens to assigned charge items if the original received quantity is partially returned?
Tuesday, October 29, 2019
Dynamics NAV / Business Central - How to post Duties for Landed Costs before receiving goods at warehouse
https://www.navug.com/communities/community-home/digestviewer/viewthread?MessageKey=a0bc75aa-84ab-40e2-8e2a-afcc6d4946ed&CommunityKey=95503735-5a0b-4af1-8326-9bd7bb3b4d3d&tab=digestviewer
- Create a "DOCK" location to represent stock that has not arrived at your warehouse as yet
- "DOCK" location is connected to your Goods in transit account
- "WH" location should be set to require receive
- All PO's are done to the DOCK location
- Container Lands on dock
- Post PO>Receive and Invoice
- PO is received to the "DOCK" location
- This immediately receives stock, and generates the invoice for the full amount
- PO is closed and removed
- If you are using lot or serial tracking, this will only work if you are aware of the lot and serial information in advance. Any differences would need to be handled as stock count adjustments after completing the full receiving process at the WH.
- Landed Costs are entered and applied to the received PO lines
- Transfer order is prepared
- Tick Direct Transfer to default the Qty. to Ship and Qty. to Receive
- Actions>Functions>Get Receipt Lines>Clear Location Filter
- Add all lines from the receipt to a transfer order
- Transfer order is updated with actual dates when container is picked up from the DOCK and delivered to the warehouse
- Any additional charges can added on the transfer as well if required, but for simplicity all charges should have been applied after the initial receiving if possible
- When goods arrive at warehouse
- Unstuff container and count goods received
- On Transfer order, Adjust Qty. to Ship to actual count
- Post Transfer
- Overs
- Additional lines need to be added to the original PO, Received and transferred to WH
- OR Adjusted into stock in a separate transaction as a stock count variance
- Shortages
- Any shortages will be left in the DOCK location
- Reopen and delete the transfer order
- Purchase Return>New>Enter Vendor>Process>Get Posted doc Lines to Reverse>Select PO Lines
- By default, the remaining quantity in DOCK will be entered on the return line
- Enter Return Reason code "Shortage"
- Process>Apply entries (If this should be applied immediately)
- Post>Ship and Invoice
Otherwise, if you are not keen on the idea of receiving stock to a dock location
- You must receive the goods first, then apply landed costs
- You can create the separate landed cost invoices beforehand, but you cannot apply or post them until after the goods are received.
Transfer process details
Friday, October 25, 2019
eOne Smartconnect - Calculate current Year for Batch Name
Create calculated field
IF _CREDITHOLD > "0" THEN
return "CREDITHOLD"
ELSE return "ORDER " + Convert.ToString(fn.YEAR(_RECEIVEDDATE))
END IF
IF _CREDITHOLD > "0" THEN
return "CREDITHOLD"
ELSE return "ORDER " + Convert.ToString(fn.YEAR(_RECEIVEDDATE))
END IF
Thursday, October 24, 2019
NAV Business Central CAL/AL - nav could not find a part of the path
It is looking on the local server for the path.
Use network paths instead of local paths.
Use network paths instead of local paths.
Tuesday, October 22, 2019
Business Central - Payables in a currency different from the Bank Currency
Leave the Bank Payment Type blank.
If you choose Manual or Computer check, it will force the transaction to be the same currency as the bank account
Wednesday, October 16, 2019
DEVOPS Excel Integration Add-In
Link to download Integration to Excel:
https://visualstudio.microsoft.com/downloads/
Further instructions can be found here:
https://docs.microsoft.com/en-us/azure/devops/boards/backlogs/office/bulk-add-modify-work-items-excel?view=azure-devops
https://visualstudio.microsoft.com/downloads/
- At bottom of screen, Browse to Other Tools and frameworks
- Look for Azure Devops Office Integration 2019
Further instructions can be found here:
https://docs.microsoft.com/en-us/azure/devops/boards/backlogs/office/bulk-add-modify-work-items-excel?view=azure-devops
Dynamics GP - SOP Lot Qty and Attributes View
/****** Object: View [dbo].[BI_SOP_LotAttr] Script Date: 16/10/2019 09:40:44 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[BI_SOP_LotAttr]
AS
GO
/****** Object: View [dbo].[BI_SOP_BulkPick_Lots] Script Date: 16/10/2019 09:41:13 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[BI_SOP_BulkPick_Lots]
AS
SELECT PHolds.SOPNUMBE AS IsPHold, dbo.SOP10200.SOPTYPE, dbo.SOP10200.SOPNUMBE, dbo.SOP10100.ORIGTYPE, dbo.SOP10100.ORIGNUMB, dbo.SOP10100.DOCID, dbo.SOP10100.DOCDATE, dbo.SOP10100.GLPOSTDT, dbo.SOP10100.ReqShipDate,
dbo.SOP10100.CUSTNMBR, dbo.SOP10100.CUSTNAME, dbo.SOP10100.CSTPONBR, dbo.SOP10200.ITEMNMBR, dbo.SOP10200.ITEMDESC, dbo.SOP10200.UOFM, dbo.SOP10200.LOCNCODE, dbo.SOP10200.UNITCOST, dbo.SOP10200.UNITPRCE,
dbo.SOP10200.XTNDPRCE, ISNULL(dbo.BI_SOP_LotAttr.SERLTQTY, dbo.SOP10200.QUANTITY) AS QUANTITY, dbo.SOP10200.ATYALLOC, dbo.SOP10200.QTYBSUOM, dbo.SOP10200.SALSTERR, dbo.SOP10200.SLPRSNID, RTRIM(dbo.SOP10200.SOPNUMBE)
+ ' | ' + CAST(dbo.SOP10100.DOCDATE AS varchar) + ' | ' + RTRIM(dbo.SOP10100.CUSTNMBR) + ' ' + RTRIM(dbo.SOP10100.ShipToName) + ' | ' + RTRIM(dbo.SOP10200.ADDRESS1) + RTRIM(dbo.SOP10200.ADDRESS2) + RTRIM(dbo.SOP10200.ADDRESS3)
+ RTRIM(dbo.SOP10200.CITY) AS SOPLbl, dbo.SOP10100.PCKSLPNO, dbo.SOP10100.PICTICNU, dbo.SOP10100.ShipToName, dbo.SOP10100.ADDRESS1, dbo.SOP10100.ADDRESS2, dbo.SOP10100.ADDRESS3, dbo.SOP10100.CITY,
RTRIM(dbo.SOP10200.ADDRESS1) + RTRIM(dbo.SOP10200.ADDRESS2) + RTRIM(dbo.SOP10200.ADDRESS3) + RTRIM(dbo.SOP10200.CITY) AS FullAdd, ISNULL(dbo.BI_SOP_LotAttr.SERLTQTY, dbo.SOP10200.QTYTOINV) AS QTYTOINV, dbo.RM00101.HOLD,
dbo.IV00101.ITEMSHWT, dbo.BI_SOP_LotAttr.BestBefore, dbo.BI_SOP_LotAttr.SERLTQTY
FROM dbo.IV00101 INNER JOIN
dbo.SOP10200 INNER JOIN
dbo.SOP10100 ON dbo.SOP10200.SOPTYPE = dbo.SOP10100.SOPTYPE AND dbo.SOP10200.SOPNUMBE = dbo.SOP10100.SOPNUMBE INNER JOIN
dbo.RM00101 ON dbo.SOP10100.CUSTNMBR = dbo.RM00101.CUSTNMBR ON dbo.IV00101.ITEMNMBR = dbo.SOP10200.ITEMNMBR LEFT OUTER JOIN
dbo.BI_SOP_LotAttr ON dbo.SOP10200.CMPNTSEQ = dbo.BI_SOP_LotAttr.CMPNTSEQ AND dbo.SOP10200.ITEMNMBR = dbo.BI_SOP_LotAttr.ITEMNMBR AND dbo.SOP10200.SOPTYPE = dbo.BI_SOP_LotAttr.SOPTYPE AND
dbo.SOP10200.SOPNUMBE = dbo.BI_SOP_LotAttr.SOPNUMBE AND dbo.SOP10200.LNITMSEQ = dbo.BI_SOP_LotAttr.LNITMSEQ LEFT OUTER JOIN
(SELECT DISTINCT SOPNUMBE
FROM dbo.SOP10104
WHERE (DELETE1 = 0)) AS PHolds ON dbo.SOP10100.SOPNUMBE = PHolds.SOPNUMBE
WHERE (dbo.SOP10200.SOPTYPE = 2) AND (dbo.SOP10100.PICTICNU > '0') AND (PHolds.SOPNUMBE IS NULL)
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[BI_SOP_LotAttr]
AS
SELECT dbo.SOP10201.SOPTYPE,
dbo.SOP10201.SOPNUMBE, dbo.SOP10201.LNITMSEQ, dbo.SOP10201.CMPNTSEQ,
dbo.SOP10201.QTYTYPE, dbo.SOP10201.SERLTNUM, dbo.SOP10201.SERLTQTY,
dbo.SOP10201.SLTSQNUM, dbo.SOP10201.DATERECD,
dbo.SOP10201.DTSEQNUM,
dbo.SOP10201.UNITCOST, dbo.SOP10201.ITEMNMBR, dbo.SOP10201.TRXSORCE,
dbo.SOP10201.POSTED, dbo.SOP10201.OVRSERLT, dbo.SOP10201.BIN,
dbo.SOP10201.MFGDATE, dbo.SOP10201.EXPNDATE,
dbo.SOP10201.DEX_ROW_ID,
dbo.IV00301.ITEMNMBR AS Expr1, dbo.IV00301.LOTNUMBR, dbo.IV00301.LOTATRB1,
dbo.IV00301.LOTATRB2, dbo.IV00301.LOTATRB3, dbo.IV00301.LOTATRB4 AS BestBefore,
dbo.IV00301.LOTATRB5,
dbo.IV00300.MFGDATE
AS Manufactured, dbo.IV00300.EXPNDATE AS Expiry, dbo.IV00300.DATERECD AS
Received
FROM
dbo.SOP10201 INNER JOIN
dbo.SOP10200 ON dbo.SOP10201.SOPTYPE = dbo.SOP10200.SOPTYPE AND
dbo.SOP10201.SOPNUMBE = dbo.SOP10200.SOPNUMBE AND dbo.SOP10201.LNITMSEQ =
dbo.SOP10200.LNITMSEQ AND
dbo.SOP10201.CMPNTSEQ
= dbo.SOP10200.CMPNTSEQ LEFT OUTER JOIN
dbo.IV00300 ON dbo.SOP10201.ITEMNMBR = dbo.IV00300.ITEMNMBR AND
dbo.SOP10201.SERLTNUM = dbo.IV00300.LOTNUMBR AND dbo.SOP10200.LOCNCODE =
dbo.IV00300.LOCNCODE LEFT OUTER JOIN
dbo.IV00301 ON dbo.SOP10201.SERLTNUM = dbo.IV00301.LOTNUMBR AND
dbo.SOP10201.ITEMNMBR = dbo.IV00301.ITEMNMBR
GO
/****** Object: View [dbo].[BI_SOP_BulkPick_Lots] Script Date: 16/10/2019 09:41:13 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[BI_SOP_BulkPick_Lots]
AS
SELECT PHolds.SOPNUMBE AS IsPHold, dbo.SOP10200.SOPTYPE, dbo.SOP10200.SOPNUMBE, dbo.SOP10100.ORIGTYPE, dbo.SOP10100.ORIGNUMB, dbo.SOP10100.DOCID, dbo.SOP10100.DOCDATE, dbo.SOP10100.GLPOSTDT, dbo.SOP10100.ReqShipDate,
dbo.SOP10100.CUSTNMBR, dbo.SOP10100.CUSTNAME, dbo.SOP10100.CSTPONBR, dbo.SOP10200.ITEMNMBR, dbo.SOP10200.ITEMDESC, dbo.SOP10200.UOFM, dbo.SOP10200.LOCNCODE, dbo.SOP10200.UNITCOST, dbo.SOP10200.UNITPRCE,
dbo.SOP10200.XTNDPRCE, ISNULL(dbo.BI_SOP_LotAttr.SERLTQTY, dbo.SOP10200.QUANTITY) AS QUANTITY, dbo.SOP10200.ATYALLOC, dbo.SOP10200.QTYBSUOM, dbo.SOP10200.SALSTERR, dbo.SOP10200.SLPRSNID, RTRIM(dbo.SOP10200.SOPNUMBE)
+ ' | ' + CAST(dbo.SOP10100.DOCDATE AS varchar) + ' | ' + RTRIM(dbo.SOP10100.CUSTNMBR) + ' ' + RTRIM(dbo.SOP10100.ShipToName) + ' | ' + RTRIM(dbo.SOP10200.ADDRESS1) + RTRIM(dbo.SOP10200.ADDRESS2) + RTRIM(dbo.SOP10200.ADDRESS3)
+ RTRIM(dbo.SOP10200.CITY) AS SOPLbl, dbo.SOP10100.PCKSLPNO, dbo.SOP10100.PICTICNU, dbo.SOP10100.ShipToName, dbo.SOP10100.ADDRESS1, dbo.SOP10100.ADDRESS2, dbo.SOP10100.ADDRESS3, dbo.SOP10100.CITY,
RTRIM(dbo.SOP10200.ADDRESS1) + RTRIM(dbo.SOP10200.ADDRESS2) + RTRIM(dbo.SOP10200.ADDRESS3) + RTRIM(dbo.SOP10200.CITY) AS FullAdd, ISNULL(dbo.BI_SOP_LotAttr.SERLTQTY, dbo.SOP10200.QTYTOINV) AS QTYTOINV, dbo.RM00101.HOLD,
dbo.IV00101.ITEMSHWT, dbo.BI_SOP_LotAttr.BestBefore, dbo.BI_SOP_LotAttr.SERLTQTY
FROM dbo.IV00101 INNER JOIN
dbo.SOP10200 INNER JOIN
dbo.SOP10100 ON dbo.SOP10200.SOPTYPE = dbo.SOP10100.SOPTYPE AND dbo.SOP10200.SOPNUMBE = dbo.SOP10100.SOPNUMBE INNER JOIN
dbo.RM00101 ON dbo.SOP10100.CUSTNMBR = dbo.RM00101.CUSTNMBR ON dbo.IV00101.ITEMNMBR = dbo.SOP10200.ITEMNMBR LEFT OUTER JOIN
dbo.BI_SOP_LotAttr ON dbo.SOP10200.CMPNTSEQ = dbo.BI_SOP_LotAttr.CMPNTSEQ AND dbo.SOP10200.ITEMNMBR = dbo.BI_SOP_LotAttr.ITEMNMBR AND dbo.SOP10200.SOPTYPE = dbo.BI_SOP_LotAttr.SOPTYPE AND
dbo.SOP10200.SOPNUMBE = dbo.BI_SOP_LotAttr.SOPNUMBE AND dbo.SOP10200.LNITMSEQ = dbo.BI_SOP_LotAttr.LNITMSEQ LEFT OUTER JOIN
(SELECT DISTINCT SOPNUMBE
FROM dbo.SOP10104
WHERE (DELETE1 = 0)) AS PHolds ON dbo.SOP10100.SOPNUMBE = PHolds.SOPNUMBE
WHERE (dbo.SOP10200.SOPTYPE = 2) AND (dbo.SOP10100.PICTICNU > '0') AND (PHolds.SOPNUMBE IS NULL)
GO
Subscribe to:
Posts (Atom)