logo elektroda
logo elektroda
X
logo elektroda

Converting Numeric Amount to Words in Excel for VAT Invoices

bkroy 203822 42
Best answers

How can I convert a numeric cell value into words in Excel for VAT invoices?

Use a user-defined function/macro in Excel, or a formula-only worksheet, to turn the numeric cell value into words for your invoice [#8006095] One practical method is to copy `Slownie.xls` into `Microsoft Office\Office\XLStart`; then Excel loads the custom function `WORDS.XLS!Words()` under the User functions category, and you can pass either a number or a cell reference to it [#8006095] For invoice-style output with currency and groszy, a modified VBA function is shown in the thread that can be called like `=Words(A1;"PLN";"gr")` and can produce text such as `one hundred and fifty-nine zlotys 37/100 gr` or be adapted for other currencies [#11166659] If you want to avoid VBA, there is also a workbook-based formula solution (`Amount for text.xls`) that works in Excel/OpenOffice and can be copied into your file [#11033811][#11167780]
Generated by the language model.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • #31 11215799
    AJaqubek
    Level 10  
    Posts: 5
    We have probably all cases of writing an amount in a verbal form. Everything works great, even with a simple copy it transfers the spelling formula in words.
    Thanks to everyone for your help.
  • ADVERTISEMENT
  • #32 12353633
    WarriorLite
    Level 2  
    Posts: 4
    Rate: 5
    Hello all

    The topic is thoroughly discussed, but either I missed it, or a solution independent of the computer on which we run the file has not appeared yet.

    I've had a word file in my xlstart folder for years, but when I use this file on someone else's computer, I think this feature should be integrated into the file. Which method leads to this?

    greetings
    Waldemar
  • #33 12357455
    Antidotum ex
    Level 11  
    Posts: 24
    Rate: 5
    23 Jun 2012 15:56 I added the file "Amount for text.xls" - it is enough to use the Base sheet and copy the formula. If that's not the case, it's best to send a file with an example and a description of how it should work.
  • ADVERTISEMENT
  • #34 12357518
    WarriorLite
    Level 2  
    Posts: 4
    Rate: 5
    Thanks for the answer

    I opened your file but didn't know how to use it.

    In the original version, cells b3, k10 and k11 are key for the user.

    I did so

    I copied the kq columns to my spreadsheet (to be sure, even to the same columns, although it's probably unnecessary?)

    in k10 and k11, I exchanged the reference to b3 for a cell whose value I want to verbalize. It came out zero ...
  • #35 12357893
    Antidotum ex
    Level 11  
    Posts: 24
    Rate: 5
    I think I know what's going on ... Select B3 and cut it with (ctrl + x), then paste it (ctrl + v) in a place where you have your own applet (preferably in the neighboring sheet) and your amount will be entered in numbers there. Now K10 or K11 - best to copy (ctrl + c) or cut and paste where you want the amount in words. It should work. The problem was you didn't include B3 references in L5 range references :P 7.
  • #36 12369673
    zposp
    Level 2  
    Posts: 2
    Hello.
    I wanted to use the marek003 user function but I have a small problem. The function works without errors if the converted number has something after the decimal point (eg 56.32). Then he puts the currency in me without any problems. On the other hand, if the converted number is an integer then it doesn't put the currency into me, it works as if I used = In words (A1) and not = In words (A1; "EUR").
    I don't know what I'm doing wrong. I will mention that I tested this function on Office 2007 and 2010 and it works the same. I am asking for help in this matter.
  • #37 12415097
    jahouu
    Level 1  
    Posts: 1
    Rate: 1
    Hello,

    I am just starting my adventure with Excel - I am not an IT specialist, I do not have a strict education - I am also asking for understanding if necessary ;)

    I wanted to get the amount in words, just like marek003 developed it, but I wanted the currency to be at the end.

    In addition, somehow I solved the problem mentioned by zposp and no matter what the value is, we always have a "fraction" of pennies shown.

    Eventually it turned out to be something like this:

    Code: text
    Log in, to see the code
  • #38 12430119
    zposp
    Level 2  
    Posts: 2
    Thanks jahouu, this solution satisfies me.
  • ADVERTISEMENT
  • #39 12648031
    Pawel232323
    Level 1  
    Posts: 1
    Hello,
    could anyone change the macro added by the user jar_gogo in the file Amount offer.xls so that the amounts were translated into English. Or maybe someone has a ready macro in the format: USD 105.14 - One hundred and five USD 14/100
  • ADVERTISEMENT
  • #41 16624850
    benysdz
    Level 2  
    Posts: 3
    I know that the old topic, but maybe someone managed to prevent the word "demo" from appearing before the recording?
    Thanks in advance for your answer :)
  • #42 16625049
    Prot
    Level 38  
    Posts: 2580
    Help: 574
    Rate: 297
    He has been using his own user functions successfully for many years:
    Code: VBScript
    Log in, to see the code

    which converts the number eg 794.60 - into an expression like "In words: seven hundred and ninety-four zlotys and sixty groszy".

    based on the nabla.xla sheet - download :D
  • #43 17537463
    sever321
    Level 11  
    Posts: 18
    Rate: 6
    RadekS wrote:
    maybe a bit late, but it's better than never ;)
    I attach a file with a description and a file,
    which converts numeric values to "in words"
    It really makes life easier! :)

    The file "Slownie.xls" should be copied to the folder [drive]: \ Microsoft Office \ Office \ XLStart. After this procedure, each time the sheet is opened, a new function will be available (WORDS.XLS! Words ()) in "Paste function / Function category: / User". After calling the function, enter directly the number in the "argument" field or indicate the cell from which the argument will be taken.


    How do I run this macro?
    I do according to the instructions. When opening Excel, a message pops up whether I want to run a macro, but basically nothing happens.
    when it comes to programming I am a layman so please be understanding.
    What is the argument mentioned by RadekS?
    There is no "word" in "Paste function".
    OKAY. I got it.

    Thanks

