UFN_CREDIT_GETSALESORDERTAXITEMS

Returns tax order items for a given sales order id

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@SALESORDERID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_CREDIT_GETSALESORDERTAXITEMS
(
    @SALESORDERID uniqueidentifier
) returns @TAXES table
(
    TAXID uniqueidentifier,
    MAXTAX money,
    CURRENTTAX money,
    TOTALTAX decimal(20, 4),
    REVENUESPLITID uniqueidentifier
)
begin
    insert into @TAXES
    select 
        [SALESORDERITEM].[ID], 
        dbo.UFN_CREDIT_SALESORDERITEMTAXREMAININGREFUNDABLEAMOUNT(SALESORDERITEM.ID),
        0,
        [SALESORDERITEMTAX].[TOTALTAX],
        FINANCIALTRANSACTIONLINEITEM.ID
    from dbo.[SALESORDERITEM]
    inner join dbo.SALESORDER
        on SALESORDERITEM.SALESORDERID = SALESORDER.ID
    left join dbo.[CREDITITEM] 
        on [SALESORDERITEM].[ID] = [CREDITITEM].[SALESORDERITEMID]
    left join dbo.[SALESORDERITEMTAX]
        on [SALESORDERITEMTAX].[TAXITEMID] = [SALESORDERITEM].[ID]
    inner join dbo.FINANCIALTRANSACTION
        on FINANCIALTRANSACTION.ID = SALESORDER.REVENUEID
    inner join dbo.FINANCIALTRANSACTIONLINEITEM
        on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
    inner join dbo.REVENUESPLITORDER
        on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLITORDER.ID
    where
        [SALESORDER].[ID] = @SALESORDERID
        and [SALESORDERITEM].[TYPECODE] = 4
        and REVENUESPLITORDER.TAXID = SALESORDERITEMTAX.TAXID
        and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
        and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1  -- Reversal

    group by [SALESORDERITEM].[ID], [SALESORDERITEM].[TOTAL], [SALESORDERITEMTAX].[TOTALTAX], FINANCIALTRANSACTIONLINEITEM.ID

    return;
end