![見出し画像](https://assets.st-note.com/production/uploads/images/90180034/rectangle_large_type_2_4987259b1e7b2d45ff13d79af9bc78b1.png?width=800)
スプレッドシートを会計ソフトに取り込めるようにCSVで出力する【GAS】【Googleスプレッドシート】【freee】【弥生会計】【経理】
freee会計に特化しているわけではありません。
会計ソフト、人事労務ソフトや、いろいろな専用ソフトについて、APIで更新できたらいいですが一度CSVに落としてからシステムをつなぐためにスプレッドシートを経由したり、スプレッドシートで一部更新を保管したりするケースの業務効率化です。
スプレッドシートの準備
画像のような伝票データの作成が定型としましょう。
freee会計にCSVで伝票データを取り込む場合、項目設定は柔軟に対応できるようですので、そのあたりの設定は個別化してください。
1行16列のレコードで設定しています。
![](https://assets.st-note.com/img/1667212570136-vGXp2jif4f.png?width=800)
注意するのは、日付データ
日付データ、今表示形式の設定で、「2022/4/28 」と表示されているのですが、実際は「Thu Apr 28 2022 00:00:00 GMT+0900 (Japan Standard Time)」という情報を持っています。
この情報をfreee会計に取り込むと、このような日付になり(2022/4/28のような形式が必要)エラーになってしまいます。
![](https://assets.st-note.com/img/1667213229604-8SdsFNugF0.png)
GAS内で変換する方法もありますが、スプレッドシートからGASをつかってCSV化する一番単純な方法だと思うものを、ご案内します。
フォームの改定
1列足して、17列のフォーマットとしました。
A列で日付入力をおこない、B列は計算式が入っています。
![](https://assets.st-note.com/img/1667213399978-TmWG8GSJUu.png?width=800)
B列の計算式 =year(A2)&"/"&month(A2)&"/"&day(A2)
B列に入っている計算式です。見た目はどちらも同じ 2022/4/28 となっていますが、A列は日付データ、B列はあくまで文字列という違いがあり、B列の形式であれば、freee会計が日付データとしての認識をしてくれます。
手順:出力先フォルダの準備
グーグルドライブ内に出力したいフォルダを作成します。
フォルダIDが必要ですので、その番号を控えてください
こちらのケースでは、「1KLBrAd9DDgxYrBXgxxdXcS5Zu1Vcvi3-」がフォルダIDです
![](https://assets.st-note.com/img/1667213800720-O99dBZ4H8P.png?width=800)
スクリプト
function makecsv3(){
var SS = SpreadsheetApp.getActiveSpreadsheet();
var csv_sheet = SS.getSheetByName("data");
var fileName = "freee.txt";
var data= csv_sheet.getRange(1,2,6,16).getValues();
var csv = data.join('\n');
var folderId = '1KLBrAd9DDgxYrBXgxxdXcS5Zu1Vcvi3-';
var contentType = 'text/csv';
var charset = 'UTF-8';
var folder = DriveApp.getFolderById(folderId);
var blob = Utilities.newBlob('', contentType, fileName).setDataFromString(csv, charset);
folder.createFile(blob);
}
これを実行すると、
![](https://assets.st-note.com/img/1667214009284-nKoDUU3NZy.png?width=800)
会計ソフトに取り込みえる形の「freee.txt」というファイルが出来上がりますので、これを取り込みたいソフトに取り込んでください。
まとめ
まずはするっとCSV化の方法でした。
今回のデータです。
https://drive.google.com/drive/u/0/folders/1KLBrAd9DDgxYrBXgxxdXcS5Zu1Vcvi3-
どんな記事ならサポートしてみようと思えるか、ご要望ありましたら教えてくださいね。