Skip to main content
InvoicingTemplate.com main content
Sharing Is Caring! We do appreciate your efforts to let others know us!

Screenshots and Images

The printed version.

Advanced Invoicing Sample - Invoiced Total in English Words

Advanced Invoicing Sample - Invoiced Total in English Words (c5102)

c5102 now includes the customized invoice template for the latest version of Uniform Invoice Software. This is what you will see when you open advanced-invoice-sample-invoiced-total-in-english-words-uis.xlsx.

Advanced Invoicing Sample - Invoiced Total in English Words (UIS Edition)

Advanced Invoicing Sample - Invoiced Total in English Words - UIS edition

Download

License: Private Use (not for distribution or resale). See our Terms of Use.

You are safe to download the resources. We've added our digital signatures to the files.

DescriptionSizeDownload

Without database file. How to download and use

112 KBDownload

Download this if you have already installed UIS, but are looking for additional customized templates.

384 KBDownload

Download this if you want this design to be set as the default template by the installer program.

2.83 MBDownload

Detail

As a business document, an invoice sent by a business to a client to denote an obligation to pay for goods or services. One of the most important fields is the total amount to pay. This sample invoicing template shows you how to show the invoiced total in English words.

As of the current implementation, Uniform Invoice Software does not contain a built in function for converting a numeric value into equal English words. Fortunately, Uniform Invoice Software is built upon Excel. Like other Office programs, Microsoft Excel supports VBA (Visual Basic for Application) macros, which you can use to extend the functionalities of Excel itself, including creation of user-defined formulas (functions).

While Excel itself does not have a built formula to convert a numeric value into English words, it is possible to create VBA function and have it work with your invoice template.

Most templates here on InvoicingTemplate.com are ".xlsx" files. ".xlsx" workbooks are Microsoft Excel Open XML Format Spreadsheet files. It's an XML-based spreadsheet file created by Microsoft Excel version 2007 and later. One limitation of ".xlsx" format is that it cannot store macros (i.e. VBA codes). To save the macro function code with the Excel invoicing template, you have to firstly convert your template into ".xlsm" format, which is called "Excel macro-enabled Workbook". See c5101 - Advanced Invoice Sample - Macro-Enabled Invoicing Template for more information on this topic.

In this advanced sample of creating customized invoice template, we'll use c5099 Standard Business Invoicing Template with Oval Button in the Business Invoice Templates gallery as the starting point, add the macro function "SpellNumber" to the template to show the billed amount in English words.

First, to convert an ".xlsx" invoice template into ".xlsm" format, follow steps below.

  1. First open the invoice template as usual.
  2. Click Excel menu "File", and then "Save As".
  3. Choose the location to save new workbook file.
  4. On the "Save As" dialog box, from the "Save as type" drop down list choose "Excel macro-enabled workbook (*.xlsm)", and then type in the file name for the new workbook.
  5. Click "Save".

