I have the following:
it does not do an update.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go




ALTER PROCEDURE [dbo].[sprInsertBulkSIMsCustomFields]
(
@intCompanyID INT,
@XMLDevices XML,
@resultCode INT OUTPUT,
@resultMessage NVARCHAR(200) OUTPUT
)
AS

BEGIN
SET NOCOUNT ON

BEGIN TRY

BEGIN TRANSACTION

DECLARE @xmlInt INT
-- cache
EXEC sp_xml_preparedocument @xmlInt output,@XMLDevices

--use a table variable to get SIMIDs first
DECLARE @TableSIMIndex TABLE( sim_esn NVARCHAR(50),
custom1 NVARCHAR(20), custom2 NVARCHAR(20), custom3 NVARCHAR(20),
custom4 NVARCHAR(20), custom5 NVARCHAR(20))

INSERT INTO @TableSIMBulk (sim_esn, custom1, custom2, custom3, custom4, custom5)
SELECT * from OpenXml(@xmlInt, 'root/device')

WITH (sim_esn NVARCHAR(50), custom1 NVARCHAR(20), custom2 NVARCHAR(20), custom3 NVARCHAR(20), custom4 NVARCHAR(20), custom5 NVARCHAR(20))



UPDATE tbl_sim_custom_fields
SET
custom1 = t.Custom1,
custom2 = t.Custom2,
custom3 = t.Custom3,
custom4 = t.Custom4,
custom5 = t.Custom5
FROM tbl_sims
JOIN @TableSIMIndex t ON t.sim_esn = tbl_sims.SIMNumber
JOIN tbl_locations ON tbl_sims.LocationID = tbl_locations.LocationID
JOIN tbl_company ON tbl_locations.EnterpriseID = tbl_company.EnterpriseID
WHERE tbl_company.EnterpriseID = @intCompanyID
and tbl_sim_custom_fields.simid=tbl_sims.simid

SET @resultCode = 0
SET @resultMessage = 'Bulk insert has completed successfully'




EXEC sp_xml_removedocument @xmlInt

COMMIT TRANSACTION

END TRY

BEGIN CATCH
IF @@TRANCOUNT > 0 ROLLBACK

SET @resultCode = 1
SET @resultMessage = char(13) + char(10)
SET @resultMessage = 'Error occurred while updating the SIM numbers ' + char(13) + char(10)
+ CAST(ERROR_NUMBER() AS VARCHAR) + '. ' + char(13) + char(10)
+ ERROR_MESSAGE() + '. ' + char(13) + char(10)
+ CAST(ERROR_LINE() AS VARCHAR) + '. ' + char(13) + char(10)
+ ERROR_PROCEDURE() + '. ' + char(13) + char(10)
+ CAST(ERROR_STATE() AS VARCHAR) + '. ' + char(13) + char(10)



END CATCH

END




"<root><device><sim_esn>89310380106003514728</sim_esn><custom1>DDR</custom1><custom2>SSR</custom2><custom3>MBR</custom3><custom4>TTS</custom4><custom5>F15</custom5></device></root>"