いよいよインボイス制度始まりますね。そこで。。。。

いよいよインボイス制度始まりますね。そこで。。。。

おはようございます
10/1からインボイス制度がスタートします。以前お伝えしたように
インボイス登録番号は国税庁の
ここで検索したり
こちらからAPIで取得したりできますがAPIの利用申請には間に合わないかもしれないし関数の開発もちょっと大変という人は
こちらからCSVファイルのダウンロードができます。(XMLやJSONも)
流石に日本中ダウンロードは大変なので弊社の主な営業地域の神奈川県だけ12万件(大したことない)ダウンロードして
とりあえずCRMに新しいタブをつくって

取り込んでみました
これは地方の方のほうが有利かなと思いますが、調べてないけど東京でも30万件くらいでしょうか?
じゃあこれをどう活用するの????
というところですが
弊社では取引先タブにインボイス登録番号という項目を作って

ちょっと簡単なボタンを作ってみました

こちらで先程のインポートしたタブから会社名で照合してインボイス登録番号を取得して転記してます
同一会社名どうするとか、いろいろ問題はありますが、とりあえず既存顧客または仕入先(こっちは重要)のインボイス番号は得られます。まだ未登録の取引先仕入先がわかるのはちょっt10月1日に向けて安心材料でもあります。全件ボタン押すのは大変ですが弊社では数百件程度ならビール片手にぽちぽちして、あまだあの会社さん未登録なんだとか記憶するのは悪くなかったです
あとインポートの注意点はCSVファイルなら30,000件までインポート可能です。マニュアルには5000件以上はCSVでと書いてあるのですが上限もあります。

一応軽くエラー処理と、空のメッセージは出してみました。
連続処理したいならメッセージ無い方がいいかもしれませんね。
コードはこんな感じ
result = zoho.crm.searchRecords("InvoiceNo","CName:equals:" + CompanyName);
info "入力=" + CompanyName + "結果" + result;
m = Map();
i = 0;
for each  i in result
{
invno = i.get("Name");
}
//インボイス番号
m.put("InvoiceNo",invno);
resp = zoho.crm.updateRecord("Accounts",recordID.toLong(),m);
if(resp.containValue("error"))
{
return "インボイス番号を更新できませんでした" + resp;
}
else if(invno = NULL)
{
return "該当するインボイス番号がありませんでした";
}
return "インボイス番号を更新しました";
メッセージ処理なしなら10行程度です。同一会社名あったらどうなんねん!みたいなのはこのコードでは考慮してません。ちなみに住所も取引先情報に転機も可能ですが、名刺情報の住所と登記上の住所が違っていたりするので今回は行いませんでした。
もしご興味あって教えてほしいという方はお気軽にご質問ください。
ご希望者多いようでしたら勉強会してもいいかなと思います。次回ワークアウトはほんとにインボイス制度開始直前の9月29日ですので、それでもいいやという方はワークアウトご参加の上ご相談ください
または9月22日のZoholicsでお声掛けください