freee で取引の登録を一括で行うスクリプト

投稿: 2023年1月17日

小ネタ。

freee の自動仕分けで、一括で登録したい時が毎月あり、その機能は上位プランでしか使えないため、ブラウザのデベロッパーツールで行うことにした。

(function register([x, ...xs]) {
  if (!x) {
    return;
  }
  if (x.innerText === '登録') {
    console.log(x);
    x.click();
  }
  setTimeout(() => register(xs), 1000);
})(
  Array.from(
    document.querySelectorAll(
      '.vb-button.vb-button--appearancePrimary.vb-button--small.vb-mr25'
    )
  )
);

setTimeout と再帰呼出しを使うことで、連打しすぎてサーバーに負荷がかからないようにしている。また、 freee では「登録」ボタンを押してから暫く経過すると次の明細が出てくることもあるので、その意味でもディレイは必要になる。

これで、すべての「登録」ボタンを押してくれるので、入力がかなり楽になった。

image