Jacksonである階層の属性を別の階層のObjectにマッピングする

  • このエントリーをはてなブックマークに追加

以下のJsonがあるとして、cursorhas_nextはPaginationに関するものだから、別のObjectにマッピングしたい。

{
"id": "abc",
"cursor": "next-cursor",
"has_next": true
}

普通にMappingするとこういうクラスを用意するわけだけど、

@Data
public static class MyRoot {
private String id;
private String cursor;
@JsonProperty("has_next") private boolean hasNext;
}

こういう感じの構造にマッピングしたい。

@Data
public static class MyRoot {
private String id;
private Paging paging;
}
@Data
public static class Paging {
@JsonProperty("cursor") private String cursor;
@JsonProperty("has_next") private boolean hasNext;
}

方法: @JsonUnwrappedを使う

@Data
public static class MyRoot {
private String id;
@JsonUnwrapped
private Paging paging;
}
@Data
public static class Paging {
@JsonProperty("cursor")
private String cursor;
@JsonProperty("has_next")
private boolean hasNext;
}

@Test
public static void main(String[] args) throws Exception {
String jsonString = """
{
"id": "abc",
"cursor": "next-cursor",
"has_next": true
}
""".indent(0);

ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
MyRoot root = mapper.readValue(jsonString, MyRoot.class);
System.out.println(root);
JacksonTest.MyRoot(id=abc, paging=JacksonTest.Paging(cursor=next-cursor, hasNext=true))

もし、MyRootクラスと@JsonUnwrappedされたPagingクラスに同じ属性名が存在する場合、MyRoot側に値が設定されます。

Twitter gemでrate limitのAPIをコールしたい

  • このエントリーをはてなブックマークに追加

メソッドがないので、Requestを愚直に作ってレスポンスを取得する。

require "twitter"

client = Twitter::REST::Client.new do |config|
config.consumer_key = "***"
config.consumer_secret = "***"
config.access_token = "***"
config.access_token_secret = "***"
end

rate_limits = Twitter::REST::Request.new(client, :get, '/1.1/application/rate_limit_status.json').perform
rate_limits[:resources].each_pair do |category, hash|
hash.each_pair do |api_name, context|
puts [
category,
api_name,
context[:limit],
context[:remaining],
Time.at(context[:reset]),
].join("\t")
end
end

sinatra + omniauth-twitterでForbiddenになる

  • このエントリーをはてなブックマークに追加

インターネットを適当に検索して出てくるサンプルを動かしてみると、CVE-2015-9284対応前のバージョンのサンプルばかりで、/auth/twitterへアクセス時にForbiddenエラーが発生してしまう。

Gemのバージョン
gem "sinatra"           , "2.1.0"
gem "sinatra-contrib" , "2.1.0"
gem "omniauth" , "2.0.4"
gem "omniauth-oauth" , "1.2.0"
gem "omniauth-twitter" , "1.4.0"

マニュアルによると、

By default, this uses rack-protection's AuthenticityToken class to validate authenticity tokens. If you are using a rack based framework like sinatra, you can find an example of how to add authenticity tokens to your view here.
https://github.com/omniauth/omniauth/wiki/Upgrading-to-2.0#racksinatra

デフォルトではAuthenticityToken クラスを使用して認証トークンを検証します。
sinatra のようなrackベースのフレームワークを使用している場合の、認証トークンをviewに追加するサンプルがここにあります。

と記載があり、
/auth/:providerのrequest parameterとしてauthenticity_tokenが必要とのこと。
値はrequest.env["rack.session"]["csrf"]を。

こんな感じのが必要.

<form method="post" action="/auth/twitter">
<input type="hidden" name="authenticity_token" value="<%=request.env['rack.session']['csrf']%>">
<button type="submit">login</button>
</form>

参考情報

omniauth-twitterで/auth/twitterが有効にならない

  • このエントリーをはてなブックマークに追加

サンプルで遊んでいたら、/auth/:providerが有効にならなくて、なんでだろうなと。
CSRFの対策で、/auth/:providerはgetメソッドでは受け付けません。

p OmniAuth.config.allowed_request_methods
> [:post]

https://github.com/omniauth/omniauth/pull/1010で変更が入り、omniauth 2.0以降に取り込まれています。

以下のようなことはしてはいけません。
ちゃんとpostでコールしましょうね。

OmniAuth.config.allowed_request_methods = [:get, :post]

参考情報

Concurrent::Promises.zipとFuture.delay

  • このエントリーをはてなブックマークに追加

concurrent-rubyの使い方を調べていて、こちらのページを見つけたのですが、解説が正しくなかったので、正しい挙動をメモ。

このQiitaのページでは、以下のように記載があります。

zipとういうメソッドが用意されているのでそれを使用すると、同時にスレッドが実行され、それらの返り値が配列にまとめられます。

しかし、Concurrent::Promises.futurefuture_onのshortcutであり、future_oneval on immediatelyであるので、futureを作った時点で実行が始まります。そのため、zipとは関係なく、threadの状態はfullfilledになります。

Constructs new Future which will be resolved after block is evaluated on default executor. Evaluation begins immediately.

zipメソッドで処理を発火したい場合は、delayを使います。

sample program
threads = (1..5).map do |i|
Concurrent::Promises.delay(i) do |i|
n = rand(5) + 1
puts "[#{i}] start: #{Time.now} / sleep=#{n}"
sleep n
puts "[#{i}] finished: #{Time.now}"
"result: #{i}"
end
end

sleep 3
puts "before zip: #{Time.now}"
Concurrent::Promises.zip(*threads)
.then{|*hashes| hashes.reduce(&:merge) }
.value

実行結果(delay)

result by delay
before zip: 2021-04-11 14:56:35 +0900            # zipで発火するまでスレッドは実行されていない
[5] start: 2021-04-11 14:56:35 +0900 / sleep=3
[4] start: 2021-04-11 14:56:35 +0900 / sleep=3
[3] start: 2021-04-11 14:56:35 +0900 / sleep=4
[2] start: 2021-04-11 14:56:35 +0900 / sleep=5
[1] start: 2021-04-11 14:56:35 +0900 / sleep=4
[4] finished: 2021-04-11 14:56:38 +0900
[5] finished: 2021-04-11 14:56:38 +0900
[1] finished: 2021-04-11 14:56:39 +0900
[3] finished: 2021-04-11 14:56:39 +0900
[2] finished: 2021-04-11 14:56:40 +0900
```

実行結果(futureの場合)

result by future
ruby aaa.rb 
[1] start: 2021-04-11 14:57:14 +0900 / sleep=4
[2] start: 2021-04-11 14:57:14 +0900 / sleep=5
[3] start: 2021-04-11 14:57:14 +0900 / sleep=4
[4] start: 2021-04-11 14:57:14 +0900 / sleep=1
[5] start: 2021-04-11 14:57:14 +0900 / sleep=1
[5] finished: 2021-04-11 14:57:15 +0900
[4] finished: 2021-04-11 14:57:15 +0900
before zip: 2021-04-11 14:57:17 +0900 # ▲zipの前にスレッド実行されている
[3] finished: 2021-04-11 14:57:18 +0900
[1] finished: 2021-04-11 14:57:18 +0900
[2] finished: 2021-04-11 14:57:19 +0900

参考情報

FaradayでCookieを永続化したい

  • このエントリーをはてなブックマークに追加

faraday-cookie-jarを使えばResponseのSet-Cookieを処理し、後続のRequestにCookieヘッダを付与することができるので、一般的なCookieとしての情報を扱うことができます。
この情報を永続化するサンプルが見つからなかったのでメモ。

require "faraday"
require "faraday-cookie-jar"

jar = HTTP::CookieJar.new
conn = Faraday.new(base_url) do |builder|
builder.adapter :net_http
builder.use :cookie_jar, jar:jar
end
resp = conn.get("https://httpbin.org/cookies/set/hello/world")
jar.save("/tmp/cookie.yaml") # YAMLで保存される

Saveメソッドの詳細はこちら

保存したCookieを読み込む場合はloadを使います。

jar = HTTP::CookieJar.new
jar.load("/tmp/cookie.yaml") if File.exist?("/tmp/cookie.yaml")
conn = Faraday.new(base_url) do |builder|
builder.adapter :net_http
builder.use :cookie_jar, jar:jar
end
...

参考情報

ACM会員になってオライリーの本が読み放題

  • このエントリーをはてなブックマークに追加

O’reilly Online Learning(Safari Books Online)はたくさんの本が読めるサブスクサービスです。
前職では会社が契約したのですが、個人で申し込むと月額49ドルと、なかなかお高い。

そこで安く使う方法として、年額ACMの会員になると、特典としてこのサービスへのアクセス権がついてきます。ACMの会員費用は年額99ドルです。さらに、私は学生でもあるので、学生会員として登録することができます。その場合、なんと年額19ドル。会員になるしかない!!
ACMといえば、コンピュータ分野全般を対象として国際学会で、チューリング賞なんかが有名ですね。SIGとしてはSIGGRAPH(コンピューターグラフィックスを扱う分科会)も有名です。

ACM デジタルライブラリーはジャーナルや論文へのアクセスができるようになるのですが、私はこれはいったん不要。

ACM登録方法

https://www.acm.org/membership/joinから「ACM Student Membership」を選択し、必要な情報を入力していきます。学生じゃない場合は、Professionalを選択する。その場合は入力項目が変わります。以下の画像は、学生会員の場合の例です。

クレジットカードかペイパルで支払う事ができます。私はペイパルで払いました。
(SIGGRAPHに参加する場合とか)オプションで色々つけることができますが、何もつけません。

アカウント作成

ACMの会員になっただけでは、アカウントがありません。アカウントを作ります。
会員費を支払ったあと、次の画面が表示されるので、「Create your ACM Web Account」を選択します。

キャプチャ画像を撮るの忘れてしまったので画像はないのですが、メールアドレスとパスワードを入れます。すると、Complete Your ACM Accountというタイトルで確認メールが来るので、メール中のURLを踏んで登録を完了させます。
その後、{account}@acm.orgというメールアドレスが作成されます。account名は氏名から自動生成されます。

マイページにアクセスできるようになります。

アクセスできる特典は、本だけでなく、主に3つあります。

  • O’Reilly (safari books online)
  • Skillsoft (LMS)
  • ScienceDirect (学術雑誌/電子書籍のプラットフォーム)

SkillsoftはLMSなのですが、コンテンツとしては以下のようなSafariにないような、例えばInside SSD本があります。

Safariへのログイン

ACMのマイページからリンクを踏んでSSOでログインして、ACMのIDとパスワードを入れればオライリーのサイトにログインした状態で遷移します。

日本語の本を探す

設定のLanguage PreferencesJapaneseにチェックを入れます

すると検索条件にJapaneseが出てきます。

日本語の本が出てきます

オススメの本

Brendan Gregg先生が最近出したSystems Performance, 2nd Editionはオススメです。Safariでは読めませんが、2nd Edition版ではないですが、システムパフォーマンス詳解として日本語版が出版されています。

The Manager’s Pathも良いです。これも日本語版が出ています。表紙はなんとなく見たことあると思います。

すごく古いですが、Java Concurrency in Practiceも良き。日本語版は「Java並行処理プログラミング」です。

日本語の本

せっかくなので、今時点(2021/04/08)の日本語の本の一覧を列挙しておきます。
2021年になってからは追加されていない😭

カバー タイトル 出版日/追加日
エレガントなSciPy ―Pythonによる科学技術計算 2018/11/09
2020/12/14
デザイニング・ボイスユーザーインターフェース ―音声で対話するサービスのためのデザイン原則 2018/11/30
2020/12/14
Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス 2017/03/17
2020/12/14
初めてのPerl 第7版 2018/01/19
2020/12/14
Rによるテキストマイニング ―tidytextを活用したデータ分析と可視化の基礎 2018/05/17
2020/12/14
PythonとJavaScriptではじめるデータビジュアライゼーション 2017/08/24
2020/12/14
Rグラフィックスクックブック 第2版 ―ggplot2によるグラフ作成のレシピ集 2019/11/19
2020/12/14
ゼロトラストネットワーク ―境界防御の限界を超えるためのセキュアなシステム設計 2019/10/25
2020/12/14
Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 2018/05/25
2020/12/14
プログラミングRust 2018/08/09
2020/12/14
初めてのPHP 2017/03/17
2020/12/14
Rではじめるデータサイエンス 2017/10/24
2020/12/14
Lean UX 第2版 ―アジャイルなチームによるプロダクト開発 2017/07/03
2020/12/14
実践 CSIRTプレイブック ―セキュリティ監視とインシデント対応の基本計画 2018/05/18
2020/12/14
Head First Python 第2版 ―頭とからだで覚えるPythonの基本 2018/03/23
2020/12/14
Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理 2018/07/25
2020/12/14
GitHubツールビルディング ―GitHub APIを活用したワークフローの拡張とカスタマイズ 2017/05/09
2020/12/14
バイオビルダー ―合成生物学をはじめよう 2018/11/20
2020/12/14
Optimized C++ ―最適化、高速化のためのプログラミングテクニック 2017/02/21
2020/12/10
入門 監視 ―モダンなモニタリングのためのデザインパターン 2019/01/16
2020/11/19
Go言語による並行処理 2018/10/25
2020/11/19
Fluent Python ―Pythonicな思考とコーディング手法 2017/10/06
2020/11/19
アイソモーフィックJavaScript 2017/07/03
2020/11/19
ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック 2017/12/14
2020/11/19
入門 Kubernetes 2018/03/20
2020/11/19
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎 2017/05/24
2020/11/19
機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践 2019/02/21
2020/11/19
エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド 2018/09/25
2020/11/19
SVGエッセンシャルズ 第2版 2017/05/16
2020/11/19
実践 Deep Learning ―PythonとTensorFlowで学ぶ次世代の機械学習アルゴリズム 2018/04/25
2020/11/19
進化的アーキテクチャ ―絶え間ない変化を支える 2018/08/17
2020/11/19
Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門 2017/03/10
2020/11/19
初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発 2017/01/19
2020/11/19
プロダクションレディマイクロサービス ―運用に強い本番対応システムの実装と標準化 2017/09/12
2020/11/19
Effective DevOps ―4本柱による持続可能な組織文化の育て方 2018/03/23
2020/11/19
PythonによるWebスクレイピング 第2版 2019/03/25
2020/11/19
分散システムデザインパターン ―コンテナを使ったスケーラブルなサービスの設計 2019/04/19
2020/11/19
データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理 2019/07/17
2020/11/19
詳説 Deep Learning ―実務者のためのアプローチ 2019/08/08
2020/11/19
入門 Prometheus ―インフラとアプリケーションのパフォーマンスモニタリング 2019/05/17
2020/11/19
初めてのGraphQL ―Webサービスを作って学ぶ新世代API 2019/11/11
2020/11/19
SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム 2017/08/10
2020/11/19
プログラミングROS ―Pythonによるロボットアプリケーション開発 2017/12/12
2020/11/19
詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識 2018/05/25
2020/11/19
Unityによるモバイルゲーム開発 ―作りながら学ぶ2D/3Dゲームプログラミング入門 2018/08/23
2020/11/19
マスタリング・イーサリアム ―スマートコントラクトとDAppの構築 2019/11/28
2020/11/16
インテリジェンス駆動型インシデントレスポンス ―攻撃者を出し抜くサイバー脅威インテリジェンスの実践的活用法 2018/12/25
2020/11/16
Python機械学習クックブック 2018/12/14
2020/11/16
ITIL Service Design (Japanese Translation) 2013/06/01
2020/10/29
ITIL Service Operation (Japanese Translation) 2013/06/01
2020/10/29
ITIL Service Strategy (Japanese Translation) 2013/06/01
2020/10/29
ITIL Service Transition (Japanese Translation) 2013/06/01
2020/10/29
ITIL Practitioner Guidance (Japanese Translation) 2017/03/01
2020/10/29
ITIL Continual Service Improvement (Japanese Translation) 2013/06/01
2020/10/29
Feedback That Works: How to Build and Deliver Your Message (Japanese) 2008/08/01
2020/10/26
Developmental Assignments: Creating Learning Experiences Without Changing Jobs (Japanese) 2008/07/31
2020/10/26
ITIL Foundation Handbook (Japanese Translation) 2015/06/01
2020/10/23
ITIL Foundation, ITIL 4 edition (Japanese Translation) 2019/11/01
2020/10/23

参考情報

読み書きされているファイルを確認したい

  • このエントリーをはてなブックマークに追加

iotopだとプロセス単位でしか分からないし、どのファイルのIOが激しいのかを確認したいことがあります。
Solarisだとdtrace toolkitを使えばわかるのですが、Linuxではsisdigを使えば分かります。

sudo apt-get install sysdig
sisdig -c topfiles_bytes

とても良いので、デフォルトでインストールするやつに加えました。

参考

合同会社の法人決算メモ(1期目)

  • このエントリーをはてなブックマークに追加

※自分用のメモなので間違いはあるかも。東京都23区に事業所が1個の場合で、消費税は免税。会計期間は3月1日~2月28日。

仕分けは弥生会計で行いました。
弥生会計(スタンダード)では決算書(P/L, B/S, 株主資本(社員資本)等変動計算書, 注記表)の出力はできますが、法人事業概況説明書や勘定科目内訳明細書は作れません。なので、決算書含めて、決算、申告、納付に関しては全力法人税を利用しました。
また、弥生会計の注記表はテンプレートこそあるものの、何を省略して、何を記載すれば良いのかが非常に分かりづらいためオススメしません。

決算の流れ

  1. 決算整理
    • 日々の仕分けを完了させる
    • 試算表の作成
    • 棚卸し
    • 売掛金や未払い金の処理
    • 原価の算出
    • 減価償却(固定資産がある場合)
    • などなど..
  2. 法人税/消費税の計算
    • 消費税に関しては私は今回は関係ありません
    • 法人税の計算の比率は全力法人税に入れる必要があるので、自治体から送られてきたパンフレットを参考に入れます。
    • パンフレットがなくても、Webサイトに情報があります。
  3. 取締役会や株主総会の承認
    • 株式会社の場合は必要だが、合同会社の場合は不要(参考)
  4. 申告
    • 作成した書類を郵送か、e-Tax/eLTAXで送信します。
    • 今回はe-Tax, eLTAXを利用。
  5. 納税
    • 還付か納税のどちらか。今回は納税。
    • 法人税、消費税、地方税を払うことになります。
    • 利益が出ていないので法人税はなし、消費税は対象外。
    • 地方税は、最低金額のいわゆる7万円(11ヶ月なので64100円)を払います。
      • eLTAXで申告をして、ダイレクト納付かペイジーで支払います。

弥生会計の設定

設立日が2020年3月23日。
会計期間は月初~しか設定できないので、「2020年3月1日~2021年2月28日」となる。
このままでは設立日よりも前の日付で仕訳を作れてしまう。もし、設立日よりも前の仕訳を作ると、全力法人税のデータチェックでエラーが出るし、会計的にも正しくないので、入力制限をかける。

「設定」▶「帳簿・伝票設定」▶「入力制限」で「2020年3月22日」を設定する。

創立費/開業費

設立日よりも前に使った場合は、開業日(2020年3月23日)で入力して、摘要に実際日付を含めるようにする。
創立費と開業費は「繰延資産」として資産に計上する処理することができるため、2期目以降に費用を繰り延べることが出来ます。中小企業の場合、繰延資産は任意のタイミングで任意の金額を費用化することが認められています。つまり、利益が大きく出た年度(期)で費用化することで節税することができます。

何が創立費にあたり、何が開業費にあたるかは以下のサイトが参考になります。

決算整理

試算表の作成は、弥生会計の集計機能を用いることで行えます。
試算表は期中に作成するB/S,P/Lみたいなものなので決算作業自体には不要ですが、銀行との取引がある場合なんかは求められる場合があります。
このあたりの内容は末尾に記載した書籍を参考にしました。もしくは簿記3級の内容でもカバーしています。

第一期目の「株主資本等変動計算書」の差額について

第一期目は出資しているので差額が出ます。
株式会社では「新規株式の発行」の変動事由を追加して差額を埋めれば良い。
合同会社の場合は「出資の受入」あたりで。

作成する書類

提出する書類はたくさんあります。どの別表が必要なのかは判断が難しいですが、今回私が必要なのは以下の通り。全力法人税を使えば、必要な書類だけをピックアップしてくれます。

  • 法人事業税(国税)
    • 各種別表
      • 別表一(一) ▶ 各事業年度の所得に係る申告書(普通法人等の申告書)
      • 別表一次葉 ▶ 法人税額・地方法人税額の計算
      • 別表二 ▶ 同族会社等の判定に関する明細書
      • 別表四(簡易様式)▶ 所得の金額の計算に関する明細書
      • 別表五(一) ▶ 利益積立金額及び資本金等の額の計算に関する明細書
      • 別表五(二) ▶ 租税公課の納付状況等に関する明細書
      • 別表七(一) ▶ 欠損金又は災害損失金の損金算入等に関する明細書
      • 別表十五 ▶ 交際費等の損金算入に関する明細書
    • 法人事業概況説明書
    • 財務諸表
      • 貸借対照表
      • 損益計算書
      • 販売費及び一般管理費内訳書(e-Taxでは損益計算書に含まれる)
      • 株主(社員)資本等変動計算書
      • 個別注記表
    • 勘定科目内訳明細書
      • 預貯金等の内訳書
      • 役員報酬手当等及び人件費の内訳書
  • 消費税(国税)
    • … 省略!!
  • 法人都民税(地方税) … 通常は法人住民税と言われ、都民税と市町村民税の2つに分かれているが東京23区は都の特例として、市町村民税も合わせて都民税として都税事務所に申告して納税します。
    • 第6号様式 ▶ 都民税・事業税・地方法人特別税の確定申告書
    • 第6号様式別表4の3 ▶ 均等割額の計算に関する明細書
    • 第6号様式別表9 ▶ 欠損金額等の控除明細書

国税はe-Taxで、地方税はeLTAXで処理します。

個別注記表について

合同会社の場合、記載しないといけない事項は以下の通り。

  • 重要な会計方針に係る事項に関する注記
  • 会計方針の変更に関する注記
  • 表示方法の変更に関する注記
  • 誤謬の訂正に関する注記
  • その他の注記

該当しないものは省略可能です。また、良く「この計算書類は「中小企業の会計に関する指針」によって作成しています。」というものが入っているものが多いですが、この指針を読んでいないのでこの文言は入れません。

全力法人税の手順メモ

良く出来ているので、画面の指示に従って処理していけば良いです。
まずは、社員名簿を作って、同族会社の判定をします。私は一人会社なので同族会社です。「同族会社の判定明細書出力」でPDFをダウンロードできます。(別表2)

まずは、弥生会計の勘定科目と仕訳日記帳と固定資産のデータをエクスポートして、全力法人税にインポートします(参考)

あとはインポートした仕訳に沿って、全力法人税が自動で転記してくれます。便利だ..!(例えば、別表1の①には法人住民税を含まない金額を記載するわけですが、こういうのを自動でやってくれます)

税金の計算が終わったら、その金額を弥生会計の今期の仕訳として登録をします。画面に記載の方法が出てきます。

これを会計ソフトに入力します。

日付: 2021年2月28日(期末日)
借方勘定科目: 法人税、住民税及び事業税
貸方勘定科目: 未払法人税
貸方補助科目: 都民税・事業税(任意)
金額: 64,100円

※全力法人税にはこの仕訳データが入っているので、弥生会計にこの仕訳を追加した後に、再度インポートしてはいけません。計算がおかしくなります。

なぜ7万円ではないかというと、均等割は月割で計算をし、1ヶ月未満は切り捨てることになるからです。2020年3月23日に起業して、2月決算(期末日が2月28日)だとすると、11ヶ月と8日になるので、切り捨てて11ヶ月。 7万円*11/12=64100円です。(参考

e-Tax

以下のページに書いてある通りに進めるだけでできます。
Web版ではなく、PC版じゃないとできません。

eLTAX

こちらも以下のページに書いてある通りに進めるだけでできます。
Web版ではなく、PC版じゃないとできません。

電子納税

eLTAXで電子申告をすると、電子納税ができます。申告と違って納税はWeb版でも可能です。
PCdeskを使うとペイジーの連携のところでIEが起動するので、Web版で行いました。

ダイレクト納付の場合、登録した口座から自動で引き落としがされます。
インターネットバンキング方式では、ペイジー用の番号が発行されてそこに振り込む形式になります。

さて、GMOあおぞらネット銀行はどちらも対応していません!!
なので、個人口座で振込をして、役員借入金として処理しました。

2期目の処理

弥生会計も全力法人税も繰越処理を行い、次年度の会計期間を設定します。
納税の仕訳は、未払法人税を打ち消せば良いので以下のようになります。

日付: 納税した日
借方勘定科目: 未払法人税
貸方勘定科目: 普通預金
貸方補助科目: 銀行名
金額: 64,100円
(現金で払った場合は普通預金ではなく「現金」、個人口座で払った場合は「役員借入金」にするか、立替処理をする)

全力法人税の課金

  • 印刷、e-tax/eLTAX用のデータ出力をしなければ無料で使えます。画面に表示されている内容をeTaxやPCDesk(eLTAX)の帳票に転記していけば良いだけですが、面倒なので購入した方が早いです。

まとめ

とてもつらかった。

参考資料

書籍

弥生会計は合同会社に対応していない

  • このエントリーをはてなブックマークに追加

弥生会計オンラインは会社形態で合同会社を選択できるみたいですが(試していません)、弥生会計は株式会社を前提に作られているそうです。用意されているテンプレートが合同会社のものがなかったり、決算項目が株式と決め打ちになっているものがあったりするので、サポートに問い合わせました。

誠に申し訳ございませんが、株式会社を前提として製品・サービスを
提供しているため、合同会社用のテンプレートの用意はございません。

というわけで、合同会社として使うには、いくつか変更しないといけません。

株式会社と合同会社の比率

ちなみに、合同会社の設立比率は年々増加しているので、対応して欲しいものです。
(2006年のその他が多いのは「特例有限会社_本店」です)

時間軸(年次) 総数_本店 株式会社_本店 合同会社_本店 その他 合同会社比率
2019年 118,532 87,871 30,566 95 25.79%
2018年 116,208 86,993 29,076 139 25.02%
2017年 118,811 91,379 27,270 162 22.95%
2016年 114,343 90,405 23,787 151 20.80%
2015年 111,238 88,803 22,223 212 19.98%
2014年 106,644 86,639 19,808 197 18.57%
2013年 96,659 81,889 14,581 189 15.08%
2012年 91,942 80,862 10,889 191 11.84%
2011年 89,664 80,244 9,130 290 10.18%
2010年 87,916 80,535 7,153 228 8.14%
2009年 86,016 79,902 5,771 343 6.71%
2008年 92,097 86,222 5,413 462 5.88%
2007年 101,981 95,363 6,076 542 5.96%
2006年 115,178 76,570 3,392 35,216 2.95%

ソース: e-Stat, 「登記統計 商業・法人: 会社及び登記の種類別 会社の登記の件数」

変更点

  • 勘定科目の設定
    • 「資本金」を「出資金」にするという記述もあるが、「資本金」のままで良いと思われる。
    • 「新株式申込証拠金」を「出資金申込証拠金」
    • 「自己株式」「新株予約権」「資本準備金」「利益準備金」などは使わないようにする
    • 変更した勘定科目に対応する決算書項目も名前を変更する
  • 決算・申告 ▶ 決算書設定 ▶ 決算書項目設定
    • ●●合計のような項目は、自動で追従されないので、勘定科目に沿った名前に変更する
  • 決算・申告 ▶ 決算書設定 ▶ 決算書設定
    • タイトル ▶ 株主資本等変動計算書 の名前を 「社員資本等変動計算書」に変更する

一部、どうしても変更できない部分が出てきました。サポートに問い合わせると、、

なお、[科目設定]や[決算書項目設定]の括弧書きや太文字の
区分や合計欄の項目は、削除することはできません。
決算書作成時に表示されてしまう場合は、お手数ですが、Excelに書き出し
編集を行った上で、作成いただきますよう、お願いします。

これは..

結論

さすがに出来ない事が多すぎるので、弥生会計使うのはやめてFreeeなどを使った方がよさそう。
というのも、弥生会計の更新は法令対応だったり、(個人の)確定申告書といった法令対応の部分の追従くらい。そして、その対応も、一部対応していなかったり、法人決算であれば結局弥生だけでは対応出来なかったりするので、アップデートするメリットがゼロである。アップデートしなくても、確か仕分けはできたはず。仕分けも証憑の対応がイマイチ..

個人の所得税確定申告であれば、国税庁の確定申告書等作成コーナーに転記すれば、正しく計算してくれるし。(弥生会計は申告書の自動計算漏れがあるので、あんしん出来ない)
法人決算であれば、結局弥生では必要な書類を全て出力することは出来ないので、自分で書くか、全力法人税のようなサービスを使うことになる。
全力法人税では申告に必要な決算に関する書類ほぼ全て対応しているし。(法人の種類や規模に制限はあるけど)

基本的な機能の網羅も大切だけど、どれだけ対応が早いかという点も大事。
そういう意味では、SmartHRやLayerXみたいなところが切り込んでいって欲しいんだけど。