Convert Number to Text Format

Can anyone suggest how I can convert Number to Text in workflow. I want to print Invoice and want Total Amount to be printed as Text in the Output Invoice.

How about this expression?
TEXT([Total Amount])

1 Like

@Fabian I think my question was not clear. I want if there is “[Total Amount]=1000” then i want this to be converted to “One Thousand” in word format. Can u suggest a solution for this. .

There is no built-in solution to meet your goal, and writing an expression to handle arbitrary values would be extremely complicated.

1 Like

Something like this?
You’re free to take a copy of this app from my portfolio:
Portfolio URL:
App Name: Number2Text



1 Like

Thanks @Steve, appreciated.

Wow! Really very creative implementation @LeventK !

1 Like

Cools Thanks @LeventK

Teşekkürler elinize sağlık

1 Like

I try using this but give wrong text if number below 100

Thanks bringing it to my attention. The glitch is now fixed.

1 Like


Thank you very much Mr. LeventK.

I tried and tried to make it in Million (not only thousands), however always fail. Can you help me please?

I have updated the app to textify numbers up to 999,999,999. Provided you have copied my app, please delete that app and copy the new one to see and adopt the changes.



Also added the translation feature via Google Translate API in compliance with ISO-639-1 Code which supports 109 languages via NMT/PBMT model.


Whoa! Nice!

1 Like


A couple of members had texted me that, they have copied the app but translation feature is not working :smiley: That’s so normal, because the app is using a standalone webhook workflow. To make it working for you; there are a couple of steps that you shall follow:

1. You need to subscribe to Google Cloud
2. You need to activate Google Translate API and generate an API Key (check it here)
3. Create a Google Apps Script (you can copy the code below), make necessary changes as per your requirements and deploy the script as a WebApp. When deploying, you shall ensure that the webapp is deployed for use of Anyone, even anonymous. Take a note of the generated webapp URL, as you will need it for your AppSheet Webhook Workflow


var SHEETID = "Your Sheet ID here";
var SHEETNAME = "Your Sheet Name here where you want the translation to be recorded";
var TR_COL_INDEX = 7; // The column index (A=1) in your sheet for the translation record
var API_KEY = "Your API Key here";
Logger = BetterLog.useSpreadsheet(SHEETID);

function doPost(e) {
  Logger.log("Number2Text Webhook triggered...");
  var payload = JSON.parse(e.postData.contents);
  var string = payload.InWords;
  var target = payload.TargetL;
  var rowNr = parseInt(payload.RowNr);
  try {
    var baseURL = "";
    var payload = {
      "q" : string,
      "source" : "en",
      "target" : target,
      "format" : "text"
    var headers = {
      'content-type': 'application/json'
    var options = {
      "method" : "post",
      "payload" : JSON.stringify(payload),
      "headers" : headers
    var response = JSON.parse(UrlFetchApp.fetch(baseURL, options));
    var trText =[0].translatedText;
    SpreadsheetApp.openById(SHEETID).getSheetByName(SHEETNAME).getRange(rowNr, TR_COL_INDEX).setValue(trText);
    Logger.log("Source Language: en"+"\nTarger Language: "+target+"\nString: "+string+"\nTranslation: "+trText);
    return ContentService    // return json success results
                      "data": JSON.stringify(payload) }))
  } catch (e) {
    MailApp.sendEmail("", "Webhook Error Occured!", 
                      "\r\nMessage: " + e.message
                      + "\r\nFile: " + e.fileName
                      + "\r\nLine: " + e.lineNumber);
    e = (typeof e === 'string') ? new Error(e) : e;
    Logger.severe('%s: %s (line %s, file "%s"). Stack: "%s" . While processing %s.',||'', 
                  e.message||'', e.lineNumber||'', e.fileName||'', e.stack||'', processingMessage||'');
    throw e;



Hi mr. LeventK … awesome your helps.
I am still waiting How to convert number to Text format in million (not just thousands).

From your apps… i tried and tried to modify but always fail…
Could you help me?

Thank you and very appreciate,

Have you copied the latest app build? As I have updated the app to cover the number range up-to 999,999,999