読者です 読者をやめる 読者になる 読者になる

Shiho's engineering blog

誰でもみれるノートのようなもの

被扶養者だった学生がいきなり起業するときのお金のことまとめ【税務署への届け出・社会保険・会計ソフト・法人口座開設・役員報酬・Mac購入は経費になるのか】

学生として親の扶養に入っていた自分が、法人登記をするにあたって調べたことのまとめです。基本的には自分用まとめなので、見にくいかもです。

状況

  • 学生
  • 独身
  • 扶養に入っていた
  • 従業員を雇用していない

個人事業主の場合とは異なるので注意。

税務署に届け出

  • 法人設立届出書:定款のコピー、 登記事項証明書、 株主名簿、 設立時貸借対照表

の4つの添付書類が必要。届出書を表紙にして4つの添付書類を順番通りに並べておくとよい。

  • 青色申告の承認申請書:法人の設立初年度から適用を受けたい場合には、設立日から3か月以内に提出が必要
  • 給与支払事務所等の開設届出書
  • 源泉所得税の納金の特例の承認に関する申請書:源泉徴収を毎月納めるのは大変。そこで、給与を支払う従業員が10名未満の小さな会社は、源泉徴収の納付を、7月10日までと、1月20日までの年2回にまとめてできるという特例が設けられているので申請
  • 棚卸資産の評価方法の届出書(任意)
  • 減価償却資産の償却方法の届出書(任意):この届出書を提出しなければ、自動的に定率法を適用しなければいけなくなる。

青色申告は白色申告と比べて記帳を複式簿記で行うなどの手間がかかりますが、決算の赤字を9年間繰り越すことができたり、30万円未満の少額減価償却資産の損金算入制度の恩恵を受けられたりなど、税金上のメリットがとても大きい

もともと複式簿記を勉強したかったので迷わず青色。

定額法と定率法はどっちがいいの?

減価償却の代表的な方法である「定率法」と「定額法」。選択の基準は「早く経費にしたいかどうか」。早く経費を取りたければ定率法。そうでもないなら定額法。ということで、定率法に傾いている。定額法にするにしろ、はじめての確定申告書の提出期限までに届け出ればOKなので、もう少し迷おうと思う。

参考:青色申告の承認申請書の提出を忘れた場合の緊急対策(法人限定) | 栗田倫也税理士事務所 参考:定率法と定額法はどっちがいいの?減価償却方法選択の考え方と手続き | フリーランス・小さな会社のための"経理は税理士レスで。"

都道府県や市町村に開業の届出(法人設立届出)を出す

  • 定款のコピー
  • 登記事項証明書 の添付が必要

提出先は各都道府県の税事務所の「法人事業税課(住民税課)」と、市町村役場の法人住民税課の両方。

社会保険

社会保険未加入は80万社もあるらしい。法人の義務であり郵送で加入できるので入りましょう。

会計も諸々の手続きも最初は司法書士さんや税理士さんに丸投げせず、全部自分でやってみることにした。

必要な添付書類

  • 商業謄本の原本(ネットではなく法務局のもの)
  • 事業所所在地の確認できるもの(事業所の所在地が登記上の所在地と異なる場合のみ)

社会保険加入手続きは郵送で可能。

社会保険料の支払いは年金事務所の窓口で支払うか口座振替を使う。 口座振替を選択する場合は「保険料口座振替納付申出書」を年金事務所でもらい、管轄の年金事務所へ提出する。

社会保険料社会保険加入日が月初でも月末でも日割り計算はされず、1ヶ月分の社会保険料がかかるため、加入時期に気を付ける。

社会保険料の徴収・納付は、一般的に翌月徴収・翌月納付。

標準報酬月額を基に社会保険料が算定される。

保険料は会社と従業員とで折半し、会社が給与から天引きした上でまとめて支払う。社会保険は国の義務であるため会社側にメリットは特に無く、社員の生活を守る社会制度として会社が負担する考えが根底にある。

社会保険とは

  • 雇用保険:労働者が失業した場合などに、労働者の生活や雇用の安定を図る失業給付を行う。会社が労働者を1人でも雇う場合は、雇用保険の加入が義務付けられる。法人の代表者は加入することができない。
  • 労災保険:業務時間帯のケガ、業務に起因するケガや病気をした場合に、治療費や休業時の賃金が補償される。会社側のみの負担。
  • 健康保険:業務以外で病気やケガをしたときに、治療費の補填をしてくれる制度
  • 厚生年金保険:加入者が一定の年齢になった時に、国民年金と合わせて老齢年金を支給するための保険

