{"id":73398,"date":"2018-12-12T11:47:51","date_gmt":"2018-12-12T02:47:51","guid":{"rendered":"https:\/\/support.questetra.com\/?p=73398"},"modified":"2022-06-01T15:28:29","modified_gmt":"2022-06-01T06:28:29","slug":"journal-tsv-create","status":"publish","type":"post","link":"https:\/\/support.questetra.com\/en\/addons\/journal-tsv-create\/","title":{"rendered":"Journal-TSV Create"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"68\" data-attachment-id=\"89186\" data-permalink=\"https:\/\/support.questetra.com\/en\/maintenance\/maintenance-20251117\/attachment\/professional-banner-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?fit=1200%2C68&amp;ssl=1\" data-orig-size=\"1200,68\" data-comments-opened=\"0\" data-image-title=\"professional-banner-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?fit=1024%2C58&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?resize=1200%2C68&#038;ssl=1\" alt=\"\" class=\"wp-image-89186\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?resize=600%2C34&amp;ssl=1 600w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?resize=1024%2C58&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/professional-banner-en.png?resize=768%2C44&amp;ssl=1 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"su-note\"  style=\"border-color:#e5dab2;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#FFF4CC;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">\n\n\n\n<h3><i class=\"fal fa-exclamation-circle\"><\/i> PAGE UPDATED<\/h3>\n<div style=\"text-align: center;\"><i class=\"fal fa-truck fa-lg\"><\/i> <a href=\"https:\/\/support.questetra.com\/en\/addons\/moneyforward-journal-create\/\">https:\/\/support.questetra.com\/en\/addons\/moneyforward-journal-create\/<\/a><\/div>\n\n\n<\/div><\/div>\n\n\n\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#003e04;border-radius:0px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#267137;color:#ffffff;border-top-left-radius:0px;border-top-right-radius:0px\">Journal-TSV Create<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:0px;border-bottom-right-radius:0px\">Creates the Journal-Slip TSV. The transfer slip TSV of the sales is generated based on the Invoice data. To generate a file that can be imported into the accounting system, place a converter such as &#8220;TSV to Excel-CSV FILE&#8221; in the downstream process.<br><a href=\"https:\/\/support.questetra.com\/en\/addons\/journal-tsv-create\/\" target=\"_Blank\" rel=\"noopener noreferrer\">https:\/\/support.questetra.com\/en\/addons\/journal-tsv-create\/<\/a><br><span style=\"float: right;\">2018-12-10 (C) Questetra, Inc. (MIT License)<\/span><\/div><\/div>\n\n\n<div class=\"su-spoiler su-spoiler-style-modern-light su-spoiler-icon-plus-square-1\" data-anchor=\"source\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Configs<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<ul class=\"fa-ul\">\n<li> A: Select STRING DATA for Slip Description<span style=\"color:#990000;\"> *<\/span><\/li>\n<li> B: Select NUMERIC DATA for Sales Amount (Single Record)<\/li>\n<li> C: Select DATE DATA for Sales Record (Single Record)<\/li>\n<li> D: Select NUMERIC DATA for Sales Amount (Multiple Records)<\/li>\n<li> E: Select DATE DATA for First Sales Record (Next Month 1st Day)<\/li>\n<li> F: Select NUMERIC DATA for Division Number<\/li>\n<li> G: Select DATE DATA for Scheduled Due Date<span style=\"color:#990000;\"> *<\/span><\/li>\n<li> X: Select STRING DATA for TSV Data (update)<span style=\"color:#990000;\"> *<\/span><\/li>\n<li> H: Set Header Row (e.g. &#8220;ID,Date,DrAcc,DrCat,Debit,CrAcc,*&#8221;)<span style=\"color:#000099;\"> <sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li> I: Set Slip-ID Column Index (e.g. &#8220;0&#8221; if case ID,[1],[2],*)<\/li>\n<li> J: Set Date Column Index (e.g. &#8220;1&#8221; if [0],Date,[2],*)<\/li>\n<li> K: Set Date Format (e.g. &#8220;YYYY-MM-DD&#8221; &#8220;YYYY\/MM\/DD&#8221; &#8220;DD\/MM\/YYYY&#8221;)<\/li>\n<li> L: Set Dr-Amt Column Indexes (e.g. &#8220;6&#8221;)<\/li>\n<li> M: Set Cr-Amt Column Indexes (e.g. &#8220;12&#8221;)<\/li>\n<li> N: Set Number of Decimal Places for Amount Division (&#8220;2&#8221; in USD)<\/li>\n<li> O: Set Slip Description Column Indexes (e.g. &#8220;14&#8221;)<\/li>\n<li> P: Set Record Tpl for Receivable Sales (e.g. &#8220;,,AR,,,,,,Sa,*&#8221;)<span style=\"color:#000099;\"> <sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li> Q: Set Record Tpl for Received Sales (e.g. &#8220;,,Rvd,,,,,,Sa,*&#8221;)<span style=\"color:#000099;\"> <sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li> R: Set Record Tpl for Payment of Receivable (e.g. &#8220;Bank,,na&#8221;)<span style=\"color:#000099;\"> <sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<li> S: Set Record Tpl for Payment of Received (e.g. &#8220;Bank,,na&#8221;)<span style=\"color:#000099;\"> <sup style=\"font-style:italic;\">#{EL}<\/sup><\/span><\/li>\n<\/ul>\n<\/div><\/div>\n\n\n<div class=\"su-spoiler su-spoiler-style-modern-light su-spoiler-icon-plus-square-1 su-spoiler-closed\" data-anchor=\"source\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Script<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<pre><code class=\"JavaScript\">\/\/ Generator from Invoice Data to Journal Slip TSV\n\/\/ (c) 2018, Questetra, Inc. (the MIT License)\n\n\/\/ \u25c7Money Forward (journal_sample.csv)\n\/\/ https:\/\/support.biz.moneyforward.com\/account\/guide\/import-books\/ib01.html\n\/\/ \u53d6\u5f15No,\u53d6\u5f15\u65e5,\u501f\u65b9\u52d8\u5b9a\u79d1\u76ee,\u501f\u65b9\u88dc\u52a9\u79d1\u76ee,\u501f\u65b9\u7a0e\u533a\u5206,\u501f\u65b9\u90e8\u9580,\u501f\u65b9\u91d1\u984d(\u5186),\u501f\u65b9\u7a0e\u984d,\u8cb8\u65b9\u52d8\u5b9a\u79d1\u76ee,\u8cb8\u65b9\u88dc\u52a9\u79d1\u76ee,\u8cb8\u65b9\u7a0e\u533a\u5206,\u8cb8\u65b9\u90e8\u9580,\u8cb8\u65b9\u91d1\u984d(\u5186),\u8cb8\u65b9\u7a0e\u984d,\u6458\u8981,\u4ed5\u8a33\u30e1\u30e2,\u30bf\u30b0,MF\u4ed5\u8a33\u30bf\u30a4\u30d7,\u6c7a\u7b97\u6574\u7406\u4ed5\u8a33,\u00d7\u4f5c\u6210\u65e5\u6642,\u00d7\u6700\u7d42\u66f4\u65b0\u65e5\u6642\n\/\/ \u203b\u300c\u53d6\u5f15No\u300d\u300c\u53d6\u5f15\u65e5\u300d\u300c\u52d8\u5b9a\u79d1\u76ee\u300d\u300c\u91d1\u984d\u300d\u306b\u3064\u3044\u3066\u306f\u5165\u529b\u5fc5\u9808\u9805\u76ee\n\n\/\/ \u25c7Freee (\u4ed5\u8a33\u30a4\u30f3\u30dd\u30fc\u30c8\u305d\u306e\u4ed6(\u501f\u65b9\u91d1\u984d\u30fb\u8cb8\u65b9\u91d1\u984d\u3042\u308a)_for_excel.csv)\n\/\/ https:\/\/support.freee.co.jp\/hc\/ja\/articles\/204847430\n\/\/ \u65e5\u4ed8,\u4f1d\u7968\u756a\u53f7,\u6c7a\u7b97\u6574\u7406\u4ed5\u8a33,\u501f\u65b9\u52d8\u5b9a\u79d1\u76ee,\u501f\u65b9\u79d1\u76ee\u30b3\u30fc\u30c9,\u501f\u65b9\u88dc\u52a9\u79d1\u76ee,\u501f\u65b9\u88dc\u52a9\u79d1\u76ee\u30b3\u30fc\u30c9,\u501f\u65b9\u90e8\u9580,\u501f\u65b9\u91d1\u984d,\u501f\u65b9\u5185\u7a0e\/\u5916\u7a0e,\u501f\u65b9\u7a0e\u533a\u5206,\u501f\u65b9\u7a0e\u984d,\u8cb8\u65b9\u52d8\u5b9a\u79d1\u76ee,\u8cb8\u65b9\u79d1\u76ee\u30b3\u30fc\u30c9,\u8cb8\u65b9\u88dc\u52a9\u79d1\u76ee,\u8cb8\u65b9\u88dc\u52a9\u79d1\u76ee\u30b3\u30fc\u30c9,\u8cb8\u65b9\u90e8\u9580,\u8cb8\u65b9\u91d1\u984d,\u8cb8\u65b9\u5185\u7a0e\/\u5916\u7a0e,\u8cb8\u65b9\u7a0e\u533a\u5206,\u8cb8\u65b9\u7a0e\u984d,\u6458\u8981\n\/\/ \u203b\u300c\u65e5\u4ed8\u300d\u300c\u52d8\u5b9a\u79d1\u76ee\u300d\u300c\u91d1\u984d\u300d\u5fc5\u9808\n\n\nmain();\nfunction main(){ \/\/\/\/\/\/\/\/ main() start \/\/\/\/\/\/\/\/\n\n\/\/\/\/ == Config Retrieving \/ \u5de5\u7a0b\u30b3\u30f3\u30d5\u30a3\u30b0\u306e\u53c2\u7167 ==\nconst dataIdA = configs.get( \"conf_DataIdA\" ) + \"\"; \/\/ required\nconst dataIdB = configs.get( \"conf_DataIdB\" ) + \"\";\nconst dataIdC = configs.get( \"conf_DataIdC\" ) + \"\";\nconst dataIdD = configs.get( \"conf_DataIdD\" ) + \"\";\nconst dataIdE = configs.get( \"conf_DataIdE\" ) + \"\";\nconst dataIdF = configs.get( \"conf_DataIdF\" ) + \"\";\nconst dataIdG = configs.get( \"conf_DataIdG\" ) + \"\"; \/\/ required\nconst dataIdX = configs.get( \"conf_DataIdX\" ) + \"\"; \/\/ required\n\nlet   headerRow = configs.get( \"conf_HeaderRow\" ) + \"\";\n  if( headerRow === \"\"){headerRow = \"\u53d6\u5f15No,\u53d6\u5f15\u65e5,\u501f\u65b9\u52d8\u5b9a\u79d1\u76ee,\u501f\u65b9\u88dc\u52a9\u79d1\u76ee,\u501f\u65b9\u7a0e\u533a\u5206,\u501f\u65b9\u90e8\u9580,\u501f\u65b9\u91d1\u984d(\u5186),\u501f\u65b9\u7a0e\u984d,\u8cb8\u65b9\u52d8\u5b9a\u79d1\u76ee,\u8cb8\u65b9\u88dc\u52a9\u79d1\u76ee,\u8cb8\u65b9\u7a0e\u533a\u5206,\u8cb8\u65b9\u90e8\u9580,\u8cb8\u65b9\u91d1\u984d(\u5186),\u8cb8\u65b9\u7a0e\u984d,\u6458\u8981,\u4ed5\u8a33\u30e1\u30e2,\u30bf\u30b0,MF\u4ed5\u8a33\u30bf\u30a4\u30d7,\u6c7a\u7b97\u6574\u7406\u4ed5\u8a33,\u4f5c\u6210\u65e5\u6642,\u6700\u7d42\u66f4\u65b0\u65e5\u6642\";}\nlet   colSlipId = configs.get( \"conf_ColSlipId\" ) + \"\";\n  if( colSlipId === \"\"){colSlipId = 0;}else{colSlipId = Number(colSlipId);}\nlet   colDate   = configs.get( \"conf_ColDate\" )   + \"\";\n  if( colDate   === \"\"){colDate   = 1;}else{colDate   = Number(colDate);}\nlet   ymdFormat = configs.get( \"conf_YmdFormat\" ) + \"\";\n  if( ymdFormat === \"\"){ymdFormat   = \"YYYY\/MM\/DD\";}\nlet   colDrAmt  = configs.get( \"conf_ColDrAmt\" )  + \"\";\n  if( colDrAmt  === \"\"){colDrAmt = 6 ;}else{colDrAmt  = Number(colDrAmt);}\nlet   colCrAmt  = configs.get( \"conf_ColCrAmt\" )  + \"\";\n  if( colCrAmt  === \"\"){colCrAmt = 12;}else{colCrAmt  = Number(colCrAmt);}\nconst decimalPlaces  = configs.get( \"conf_DecimalPlaces\" ) - 0;\nlet   colSlipDescr = configs.get( \"conf_ColSlipDescr\" )  + \"\";\n  if( colSlipDescr === \"\"){colSlipDescr = 14;}else{colSlipDescr  = Number(colSlipDescr);}\n\n\nlet   tplReceivableSales   = configs.get( \"conf_TplReceivableSales\" ) + \"\";\n  if( tplReceivableSales   === \"\"){tplReceivableSales = \",,\u58f2\u639b\u91d1,,\u5bfe\u8c61\u5916,,,0,\u58f2\u4e0a\u9ad8,,\u8ab2\u7a0e\u58f2\u4e0a 8%,,,0,,,,,,,\";}\n  const arrTplReceivableSales   = tplReceivableSales.split(\",\");\nlet   tplReceivedSales     = configs.get( \"conf_TplReceivedSales\" ) + \"\";\n  if( tplReceivedSales     === \"\"){tplReceivedSales   = \",,\u524d\u53d7\u91d1,,\u5bfe\u8c61\u5916,,,0,\u58f2\u4e0a\u9ad8,,\u8ab2\u7a0e\u58f2\u4e0a 8%,,,0,,,,,,,\";}\n  const arrTplReceivedSales     = tplReceivedSales.split(\",\");\nlet   tplPaymentReceivable = configs.get( \"conf_TplPaymentReceivable\" ) + \"\";\n  if( tplPaymentReceivable === \"\"){tplPaymentReceivable = \",,\u666e\u901a\u9810\u91d1,,\u5bfe\u8c61\u5916,,,0,\u58f2\u639b\u91d1,,\u5bfe\u8c61\u5916,,,0,,,,,,,\";}\n  const arrTplPaymentReceivable = tplPaymentReceivable.split(\",\");\nlet   tplPaymentReceived   = configs.get( \"conf_TplPaymentReceived\" ) + \"\";\n  if( tplPaymentReceived   === \"\"){tplPaymentReceived     = \",,\u666e\u901a\u9810\u91d1,,\u5bfe\u8c61\u5916,,,0,\u524d\u53d7\u91d1,,\u5bfe\u8c61\u5916,,,0,,,,,,,\";}\n  const arrTplPaymentReceived   = tplPaymentReceived.split(\",\");\n\/\/ 'java.lang.String' to javascript primitive 'string' or 'number'\n\n\n\n\/\/\/\/ == Data Retrieving \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u306e\u53c2\u7167 ==\nconst slipDescr            = engine.findDataByNumber( dataIdA ) + \"\"; \/\/ required\nlet   salesAmtSingle       = engine.findDataByNumber( dataIdB ) - 0;  \/\/ null-0 -&gt; 0\nlet   salesAmtSingleDate   = engine.findDataByNumber( dataIdC ) + \"\";\nlet   salesAmtMultiple     = engine.findDataByNumber( dataIdD ) - 0;\nlet   salesAmtMultipleDate = engine.findDataByNumber( dataIdE ) + \"\";\nlet   salesAmtMultipleNum  = engine.findDataByNumber( dataIdF ) - 0;\nconst dueDate              = engine.findDataByNumber( dataIdG ) + \"\"; \/\/ required\n\/\/ 'java.lang.String' to javascript primitive 'string' or 'number'\n\nconst dateDueDate          = new Date( dueDate );\nconst myNumOfCols          = headerRow.split(\",\").length;\n\n\/\/\/ Input Errors\n\/\/ Number of Columns\nif(       myNumOfCols !== tplReceivableSales.split(\",\").length ){\n  engine.log( \"The number of commas in each Config is not the same. (tplReceivableSales)\" );\n  return;\n}else if( myNumOfCols !== tplReceivedSales.split(\",\").length ){\n  engine.log( \"The number of commas in each Config is not the same. (tplReceivedSales)\" );\n  return;\n}else if( myNumOfCols !== tplPaymentReceivable.split(\",\").length ){\n  engine.log( \"The number of commas in each Config is not the same. (tplPaymentReceivable)\" );\n  return;\n}else if( myNumOfCols !== tplPaymentReceived.split(\",\").length ){\n  engine.log( \"The number of commas in each Config is not the same. (tplPaymentReceived)\" );\n  return;\n}\n\/\/ Zero Amount\nif(salesAmtSingle === 0 &amp;&amp; salesAmtMultiple === 0){ \/\/Case 0: Error exit\n  engine.log( \"Total Sales Amount is zero.\" );\n  return;\n}\n\n\n\/\/\/\/ == Calculating \/ \u6f14\u7b97 ==\nconst dateToday = new Date();\nconst todaySerial = (dateToday.getFullYear() % 100) * 10000 + (dateToday.getMonth()+1) * 100 + dateToday.getDate();\n\/\/ e.g. 180131\n\nlet tmpSlipId = (todaySerial % 10000) * 1000000 + (processInstance.getProcessInstanceId() % 10000) * 100;\n\/\/ e.g. (0)131 123400 (3 or 4digits, 4 digits, 2 digits: for Unsigned Int limit of Money Forward)\n\n\/\/\/ If the number of assumed slips per day does not exceed 100 , \/ \u60f3\u5b9a\u4f1d\u7968\u6570\u304c\u65e5\u6b21100\u679a\u4ee5\u4e0b\u306e\u5834\u5408\u306e\u6539\u5909\u4f8b\n\/\/ let tmpSlipId = todaySerial * 10000 + (processInstance.getProcessInstanceSequenceNumber() % 100) * 100;\n\/\/ e.g. 1801319900 (6 digits, 2 digits, 2 digits)\n\n\/\/\/ If the number of assumed slips per day exceeds 10000, \/ \u60f3\u5b9a\u4f1d\u7968\u6570\u304c\u65e5\u6b2110000\u679a\u3092\u8d85\u3048\u308b\u5834\u5408\u306e\u6539\u5909\u4f8b\n\/\/ e.g. 1234567 00 (max 7 digits, 2 digits) \/\/ No Date Info \u65e5\u4ed8\u60c5\u5831\u3092\u524a\u9664\n\/\/ let tmpSlipId = (processInstance.getProcessInstanceId() % 10000000) * 100;\n\nlet myTsv    = \"\";\nmyTsv += headerRow.replace(\/,\/g, \"\\t\") + \"\\n\";\n\n\/\/Case 1: Only Single Sales \/ \u4e00\u62ec\u58f2\u4e0a\u3060\u3051\u306e\u5834\u5408\nif(salesAmtSingle !== 0 &amp;&amp; salesAmtMultiple === 0){\n  let dateSalesAmtSingleDate = new Date( salesAmtSingleDate );\n\n  if( dateSalesAmtSingleDate.getTime() &lt;= dateDueDate.getTime() ){\n    tmpSlipId++;\n    let tmpArrSales        = arrTplReceivableSales.concat();\n    tmpArrSales[colSlipId] = tmpSlipId + \"\";\n    tmpArrSales[colDate]   = funcDateStr( dateSalesAmtSingleDate, ymdFormat );\n    tmpArrSales[colDrAmt]  = salesAmtSingle;\n    tmpArrSales[colCrAmt]  = salesAmtSingle;\n    tmpArrSales[colSlipDescr] = slipDescr;\n    myTsv += tmpArrSales.join(\"\\t\");\n    myTsv += \"\\n\";\n\n    tmpSlipId++;\n    let tmpArrPay          = arrTplPaymentReceivable.concat();\n    tmpArrPay[colSlipId]   = tmpSlipId + \"\";\n    tmpArrPay[colDate]     = funcDateStr( dateDueDate, ymdFormat );\n    tmpArrPay[colDrAmt]    = salesAmtSingle;\n    tmpArrPay[colCrAmt]    = salesAmtSingle;\n    tmpArrPay[colSlipDescr] = slipDescr;\n    myTsv += tmpArrPay.join(\"\\t\");\n  }else{\n    tmpSlipId++;\n    let tmpArrSales        = arrTplReceivedSales.concat();\n    tmpArrSales[colSlipId] = tmpSlipId + \"\";\n    tmpArrSales[colDate]   = funcDateStr( dateSalesAmtSingleDate, ymdFormat );\n    tmpArrSales[colDrAmt]  = salesAmtSingle;\n    tmpArrSales[colCrAmt]  = salesAmtSingle;\n    tmpArrSales[colSlipDescr] = slipDescr;\n    myTsv += tmpArrSales.join(\"\\t\");\n    myTsv += \"\\n\";\n\n    tmpSlipId++;\n    let tmpArrPay          = arrTplPaymentReceived.concat();\n    tmpArrPay[colSlipId]   = tmpSlipId + \"\";\n    tmpArrPay[colDate]     = funcDateStr( dateDueDate, ymdFormat );\n    tmpArrPay[colDrAmt]    = salesAmtSingle;\n    tmpArrPay[colCrAmt]    = salesAmtSingle;\n    tmpArrPay[colSlipDescr] = slipDescr;\n    myTsv += tmpArrPay.join(\"\\t\");\n  }\n\n}\n\n\/\/Case 2:  Including Multiple Sales \/ \u5206\u5272\u58f2\u4e0a\u3092\u542b\u3080\u5834\u5408\nif(salesAmtMultiple !== 0){\n  if(salesAmtMultipleNum === 0){\n    engine.log( \"'0' can not be used for division number.\" );\n    return;\n  }\n\n  \/\/ Subtotal of ReceivableSales and ReceivedSales\n  let myReceivableSales = 0;\n  let myReceivedSales = 0;\n\n\n  \/\/\/\/ Single \n  if(salesAmtSingle !== 0){\n    let dateSalesAmtSingleDate = new Date( salesAmtSingleDate );\n\n    if( dateSalesAmtSingleDate.getTime() &lt;= dateDueDate.getTime() ){\n      tmpSlipId++;\n      let tmpArrSales        = arrTplReceivableSales.concat();\n      tmpArrSales[colSlipId] = tmpSlipId + \"\";\n      tmpArrSales[colDate]   = funcDateStr( dateSalesAmtSingleDate, ymdFormat );\n      tmpArrSales[colDrAmt]  = salesAmtSingle;\n      tmpArrSales[colCrAmt]  = salesAmtSingle;\n      tmpArrSales[colSlipDescr] = slipDescr;\n      myTsv += tmpArrSales.join(\"\\t\");\n      myTsv += \"\\n\";\n      myReceivableSales += salesAmtSingle;\n    }else{\n      tmpSlipId++;\n      let tmpArrSales        = arrTplReceivedSales.concat();\n      tmpArrSales[colSlipId] = tmpSlipId + \"\";\n      tmpArrSales[colDate]   = funcDateStr( dateSalesAmtSingleDate, ymdFormat );\n      tmpArrSales[colDrAmt]  = salesAmtSingle;\n      tmpArrSales[colCrAmt]  = salesAmtSingle;\n      tmpArrSales[colSlipDescr] = slipDescr;\n      myTsv += tmpArrSales.join(\"\\t\");\n      myTsv += \"\\n\";\n      myReceivedSales += salesAmtSingle;\n    }\n  }\n\n\n  \/\/\/\/ Multiple\n\n  \/\/ Sales for each month\n  \/\/ The remainder is added to the first month. \/ \u5546\u306e\u5270\u4f59\u306f\u521d\u6708\u306b\u52a0\u7b97\n  \/\/ \"101\/10\" is divided into \"10.10\" * 10, in the case of two decimal places.\n  \/\/ \"101\/10\" is divided into \"11\" * 1 and \"10\" * 9, in the case of 0 decimal place.\n  const monthlySalesFollow = Math.floor( salesAmtMultiple \/ salesAmtMultipleNum * Math.pow(10, decimalPlaces) ) \/ Math.pow(10, decimalPlaces);\n  const monthlySalesFirst  = salesAmtMultiple - monthlySalesFollow * ( salesAmtMultipleNum - 1 );\n\n  let arrSalesAmtMultipleDate  = new Array( salesAmtMultipleNum );\n\n  \/\/ First Month\n  arrSalesAmtMultipleDate[0]   = new Date( salesAmtMultipleDate );\n  if( arrSalesAmtMultipleDate[0].getTime() &lt;= dateDueDate.getTime() ){\n    tmpSlipId++;\n    let tmpArrSales        = arrTplReceivableSales.concat();\n    tmpArrSales[colSlipId] = tmpSlipId + \"\";\n    tmpArrSales[colDate]   = funcDateStr( arrSalesAmtMultipleDate[0], ymdFormat );\n    tmpArrSales[colDrAmt]  = monthlySalesFirst;\n    tmpArrSales[colCrAmt]  = monthlySalesFirst;\n    tmpArrSales[colSlipDescr] = funcMonthStr( arrSalesAmtMultipleDate[0] ) + \" @ \" + slipDescr;\n    myTsv += tmpArrSales.join(\"\\t\");\n    myTsv += \"\\n\";\n    myReceivableSales += monthlySalesFirst;\n  }else{\n    tmpSlipId++;\n    let tmpArrSales        = arrTplReceivedSales.concat();\n    tmpArrSales[colSlipId] = tmpSlipId + \"\";\n    tmpArrSales[colDate]   = funcDateStr( arrSalesAmtMultipleDate[0], ymdFormat );\n    tmpArrSales[colDrAmt]  = monthlySalesFirst;\n    tmpArrSales[colCrAmt]  = monthlySalesFirst;\n    tmpArrSales[colSlipDescr] = funcMonthStr( arrSalesAmtMultipleDate[0] ) + \" @ \" + slipDescr;\n    myTsv += tmpArrSales.join(\"\\t\");\n    myTsv += \"\\n\";\n    myReceivedSales += monthlySalesFirst;\n  }\n\n  \/\/ Following Months\n  \/\/ Record on 1st of each month \/ \u6b21\u6708\u4ee5\u964d\u306f1\u65e5\u306b\u58f2\u4e0a\u8a08\u4e0a\n  for( let i=1; i &lt; salesAmtMultipleNum; i++){\n    arrSalesAmtMultipleDate[i] = new Date( \n                                     arrSalesAmtMultipleDate[0].getFullYear(),\n                                     arrSalesAmtMultipleDate[0].getMonth() + i,\n                                     1); \/\/ 1st of each month\n    if( arrSalesAmtMultipleDate[i].getTime() &lt;= dateDueDate.getTime() ){\n      tmpSlipId++;\n      let tmpArrSales        = arrTplReceivableSales.concat();\n      tmpArrSales[colSlipId] = tmpSlipId + \"\";\n      tmpArrSales[colDate]   = funcDateStr( arrSalesAmtMultipleDate[i], ymdFormat );\n      tmpArrSales[colDrAmt]  = monthlySalesFollow;\n      tmpArrSales[colCrAmt]  = monthlySalesFollow;\n      tmpArrSales[colSlipDescr] = funcMonthStr( arrSalesAmtMultipleDate[i] ) + \" @ \" + slipDescr;\n      myTsv += tmpArrSales.join(\"\\t\");\n      myTsv += \"\\n\";\n      myReceivableSales += monthlySalesFollow;\n    }else{\n      tmpSlipId++;\n      let tmpArrSales        = arrTplReceivedSales.concat();\n      tmpArrSales[colSlipId] = tmpSlipId + \"\";\n      tmpArrSales[colDate]   = funcDateStr( arrSalesAmtMultipleDate[i], ymdFormat );\n      tmpArrSales[colDrAmt]  = monthlySalesFollow;\n      tmpArrSales[colCrAmt]  = monthlySalesFollow;\n      tmpArrSales[colSlipDescr] = funcMonthStr( arrSalesAmtMultipleDate[i] ) + \" @ \" + slipDescr;\n      myTsv += tmpArrSales.join(\"\\t\");\n      myTsv += \"\\n\";\n      myReceivedSales += monthlySalesFollow;\n    }\n  }\n  if(myReceivableSales !== 0 &amp;&amp; myReceivedSales !== 0){\n    tmpSlipId++;\n    let tmpArrPay1         = arrTplPaymentReceivable.concat();\n    tmpArrPay1[colSlipId]  = tmpSlipId + \"\";\n    tmpArrPay1[colDate]    = funcDateStr( dateDueDate, ymdFormat );\n    tmpArrPay1[colDrAmt]   = myReceivableSales + myReceivedSales;\n    tmpArrPay1[colCrAmt]   = myReceivableSales;\n    tmpArrPay1[colSlipDescr] = slipDescr;\n    myTsv += tmpArrPay1.join(\"\\t\");\n    myTsv += \"\\n\";\n    let tmpArrPay2         = arrTplPaymentReceived.concat();\n    tmpArrPay2[colSlipId]  = tmpSlipId + \"\";\n    tmpArrPay2[colDate]    = funcDateStr( dateDueDate, ymdFormat );\n    tmpArrPay2[colDrAmt]   = 0;\n    tmpArrPay2[colCrAmt]   = myReceivedSales;\n    tmpArrPay2[colSlipDescr] = slipDescr;\n    myTsv += tmpArrPay2.join(\"\\t\");\n  }else if(myReceivableSales === 0){\n    tmpSlipId++;\n    let tmpArrPay          = arrTplPaymentReceived.concat();\n    tmpArrPay[colSlipId]   = tmpSlipId + \"\";\n    tmpArrPay[colDate]     = funcDateStr( dateDueDate, ymdFormat );\n    tmpArrPay[colDrAmt]    = myReceivableSales + myReceivedSales;\n    tmpArrPay[colCrAmt]    = myReceivedSales;\n    tmpArrPay[colSlipDescr] = slipDescr;\n    myTsv += tmpArrPay.join(\"\\t\");\n  }else if(myReceivedSales === 0){\n    tmpSlipId++;\n    let tmpArrPay          = arrTplPaymentReceivable.concat();\n    tmpArrPay[colSlipId]   = tmpSlipId + \"\";\n    tmpArrPay[colDate]     = funcDateStr( dateDueDate, ymdFormat );\n    tmpArrPay[colDrAmt]    = myReceivableSales + myReceivedSales;\n    tmpArrPay[colCrAmt]    = myReceivableSales;\n    tmpArrPay[colSlipDescr] = slipDescr;\n    myTsv += tmpArrPay.join(\"\\t\");\n  }\n}\n\n\/\/\/\/ == Data Updating \/ \u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30c7\u30fc\u30bf\u3078\u306e\u4ee3\u5165 ==\nengine.setDataByNumber( dataIdX, myTsv );\n\n} \/\/\/\/\/\/\/\/ main() end \/\/\/\/\/\/\/\/\n\n\nfunction funcDateStr( dateObj, formatStr ){\n  formatStr = formatStr.replace(\/YYYY\/g, dateObj.getFullYear());\n  formatStr = formatStr.replace(\/MM\/g,   ('00' + (dateObj.getMonth() + 1)).slice(-2));\n  formatStr = formatStr.replace(\/DD\/g,   ('00' +  dateObj.getDate()).slice(-2));\n  return formatStr;\n}\n\nfunction funcMonthStr( dateObj ){\n  let myStr = dateObj.getFullYear() + \"-\" + (\"00\" + (dateObj.getMonth()+1)).slice(-2);\n  return myStr;\n}<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright\"><img decoding=\"async\" src=\"data:image;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEFUlEQVRYR8VXQVIbORT9X2bVXgRO\nEDjBhBPE2YFEVcgJEk4w5ASBE4w5QewT4FQhwS7mBIETBE4wnkU3G7p\/6mkkl1rT7ZhJqugqqgC1\npaf333v\/m+mZH37m8+mXAezt7W0z80tc5OHh4XY+ny+ecqn\/DUBr\/YmIPjDzdnqgiNwR0biqquk6\nYJ4MQGv9iojO84PzW4vITdM0766urgCo93kSANA9GAy+EdEmdhSRM6XU7OLiYo6\/sa6U+kBEx8z8\ngojm1to3vw2A1vobM78SkX+IaOScuxmNRh5MSvfBwcFIRL4GkLt4rw\/E2gxorVHvz+mmOLwoCoDa\nrOt6N6XbGCN4l5nfRIa6QDwFwPdQ96m1FjRTBmrmnHuH\/6cM1HW9s0oHawGA8JgZtad0w1iSeDMI\nj5lhw1Fg6otz7vCXNaC1PmFm2O7WWgsXEOgfDod\/h4Oumfl1ZsfrqqoOf2bFlQzEkGHmcRDfmXPu\nOKe\/LMutoiiQB\/62YOLy8nK2TiD1AtBaf2ZmX+v4pIIyxkyI6H2y\/NFaO17n0NaeXR8Ifv+er1lr\nl4Dz+od3fR4Q0cRaO8UvxhiARNlg33nTNNNUlJ0MGGNA818icu+ca0VtDioVaKYBeH+zKzFF5Ng5\nd+Zt2sWA1nrGzG+RL03TnIS63kfkaQNCmfCDVCSiRThwWRqEFjPPQo\/Au75xEZEvWR8AiO7P7EbL\nRNNa5+ut+kcG4Zq6rr0wlVJIzknUDgA553Y6AYSEAwveWriFc85HLp6O+o+bprlOlW+MucHhYC28\nv22t3drf3z9USp1jH2hqpQ0TtK1AiTGbl09ETp1zvmS4BDIgyRBc5A6xDW2IyLVzbrQSgNY6xu+S\n4vQGHfpZlGW5E8Mn757x\/bSZ9QJIrSgiq+rfwiEiR6h1sKDPCrgphBT0AHGDiRmsmvoaovMxy8zw\n81aXFRNWugzkZ4SYlomd76qq2i2K4isSNWHilIPgWguZ+pcbpl2u63RQW1XVdlYCH2giAlEfBvrR\ntCDwBaeWAvogkqWP0+5njMGQ4TtdDwAvwijA4JiWZSE+ERlHJwDAf4SGPo\/BEqNVUk+fjhk7pygb\nQiumZhjLzp1zu9ENw+FwLCIAjnREZ8Ve0MYXjpbCANnXwdLBA+FCRH9EH4cDsbEf0RKWOptTNsQc\ngQEfu2ihSqmPcXwK2ngd0Ebap3VdnwwGg9io5nVdHyFsgmswsi1LJCKTpmlO47pS6j0zx2j\/NwfC\nmD0PU2xfeVvqzhjp+sySpZ4Nb8uyHEGs3oYBBMTSmmrCh6fMPMkHSwRSGFRicwHIe4zleBcJmIzn\nfqvgAHxpGUentIIING5sbPj2+\/j4ePezLxURvFJqs2maRdf4jcthHe92TcdrDaW9dfkNC88O4AcI\nzqgZxW8imAAAAABJRU5ErkJggg==\" alt=\"\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<hr class=\"wp-block-separator is-style-dots\"\/>\n\n\n<div class=\"su-divider su-divider-style-dashed\" style=\"margin:30px 0;border-width:8px;border-color:#009900\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-cloud-download-alt\"><\/i> Download<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/drive.google.com\/open?id=1nx3ejrWElosZve-mObXYgiooP-CqfMI9\">Journal-Tsv-Create.xml<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-images\"><\/i> Capture<\/h3>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" data-attachment-id=\"70828\" data-permalink=\"https:\/\/support.questetra.com\/en\/addons\/journaltsv-generator\/attachment\/invoice-to-journal-slip-csv\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/invoice-to-journal-slip-csv-1.png?fit=1200%2C630&amp;ssl=1\" data-orig-size=\"1200,630\" data-comments-opened=\"0\" data-image-title=\"invoice-to-journal-slip-csv\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/invoice-to-journal-slip-csv-1.png?fit=1024%2C538&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/invoice-to-journal-slip-csv-1.png?resize=1024%2C538&#038;ssl=1\" alt=\"\" class=\"wp-image-70828\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/invoice-to-journal-slip-csv-1.png?resize=1024%2C538&amp;ssl=1 1024w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/invoice-to-journal-slip-csv-1.png?resize=600%2C315&amp;ssl=1 600w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/invoice-to-journal-slip-csv-1.png?w=1200&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/JournalTsv-Generator-cap-en.png?ssl=1\" target=\"_blank\" rel=\"noreferrer noopener\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"141\" height=\"315\" data-attachment-id=\"70809\" data-permalink=\"https:\/\/support.questetra.com\/en\/addons\/journaltsv-generator\/attachment\/journaltsv-generator-cap-en\/\" data-orig-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/JournalTsv-Generator-cap-en.png?fit=545%2C1215&amp;ssl=1\" data-orig-size=\"545,1215\" data-comments-opened=\"0\" data-image-title=\"JournalTsv-Generator-cap-en\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/JournalTsv-Generator-cap-en.png?fit=283%2C630&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/JournalTsv-Generator-cap-en-141x315.png?resize=141%2C315&#038;ssl=1\" alt=\"\" class=\"wp-image-70809\" srcset=\"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/JournalTsv-Generator-cap-en.png?resize=141%2C315&amp;ssl=1 141w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/JournalTsv-Generator-cap-en.png?resize=283%2C630&amp;ssl=1 283w, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/09\/JournalTsv-Generator-cap-en.png?w=545&amp;ssl=1 545w\" sizes=\"auto, (max-width: 141px) 100vw, 141px\" \/><\/a><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-lightbulb-exclamation\"><\/i> Notes<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>Each row (each record) of the TSV data corresponds to one sheet of journal slip.<\/li><li>You can not import TSV data into the accounting system (accounting software\/accounting cloud) as it is. To generate \u201cFile to be imported\u201d, place an automatic conversion Step (converter) such as \u201cTSV to Excel-CSV FILE\u201d at the downstream.<\/li><li>Regarding journal slip, if the sales recording date is the same as or before the \u201csettlement date\u201d, the \u201caccounts receivable sales row template\u201d will be applied. and if the sales recording date is after the \u201csettlement date\u201d, \u201cadvance payment sales Row template \u201cwill be applied<\/li><li>The date on journal slip for payment collection to be generated is the\u201dsettlement due date\u201d (composite entry). (The actual payment date information needs to be corrected on the accounting system side)<\/li><li>The \u201cheader row\u201d of the import file differs depending on the accounting system. Please set it by comma delimiter in the config item \u201cH\u201d. If not specified anything, \u201cHeading row\u201d for \u201cMF cloud accounting\u201d (21 items) will be automatically set.<ul><li>MF Cloud Accounting: Transaction No., Trading date, Debit account item, Debit supplementary item, Debit tax category, Debit department, Debit amount (yen), Debit amount, Credit account item, Credit supplementary item, Credit Tax category, Credit department, Credit amount (yen), Credit tax amount, Description, Notes, Tag, MF journal type, Adjusting entry, Creation date and time, Last update date and time<\/li><li>Freee: Date, Slip number, Adjusting entry, Debit account item, Debit item code, Debit supplementary item, Debit supplementary item code, Debit department, Debit amount, Debit tax in\/excluded, Debt tax category, Debit tax amount, Credit account item, Credit item code, Credit supplementary item, Credit supplementary item code, Credit department, Credit amount, Credit tax in\/excluded, Credit tax category, Credit tax amount, Description<\/li><\/ul><\/li><li>The data insertion position and format in each column varies depending on the accounting system. Please set in the Config item of between \u201cI\u201d and \u201cO\u201d. When not specified, the specification of \u201cMF cloud accounting\u201d is automatically applied.<\/li><li>Set the template of each row in the Config item of between \u201cP\u201d and \u201cS\u201d for the four patterns which are sales as account-receivable, sales as Received, collection of Receivable, collection of Received. When not specified, the specification for \u201cMF cloud accounting\u201d is automatically applied.<\/li><li>In case if you want to reference the workflow data to be set on the template, set it by EL expression. For example, if you set \u201c# {data [\u201914\u2019]}\u201d at the position of the supplementary subject of the account item \u201cAccounts receivable\u201d, the Issue data is automatically referenced and the name of the supplementary subject such as \u201cAAA Co., Ltd.\u201d is recorded. Alternatively, if you set \u201c# {data [\u201913\u2019]}\u201d to the position of the supplementary item of the account item \u201cSales\u201d, the item data is automatically referenced and the supplementary subject name such as \u201cSaaS\u201d is recorded.<ul><li>,, Accounts receivable, # {data [\u201914\u2019]}, not eligible ,,, 0, sales, # {data [\u201913\u2019]}, taxable sales 8% ,,, 0 ,, ,,,,,<\/li><\/ul><\/li><li>If you are a developer with JavaScript knowledge, you can also customize the format of \u201cTransaction No.\u201d (transfer slip ID). Edit the assignment expression of the variable \u201ctmpSlipId\u201d in the definition file.<ul><li>In the case of \u201cMF Cloud Accounting\u201d, for example, an error occurs if \u201cMaximum value of Unsigned Int\u201d (4,294,967,295) is exceeded<\/li><\/ul><\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><i class=\"fal fa-balance-scale\"><\/i> See also<\/h3>\n\n\n\n<figure class=\"wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-questetra-support\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"qcIv5Uk5N0\"><a href=\"https:\/\/support.questetra.com\/en\/addons\/converter-tsvtoexcelcsv\/\">Converter (TSV to Excel-CSV File)<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cConverter (TSV to Excel-CSV File)\u201d \u2014 Questetra Support\" src=\"https:\/\/support.questetra.com\/en\/addons\/converter-tsvtoexcelcsv\/embed\/#?secret=v0IWwLLysJ#?secret=qcIv5Uk5N0\" data-secret=\"qcIv5Uk5N0\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Creates the Journal-Slip TSV. The transfer slip TSV of the sales is generated based on the Invoice data. To generate a file that can be imported into the accounting system, place a converter such as &#8220;TSV to Excel-CSV FILE&#8221; in the downstream process.<\/p>\n","protected":false},"author":2,"featured_media":98098,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_uag_custom_page_level_css":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[168],"tags":[],"faq_section":[],"class_list":["post-73398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-addons"],"jetpack_publicize_connections":[],"uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?fit=1200%2C675&ssl=1",1200,675,false],"thumbnail":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=440%2C440&ssl=1",440,440,true],"medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?fit=560%2C315&ssl=1",560,315,true],"medium_large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?fit=768%2C432&ssl=1",768,432,true],"large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?fit=1024%2C576&ssl=1",1024,576,true],"1536x1536":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?fit=1200%2C675&ssl=1",1200,675,true],"2048x2048":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?fit=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-portrait-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=900%2C675&ssl=1",900,675,true],"newspack-article-block-square-large":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=1200%2C675&ssl=1",1200,675,true],"newspack-article-block-landscape-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=800%2C600&ssl=1",800,600,true],"newspack-article-block-portrait-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=600%2C675&ssl=1",600,675,true],"newspack-article-block-square-medium":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=800%2C675&ssl=1",800,675,true],"newspack-article-block-landscape-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=600%2C450&ssl=1",600,450,true],"newspack-article-block-portrait-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=450%2C600&ssl=1",450,600,true],"newspack-article-block-square-intermediate":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=600%2C600&ssl=1",600,600,true],"newspack-article-block-landscape-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=400%2C300&ssl=1",400,300,true],"newspack-article-block-portrait-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=300%2C400&ssl=1",300,400,true],"newspack-article-block-square-small":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=400%2C400&ssl=1",400,400,true],"newspack-article-block-landscape-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=200%2C150&ssl=1",200,150,true],"newspack-article-block-portrait-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=150%2C200&ssl=1",150,200,true],"newspack-article-block-square-tiny":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?resize=200%2C200&ssl=1",200,200,true],"newspack-article-block-uncropped":["https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?fit=1200%2C675&ssl=1",1200,675,true]},"uagb_author_info":{"display_name":"IMAMURA, Genichi","author_link":"https:\/\/support.questetra.com\/en\/author\/imamuragenichi\/"},"uagb_comment_info":1,"uagb_excerpt":"Creates the Journal-Slip TSV. The transfer slip TSV of the sales is generated based on the Invoice data. To generate a file that can be imported into the accounting system, place a converter such as \"TSV to Excel-CSV FILE\" in the downstream process.","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9DiIh-j5Q","jetpack-related-posts":[{"id":70808,"url":"https:\/\/support.questetra.com\/en\/addons\/journaltsv-generator\/","url_meta":{"origin":73398,"position":0},"title":"Journal Slip TSV from Invoice Data","author":"Hirotaka NISHI","date":"2018-11-14","format":false,"excerpt":"Generate transfer slip TSV (tab-separated-values) with sales amount, sales date, due date. It supports cases where add a sales collectively or divided into several months or mixture of those. In order to generate a file for the accounting system, you need to place a converter such as \"TSV to Excel-CSV\u2026","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/11\/journal-tsv-generator-header.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":75362,"url":"https:\/\/support.questetra.com\/en\/templates\/paypal-billing-process-20211227\/","url_meta":{"origin":73398,"position":1},"title":"PayPal Billing Process","author":"Hirotaka NISHI","date":"2021-12-28","format":false,"excerpt":"An independent subprocess to be invoked by various business flows. Through \"PayPal Invoicing API\", 1) let PayPal generate \"PayPal Invoice\", 2) let PayPal send \"PayPal Invoice\", 3) confirm payment status of \"PayPal Invoice\" to PayPal. Also generates \"Transfer slip CSV\" for accounting system automatically.","rel":"","context":"In &quot;Workflow Apps&quot;","block_context":{"text":"Workflow Apps","link":"https:\/\/support.questetra.com\/en\/category\/templates\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-paypal-billing-process-20210428-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-paypal-billing-process-20210428-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-paypal-billing-process-20210428-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-paypal-billing-process-20210428-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/03\/eye-catch-paypal-billing-process-20210428-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":87048,"url":"https:\/\/support.questetra.com\/en\/addons\/moneyforward-journal-create\/","url_meta":{"origin":73398,"position":2},"title":"MoneyForward Journal, Create","author":"IMAMURA, Genichi","date":"2020-04-09","format":false,"excerpt":"Creates the Journal-Slips (TSV or Excel) for MoneyForward Cloud Accounting. It supports not only invoices that are booked as single sales record, but also invoices that are booked as monthly sales records.","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"MoneyForward Journal, Create","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/MoneyForward-Journal-Create-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/MoneyForward-Journal-Create-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/MoneyForward-Journal-Create-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/MoneyForward-Journal-Create-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/04\/MoneyForward-Journal-Create-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":89039,"url":"https:\/\/support.questetra.com\/en\/addons\/master-table-create-by-tsv-string\/","url_meta":{"origin":73398,"position":3},"title":"Master Table, Create by TSV String","author":"IMAMURA, Genichi","date":"2020-06-15","format":false,"excerpt":"Creates a new master file (OptionsXML) by referring to TSV String. The specified column data are set as Master IDs, and the others are set as Master Labels. For automation, place [Service Task (Choices Update)] downstream.","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"Master Table, Create by TSV String","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/Master-Table-Create-by-TSV-String-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/Master-Table-Create-by-TSV-String-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/Master-Table-Create-by-TSV-String-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/Master-Table-Create-by-TSV-String-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/06\/Master-Table-Create-by-TSV-String-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":82429,"url":"https:\/\/support.questetra.com\/en\/addons\/tsv-string-create-cross-tab-for-numerical-sum\/","url_meta":{"origin":73398,"position":4},"title":"TSV String, Create Cross Tab for Numerical Sum","author":"IMAMURA, Genichi","date":"2019-12-05","format":false,"excerpt":"Creates a crosstab (pivot table) for numeric fields in TSV data. For example, the \"Amount\" in the order history (TSV) is aggregated on two axes, \"Responsible\" and \"Product\". The fields for X-axis and Y-axis aggregation are specified by TSV field ID.","rel":"","context":"In &quot;Add-ons&quot;","block_context":{"text":"Add-ons","link":"https:\/\/support.questetra.com\/en\/category\/addons\/"},"img":{"alt_text":"TSV String, Create Cross Tab for Numerical Sum","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2019\/12\/TSV-String-Create-Cross-Tab-for-Numerical-Sum-en.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":88461,"url":"https:\/\/support.questetra.com\/en\/developer-blog\/modeling-tips-excel\/","url_meta":{"origin":73398,"position":5},"title":"Tips to Make Modeling a Little Easier (Data Editing Permissions)","author":"Tsuyoshi Kusaka","date":"2020-05-25","format":false,"excerpt":"I will introduce some tips to make data editing permissions of many Tasks and Data Items a little easier.","rel":"","context":"In &quot;Questetra Developers Blog&quot;","block_context":{"text":"Questetra Developers Blog","link":"https:\/\/support.questetra.com\/en\/category\/developer-blog\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/05\/Tips-eyecatch.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/05\/Tips-eyecatch.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/05\/Tips-eyecatch.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/05\/Tips-eyecatch.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2020\/05\/Tips-eyecatch.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/support.questetra.com\/wp-content\/uploads\/2018\/12\/journal-tsv-create-header.png?fit=1200%2C675&ssl=1","_links":{"self":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/73398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/comments?post=73398"}],"version-history":[{"count":13,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/73398\/revisions"}],"predecessor-version":[{"id":98100,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/posts\/73398\/revisions\/98100"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media\/98098"}],"wp:attachment":[{"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/media?parent=73398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/categories?post=73398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/tags?post=73398"},{"taxonomy":"faq_section","embeddable":true,"href":"https:\/\/support.questetra.com\/en\/wp-json\/wp\/v2\/faq_section?post=73398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}