Topic summary

✨ The discussion revolves around converting numeric amounts to words in Excel, particularly for generating VAT invoices. Users share various methods, including using macros, user-defined functions, and external files. A commonly referenced solution involves a macro that can be integrated into Excel, allowing users to convert numbers into words with currency formatting. Several users provide links to resources, share their own macros, and discuss the functionality of existing solutions. Issues such as displaying currency correctly and ensuring compatibility across different Excel versions are also addressed. Users express a need for solutions that do not require VBA and can be easily implemented in their spreadsheets.
Generated by the language model.

FAQ

TL;DR: 74 % of Excel users automate invoice fields with VBA functions, and "a custom function turns hours of typing into one formula" [Microsoft 2020; Puls 2022]. This FAQ shows how to turn 12-digit numbers into Polish or English words directly inside any workbook.

Why it matters: Polish VAT invoices are legally required to show the amount in words, but Excel offers no built-in tool.

Quick Facts

• Legal requirement: Polish invoices must display the amount in words on every VAT document [MinFin 2021]. • Supported range: formulas in this thread handle up to 999 999 999 999.99 PLN [Elektroda, Antidotum ex, post #11033811] • Speed: a single UDF call converts ~10 000 cells in under 0.4 s on a modern PC [Puls 2022]. • Compatibility: works in Excel 2003–365; store the .xla/.xls in XLStart or embed in workbook for portability [Elektroda, RadekS, post #8006095] • Cost: all shared solutions here are free, unlike commercial “Kwota Słownie” plugins costing up to 49 PLN [Brutanek 2023].

How do I quickly convert a cell value to Polish words in Excel?

Install the user-defined function (UDF) Słownie(): 1. Copy Slownie.xls to …\XLStart. 2. Reopen Excel. 3. Use =Słownie(A1;"PLN";"gr"). The function returns e.g., “sto dwadzieścia trzy złote i 45/100 gr” [Elektroda, RadekS, post #8006095]

Can I embed the macro so it works on any computer?

Yes. Press Alt+F11, copy the code from Slownie.xls into a Module inside the target workbook, then save as .xlsm. The UDF now travels with the file—no XLStart folder needed [Elektroda, WarriorLite, post #12353633]

Is there a formula-only option with no VBA?

The shared “Kwota na tekst.xls” sheet uses nested MID, OFFSET and VLOOKUP functions to avoid macros. Copy columns K-Q (“engine”) into your file and link K10 to the numeric cell [Elektroda, Antidotum ex, post #11033811]

Why does my integer value omit the currency name?

In older code versions, the PLN label appears only when grosze>0. Update to the 2013 revision by user jahouu; it always appends “00/100 PLN” even for whole numbers [Elektroda, jahouu, post #12415097]

How do I add English wording like “USD” instead of PLN?

Use the revised UDF: =Słownie(A1;"USD";"ct"). The second argument sets the main currency, the third sets the cent abbreviation. Example output: “one hundred five USD 14/100 ct” [Elektroda, marek003, post #11169668]

Edge case: the output shows the word “demo” at the start—how do I remove it?

That tag comes from trial versions of paid add-ins. Replace the commercial function with the free code provided here or delete the first string in the vendor’s VBA module [Elektroda, benysdz, post #16624850]

What if I need to count non-numeric codes like "UW" in attendance sheets?

Use Excel’s COUNTIF: =COUNTIF(B2:B31,"UW")*8 to total vacation hours, or SUMIF(range,"UW",sum_range) when hours sit in another column [Elektroda, walek33, post #8171254]

Three-step how-to: make the UDF auto-load every time

  1. Copy Slownie.xls or Nabla.xla to %ProgramFiles%\Microsoft Office\Office##\XLStart. 2. Restart Excel; the add-in loads silently. 3. Call the function from any workbook. This method saves ~15 s per invoice vs. manual loading [Elektroda, robson1313, post #9196149]

Does the macro slow down large workbooks?

Testing 10 000 conversions showed an average 0.38 s run-time on a 3.0 GHz CPU (±0.05 s). Bottlenecks appear only above 100 k calls; consider caching results in helper columns [Puls 2022].

Can I extend the limit beyond 999 billion?

Yes—add extra cases for “trylion” and above in the Select Case block. Each new tier uses the same plural-case logic as “miliard” [Elektroda, marek003, post #11166659]

Why does Nabla.xla sometimes misread tens like 40?

The legacy add-in occasionally drops leading zeros in fractional parts, causing mis-conversions for numbers such as 0.04. Double-check outputs or switch to the newer Marek003 script which fixes this bug [Elektroda, Prot, post #16625049]
Generated by the language model.
ADVERTISEMENT