の4種類

参考:www.syachou-blog.com

参考:www.syachou-blog.com

会計ソフトはどうしよう?

弥生会計が起業家応援キャンペーンで14ヶ月使用料無料だったので試してみることにした。

登記簿の画像が必要。登記したらすぐオンラインで郵送の申請するといい。登記簿の原本は口座開設や諸々に使うので5つ以上、多めに申請。控えは確認資料として利用できないため。 登記所の窓口で登記事項証明書の交付を請求する場合の手数料は600円のところ,オンライン請求を利用すると、証明書を郵送で受け取る場合の手数料は500円なのでちょっと安くすむ。 オンラインでのみ閲覧したい場合は有料の登記情報提供サービスに申し込む。他社のものを閲覧しまくることを考え申し込んだ。郵送でパスワードが届くので、こちらも今すぐ使うという訳にはいかない。

www1.touki.or.jp

登記事項証明書等の請求にはオンラインでの手続が便利です :法務局

社長の給料どうしよう?

役員報酬は、設立から3か月以内に決定する必要がある。1回決めたら、事業年度終了までは同じ額での支給が必要。 ある条件を満たせば経費にすることができる。

節税という観点で考えれば、社長個人への給料を高くしたほうがいい。しかし、その一方で社長個人への所得税が高くなる。かといって低く設定すれば会社にかかる法人税が高くなる恐れもある。 原則として経費にできないというルールがあります。ただし、例外があって、その例外の条件を満たしさえすれば、経費にすることができます。

  • 定期同額給与 (毎月一定の時期に定額で支払われる報酬は経費にできる)
  • 事前確定届出給与 (事前に税務署に届出をして、その届出の内容通りに支給される報酬は経費にできる)
  • 利益連動給与 (利益に応じて支払われる報酬は経費にできる)
  • 役員退職金 (役員の退職金は経費にできる)
  • ストックオプション (現金の代わりに支給される自社株は経費にできる)
  • 使用人兼務役員の賞与 (取締役部長など使用人兼務役員の場合、賞与を経費にできる)

「定期同額給与」で役員報酬を経費にするためには、1年間同額で金額を固定しなければなりません。決算時に大幅に利益が出るから役員報酬を増額して経費にしようとしても、増額した分は税務署から認められません(ただし、決算から3カ月以内であれば、金額を変更することもできます)。

一般的には、社長に家賃収入などの多額の副収入がなければ、月額百数十万円程度までは、役員報酬で支払った方が節税になるといわれています。

ちなみに所得税は。

f:id:serendipity4u:20170321161325p:plain

画像は  会社設立初年度の役員報酬はいくらにするのがベストか? | より引用

参考 : 起業家が知りたい 自分の給与はいくらにすればいい? | inQup

役員報酬を決めるための方針

会社にお金を残したいのか?個人に残したいのか? を考えること。

ふつうの判断基準は

  • 役員報酬を少なくし、会社にお金を残す:融資を受けたいなど業績を良くしたい場合
  • 役員報酬を多くし個人にお金を残す:個人で住宅ローンを多く組みたいためなどの場合

自分は住宅ローンなどは考えていない。融資を受けることも現在は考えていないが、将来的にどうなるか分からないし会社に残す方針に。

参考: 会社設立時の役員報酬はいつから払う? |

決めた役員報酬を払えない場合はどうなるのか

資金が苦しくなり役員報酬の未払いになる事も考えられます。 その場合は、未払という形で役員報酬を計上する事ができます。

参考: 会社設立時の役員報酬はいつから払う? |

銀行口座開設:メガバンVSネット銀行

メガバン(のうち都市銀行)のメリットデメリット

支店が多くあり、税金の納付(ネット銀行では非対応であることが多い)などで窓口手続きを利用する際には便利。都市銀行の法人口座を開設することができた場合には取引先から信頼を得やすいという特徴がある。

ネット銀行のメリットデメリット

