BoostExcel main content


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.


Download this if you have already installed the Microsoft Store edition of Invoice Manager for Excel, and are looking for additional customized templates.

557 KBDownload

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

6.08 MBDownload

Screenshots and Images

The printed version.

Advanced Sample - Invoiced Total in English Words

Open the template in Excel.

Advanced Sample - Invoiced Total in English Words (IMFE Edition)


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, Invoice Manager for Excel does not contain a built in function for converting a numeric value into equal English words. Fortunately, Invoice Manager for Excel 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 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
  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)
                MyNumber = ""
            End If
            Count = Count + 1
        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))
            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:

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


    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.

Format and Specification

NameAdvanced Sample - Invoiced Total in English Words
CategorySales Invoice Template
Release DateSunday, November 20, 2016
Format (XLS or XLSX).xlsm
Feature Gallery
Line Height (Points)18.00
Print Area$D$3:$K$46
Papaer Size / OrientationPortrait
Default Margins (Points)
PriceFree (0.00USD)
SystemWindows 7 and later, and Excel 2007 and later.

Update History

February 10, 2018

  • Removed the description of shortcut keys from the template since Uniform Invoice Software 5.26 is no longer support it.
  • Added the usage description of this template to the form.