Formula to display total amount in words which handles both Dollars and Rupees

CASE

  WHEN {total} = 0 THEN ‘ZERO ONLY’

   

  WHEN {total} < 1 THEN

    (CASE 

      WHEN ROUND({total} * 100, 0) > 0 THEN

        TO_CHAR(TO_DATE(ROUND({total} * 100, 0), ‘J’), ‘JSP’) || 

        CASE 

          WHEN {currencyname} = ‘Indian Rupee’ THEN ‘ PAISE ONLY’

          WHEN {currencyname} = ‘US Dollar’ THEN ‘ CENTS ONLY’

          ELSE ”

        END

      ELSE ”

    END)

  ELSE

    (CASE 

      WHEN FLOOR({total}/100000) > 0 THEN

        TO_CHAR(TO_DATE(FLOOR({total}/100000), ‘J’), ‘JSP’) || ‘ LAKH ‘ 

      ELSE ”

    END) ||

    (CASE 

      WHEN FLOOR(MOD({total}, 100000) / 1000) > 0 THEN

        TO_CHAR(TO_DATE(FLOOR(MOD({total}, 100000) / 1000), ‘J’), ‘JSP’) || ‘ THOUSAND ‘ 

      ELSE ”

    END) ||

    (CASE 

      WHEN MOD({total}, 1000) > 0 THEN

        TO_CHAR(TO_DATE(FLOOR(MOD({total}, 1000)), ‘J’), ‘JSP’) || ‘ ‘

      ELSE ”

    END) ||

    (CASE 

      WHEN ROUND(MOD({total}, 1) * 100, 0) > 0 THEN

        ‘AND ‘ || 

        TO_CHAR(TO_DATE(ROUND(MOD({total}, 1) * 100, 0), ‘J’), ‘JSP’) ||

        CASE 

          WHEN {currencyname} = ‘Indian Rupee’ THEN ‘ PAISE ‘

          WHEN {currencyname} = ‘US Dollar’ THEN ‘ CENTS ‘

          ELSE ”

        END

      ELSE ”

    END) ||

    ‘ONLY’

END

Leave a comment

Your email address will not be published. Required fields are marked *