振込手数料が基本的に安く、深夜でもリアルタイムで決済ができる。特に楽天銀行は、新設法人でも口座開設しやすい。 デメリットとしては、1日の引き出し金額に上限があり、1度に高額な現金の引き出しができない点や、社会保険料等の口座振り込みに対応していない。

まず、比較的手続きが容易で審査が通りやすい「ネット銀行」を開設して、それから都市銀行もしくは信用金庫 / 信用組合に口座開設するパターンが多いらしい。ネット銀行は社会保険料の引き落としができなかったり、振替先として対応されなかったりする場合もあるため、 社会保険料などの支払いや給与振込は信用金庫を利用するといったように。

私もネット銀行+ 都市銀行 で開設することにした。

ちなみに楽天銀行の手数料

f:id:serendipity4u:20170321164454p:plain

画像は  【法人口座比較まとめ】経営者が選ぶべき銀行口座はここだ!|会社設立ガイド|会計ソフト「MFクラウド会計」より引用

楽天銀行の開設申し込み

  • 履歴事項全部証明書の原本
  • 口座管理者本人確認資料(パスポート、発行日から6ヶ月以内の印鑑証明書などのコピー。本籍地及び個人番号の記載がある場合は、読み取れないように黒く塗りつぶす。)

申込時に会社設立後半年以内であるお客さま、主たる事務所としてバーチャルオフィスやレンタルオフィスをご利用のお客さまの場合は、上記の「法人登記内容 確認資料」「口座管理者さま 本人確認資料」等の必要としている書類に加え、事業実態について確認できる書類をご提出ください。

  • 発注書、請求書(インボイス)や納品書
  • 業務委託契約書、工事請負契約書や売買契約書
  • 他行口座(法人名義)での取引明細 等

登記上の住所と実際の連絡先住所が異なる場合は、連絡先情報 確認資料の提出(本人名義の公共料金領収書など)も必須。

参考: 起業直後の法人口座ってメガバンクが正解?? | Bizer起業スイッチ

Mac購入は経費になるのか

10万円未満のパソコンを購入した場合は、一括で経費にすることができる。が、macは10万以上である

ということでチェック。

10万円以上30万円未満のパソコン

10万円以上30万円未満のパソコンを購入した場合、下の条件をすべて満たすと、少額減価償却資産の特例を適用でき、一括で経費にすることとができます。

  • 青色申告をしている
  • 中小企業者である(資本金が1億円以下など)
  • 購入した事業年度内に実際に使い始めている(箱の中に入れたままではダメ)
  • その事業年度における購入額の合計が300万円以下
  • 確定申告の際に「少額減価償却資産の取得価額に関する明細書」を提出

参考: パソコン(PC)を経費にしたい!いくらまでなら大丈夫? | 税理士なら港区の税理士法人インテグリティ

参考

www.zeiri4.com

登記事項証明書等の請求にはオンラインでの手続が便利です :法務局

なぜかjQueryが発火しない #メモ

railsでコントローラから呼び出したjsテンプレートでjQueryが発火しない。 javascriptなら動く。

あとで調べる

いろいろなjQueryプラグイン

よく使われるフロントライブラリを集めてみた。 あくまで「使う」ではなく、「読める」「適切な位置に置く」ための参考程度の情報。

Scrooll Magic

スクロールに呼応してアニメーションを行う、cssを書き換える用途に使う。 .addIndicators メソッドの引数(例: { name: “add a class” } )を見れば、 挙動がつかめる。

引数には

  • クラスの追加(add a class)
  • 位置固定(pinning)
  • フェードアウト(fade-out)
  • フェードイン(fade-in)
  • 拡大(expansion)

などがある。

<script>
 // 複数のアニメーションがあっても一つどこかに書いてあればOK
 var controller = new ScrollMagic.Controller();
</script>
 
<style type="text/css">
#zap {
 transition: transform 0.3s ease-out;
}
.add_zap {
 transform: scale(2.5, 0);
}
</style>
<div id="trigger-zap"></div>
<div id="zap" class="type01 box01">
 <p>add a class</p>
</div>
 
<script>
var zap = new ScrollMagic.Scene({
 triggerElement: "#trigger-zap"
 })
 .setClassToggle("#zap", "add_zap")
 .addIndicators({name: "add a class"})
 .addTo(controller);
</script>