Now the steps to create the "SpellNumber" VBA macro function for the ".xlsm" Excel workbook file. The macro code was copied from Microsoft at How to convert a numeric value into English words in Excel, where you can also find step by step instructions on how the create the spreadsheet file. You can also find a similar implementation at Two best ways to convert numbers to words in Excel, and at Converting Numbers Into Words.

  1. Press ALT+F11 on your keyboard. This opens the "Microsoft Visual Basic for Applications" editor, which is also referenced to as macro editor or VBA editor here on InvoicingTemplate.com.
  2. Click the menu "Insert", and then "Module". Thins inserts a new module into the current VBA project.
  3. Copy and paste the following VBA code into the top-right pane.
    
    Option Explicit
    'Main Function
    Function SpellNumber(ByVal MyNumber)
        Dim Dollars, Cents, Temp
        Dim DecimalPlace, Count
        ReDim Place(9) As String
        Place(2) = " Thousand "
        Place(3) = " Million "
        Place(4) = " Billion "
        Place(5) = " Trillion "
        ' String representation of amount.
        MyNumber = Trim(Str(MyNumber))
        ' Position of decimal place 0 if none.
        DecimalPlace = InStr(MyNumber, ".")
        ' Convert cents and set MyNumber to dollar amount.
        If DecimalPlace > 0 Then
            Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _
                      "00", 2))
            MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
        End If
        Count = 1
        Do While MyNumber <> ""
            Temp = GetHundreds(Right(MyNumber, 3))
            If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
            If Len(MyNumber) > 3 Then
                MyNumber = Left(MyNumber, Len(MyNumber) - 3)
            Else
                MyNumber = ""
            End If
            Count = Count + 1
        Loop
        Select Case Dollars
            Case ""
                Dollars = "No Dollars"
            Case "One"
                Dollars = "One Dollar"
             Case Else
                Dollars = Dollars & " Dollars"
        End Select
        Select Case Cents
            Case ""
                Cents = " and No Cents"
            Case "One"
                Cents = " and One Cent"
                  Case Else
                Cents = " and " & Cents & " Cents"
        End Select
        SpellNumber = Dollars & Cents
    End Function
          
    ' Converts a number from 100-999 into text 
    Function GetHundreds(ByVal MyNumber)
        Dim Result As String
        If Val(MyNumber) = 0 Then Exit Function
        MyNumber = Right("000" & MyNumber, 3)
        ' Convert the hundreds place.
        If Mid(MyNumber, 1, 1) <> "0" Then
            Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
        End If
        ' Convert the tens and ones place.
        If Mid(MyNumber, 2, 1) <> "0" Then
            Result = Result & GetTens(Mid(MyNumber, 2))
        Else
            Result = Result & GetDigit(Mid(MyNumber, 3))
        End If
        GetHundreds = Result
    End Function
          
    ' Converts a number from 10 to 99 into text. 
    Function GetTens(TensText)
        Dim Result As String
        Result = ""           ' Null out the temporary function value.
        If Val(Left(TensText, 1)) = 1 Then   ' If value between 10-19...
            Select Case Val(TensText)
                Case 10: Result = "Ten"
                Case 11: Result = "Eleven"
                Case 12: Result = "Twelve"
                Case 13: Result = "Thirteen"
                Case 14: Result = "Fourteen"
                Case 15: Result = "Fifteen"
                Case 16: Result = "Sixteen"
                Case 17: Result = "Seventeen"
                Case 18: Result = "Eighteen"
                Case 19: Result = "Nineteen"
                Case Else
            End Select
        Else                                 ' If value between 20-99...
            Select Case Val(Left(TensText, 1))
                Case 2: Result = "Twenty "
                Case 3: Result = "Thirty "
                Case 4: Result = "Forty "
                Case 5: Result = "Fifty "
                Case 6: Result = "Sixty "
                Case 7: Result = "Seventy "
                Case 8: Result = "Eighty "
                Case 9: Result = "Ninety "
                Case Else
            End Select
            Result = Result & GetDigit _
                (Right(TensText, 1))  ' Retrieve ones place.
        End If
        GetTens = Result
    End Function
         
    ' Converts a number from 1 to 9 into text. 
    Function GetDigit(Digit)
        Select Case Val(Digit)
            Case 1: GetDigit = "One"
            Case 2: GetDigit = "Two"
            Case 3: GetDigit = "Three"
            Case 4: GetDigit = "Four"
            Case 5: GetDigit = "Five"
            Case 6: GetDigit = "Six"
            Case 7: GetDigit = "Seven"
            Case 8: GetDigit = "Eight"
            Case 9: GetDigit = "Nine"
            Case Else: GetDigit = ""
        End Select
    End Function
    					
  4. Click the "Save" button on the toolbar.
  5. Switch your invoice template into design mode by clicking the "Design Mode" button on the "Invoice" worksheet.
  6. Click to select the Excel cell where you want to show the English words for the invoiced total. In this sample, we choose $K$45 on the "Invocie" worksheet.
  7. Click to activate the formula, enter the formula to convert invoiced total into English words:
    =SpellNumber(oknBalanceDue)

    If your invoice format does not use / show the balance and you want to show the "Total", use this formula:

    =SpellNumber(oknTotal)

    For example, if the amount to convert is "756.00", the result will be "Seven Hundred Fifty Six Dollars and No Cents".

  8. Exit design mode by clicking the "Design Mode" button again on the "Invoiced" worksheet.
  9. Save the template by clicking the "Save" tab on Excel quick access toolbar.

The support for VBA macros is one of the big advantages of Microsoft Office / Excel. With this feature, you can extend our invoicing templates in the way you like to meet your business requirements. Feel free to see more samples in the Business Invoice Formats gallery.

Like other form designs here on InvoicingTemplate.com, Advanced Bill Sample - Invoiced Total in English Words is free (offered to you at a price of 0.00USD). It works on Windows XP and all newer versions of Windows, and Excel 2007, 2010, 2013 or 2016.

Format and Specification

Template#c5102
NameAdvanced Invoicing Sample - Invoiced Total in English Words
CategorySales Invoice Template
Release DateSunday, November 20, 2016
Format (XLS or XLSX).xlsm
Excel Version Excel 2003 / Excel 2007 / Excel 2010 / Excel 2013 / Excel 2016
Feature Gallery
Columns5
Lines12
Line Height (Points)18.00
Print Area$D$3:$K$46
Papaer Size / OrientationPortrait
Default Margins (Points)
Left18.00
Right18.00
Top75.60
Bottom75.60