詳しい挙動は 公式デモ(http://scrollmagic.io/examples/basic/class_toggles.html)を確認されたい。

  • 参考 :

Scrooll Magicでスクロールに反応する楽しいアニメーションを作る | ウェブソク

TweenMax

高機能アニメーションライブラリ。

.from() .to()

といったメソッドを繋げてリッチな動きを実現できる(≒タイムライン機能を持っていて、複雑なアニメーションもこなせる)。

scroll magicと組み合わせることが多い。

以下のように利用する。

TweenMax.to(<対象の要素> , <アニメーション秒数> , <アニメーション終了時プロパティ>);

TweenMax.fromTo(<対象の要素> , <アニメーション秒数> , <アニメーション開始時プロパティ>,<アニメーション終了時プロパティ>);

TweenMax.set(<対象の要素> , <プロパティ>);

アニメーション秒数はミリ秒でなく、秒数で書くことに注意。

1000ms = 1です。500ms = 0.5と書きます。ここで書いた時間だけ、アニメーションします。

たとえば #boxという四角形要素があったら、

TweenMax.to('#box', 0.5, { left: 300 });

# 「#box」を「0.5」秒かけて「left」方向に「300」px アニメーションさせる ( この left 方向、 画面で右に動いているのに注意。) 

  • 参考:

jQueryよりスムーズ。アニメーションライブラリTweenMaxの基礎とデモ – ツーブロッカ, 【TweenMax入門】基本的な使い方 | WoodenBell Blog

Magnific Popup

f:id:serendipity4u:20170312151142p:plain

こういうモーダルウィンドウを作れるプラグイン

Magnific Popupは、インライン、ギャラリー、Youtube、GoogleMap、フォーム、Ajax、アニメーション、など様々なタイプのポップアップを簡単に実装することができる。 (以下のように、youtube動画をモーダルウィンドウで表示できる。)

f:id:serendipity4u:20170312151401p:plain

$(function(){
      $('.popup-image').magnificPopup({
      type: 'image'
  });
});

  • 参考:

Magnific Popup で色んなモーダルウィンドウを作ってみる|Gimmick log

Masonry

f:id:serendipity4u:20170312161633p:plain

pinterest的な、可変グリッドレイアウトを実現するライブラリ。

読み方は「メーソンリー」。

[id=“masonry"]という親要素のボックス内に配置した[class="grid"]という四角形の要素をアニメーション処理させる場合

<div id="masonry">
    <div class="grid"></div>
    <div class="grid"></div>
    <div class="grid"></div>
    <div class="grid"></div>
</div>


<script>
$(function(){
$('#masonry').masonry({
    itemSelector: '.grid',  # 整列対象のclass名を指定する。
    isFitWidth: true, #親要素の幅サイズがピッタリになる。trueまたはfalseを指定する。
    isAnimated: true #ウインドウサイズを変更したときにブラウザの幅に合わせて移動するアニメーションが実行される。trueまたはfalseを指定する。
});
});
</script>

これだけで.gridを適当な大きさにすれば動く。

参考: 【jQuery】可変グリッド・レイアウトの超有名プラグイン[Masonry]を紹介します。 - ONZE

ajaxでload more ボタンを作りたい時

masonry + ajaxでpinterest風タイルビューを実現する - Qiita

jquery - Masonry with AJAX; infinite scrolling not working (Rails) - Stack Overflow

jquery - masonry append with ajax - Stack Overflow

herokuでmysqlを使う

heroku addons:add cleardb      

heroku config | grep CLEARDB_DATABASE_URL      

heroku config:set DATABASE_URL='mysql2: [以降、さっきのURL] '

Setting DATABASE_URL and restarting ⬢ teaser-ritsuan… !

▸ Cannot overwrite attachment values DATABASE_URL.

と出たら

上書きする前にpostgresqlのaddonを消す必要があるので、

heroku addons:destroy heroku-postgresql 

これでheroku config:set DATABASE_URL=‘mysql2: [以降、さっきのURL] ’

参考

http://dosukoikoi.sub.jp/blog/archives/198

git で100MB超えファイルをcommit してしまい push reject された時


$ git filter-branch --force --index-filter \
  'git rm --cached --ignore-unmatch 大きいファイル.tar.gz' \
  --prune-empty --tag-name-filter cat -- --all
$ git commit --amend -CHEAD
$ git push

参考

100MB超のファイルをコミットしてしまい githubに pushを拒否された時 - ブログ - ワルブリックス株式会社

Git の履歴からファイルを完全に削除する – git filter-branch | EasyRamble

ストアとかで買ったhtmlテンプレートをrailsプロジェクトに埋め込む

images, fonts, javascripts それぞれディレクトリにコピーして、

//= require なり @import なりして読み込んでおく。

scssを導入する

gem "sass-rails"
gem "bootstrap-sass"

font

scssに拡張子を変えてから

@font-face{
src: url(../fonts/samplefont.eot")

@font-face{
src: url(font-path("samplefont.eot");

に変更する。

jQueryが動かない

ドキュメントが読み込まれる前に動作しているからかもしれない。

その場合、jQuery をちゃんと

$(document).ready(function(){
  //何かしらの処理
});

#もしくは $(function(){});

で包む。

の閉じタグ直前に記述すれば$(document).ready〜とほぼ同じ。

【Rails, ajax】remote:true なリンクでデータベース操作とビューの書き換えをやる【noticeも出す】

基本

  • 前提: users_controller.rbのactivate_userアクションにおいて、ajaxを使う
  • ajaxとは何か:WEBブラウザに実装されているJavaScriptのHTTP通信機能使って、Webページのリロードを伴わずにサーバーとデータのやりとりを行う処理。asynchronous JavaScript + XMLの略。

ajaxのメリット

  • 毎回application.js や application.css、共通画像などを読み込む必要がなくなるため、サーバー負荷に優しい。
  • ユーザーはページ遷移を意識せずにWebアプリを利用できるため、UXが高まる。

ajaxのデメリット

view

users/index.html.erb とか. usersディレクトリ配下ならどこでもいい.

<% @users.each do |user| %>
  <div id="user-<%= @user.id%>"> <!-- テンプレート書き換えがし易いように、idにレコードIDを付加しておく-->
  
  <%= user.name %>
  <%= link_to "有効化", activate_users_path, remote: true %> # remote: trueを忘れない

  </div> <!-- user-#{id} -->
<% end %>

users_controller.rb

Class UsersController < ...
...
def activate
  id = params[:id]
  @user = User.find(id) 
  if @user.update(approved: true)
    @message = "保存しました" // インスタンス変数, app/view/users/activate.js.erb及びそこで読み込んだテンプレートで利用可能
  else
     #as you like...
     @message = "保存に失敗しました"
  end
end

アクションに呼応した、js呼び出し用テンプレート users/activate.js.erb

$("#user-<%= @user.id %>").html("<%= j( render('activated_user') ) %>");  // ここで viewのIDが効いてくる セレクタの範囲において、activated_user.html.erbをrender する
$("#flash_messages").html("<%= j( render('shared/alert') ) %>"); // 通知機能「保存しました」

通知

app/view/layout/application.html.erb

<div id="flash_messages">
  <% flash.each do |name, msg| %>
    <div class="alert">
      <a class="close" data-dismiss="alert">x </a>
      <%= msg %>
     </div>
  <% end %>
</div>

viewの書き換え用テンプレート

users/activate.js.erbで呼び出す対象のテンプレート。

users/_activated_user.html.erb

<div id="user-<%= @user.id %>">
有効化されました!
</div>

shared/_notice.html.erb

<div id="flash_messages">

    <div class="alert">
      <a class="close" data-dismiss="alert">x </a>
      <%= @msg %>
     </div>

</div>

Railsの変数をJavaScriptで取得したい(ボクココより)

JavaScriptを書いていると、Railsの変数の値をJavaScriptで使いたい、というパターンが頻出する。これに対応する最も簡単な方法は、"display: none"なスタイルで変数をまとめたHTMLを書くことだ。

<div class="hidden">
  <span id="user_id"><%= @current_user.id %></span>
  <span id="status"><%= @current_user.status %></span>
</div>

//js parseInt($(“#user_id”).text()); ただ、この書き方で注意しなければなら無いのは、 悪意のあるユーザーがこのHTMLの内容を書き換えた後にJavaScriptを実行させる、ということもできてしまう 点にある。そのためRails側にリクエストを投げる時は必ずそのリクエスト内容が正しいかどうか検証するコードをお忘れなく。

参考

http://beck23.hatenablog.com/entry/2014/10/26/002858