SlideShare a Scribd company logo
1 of 67
帳票も今や HTML でつくる時代!?
日本の税理士を支える
サーバーレス帳票基盤
アカウンティング・サース・ジャパン株式会社
土田 拓也
自己紹介
土田 拓也 @takuya0301
プロダクト開発グループ
デザイングループ
グループリーダー
組織デザイン、システムデザイン、
UXデザイン、読書、バイオリン
帳票?
帳票=帳簿+伝票
帳票といえば紙
質問:
本を読むなら……
電子派? 紙派?
個人的には両方派
閑話休題
帳票=帳簿+伝票
帳簿と伝票
といえば
会計
https://www.a-saas.com
税理士向け
税理士の仕事?
税務顧問
財務顧問
経営顧問
会計情報
月 次 報 告 書
社長!
今月いいですね!
紙による
顧客体験
帳票印刷を
クラウドへ
Java による開発
JasperReports
LaTeX
その他商用製品
L字……
HTML
CSS
ブラウザー
で頑張る!
約70%……
微妙な
対応状況……
Chrome は
ある程度
対応してる
サーバーで
生成しよう
Headless
Chrome
Puppeteer
スーパー
ルーキー
青山さん
全力で
丸投げ
+ +
大成功!
でも……
変換遅い問題
500ページ
変換時間
数分……
スケールアウト
費用対
効果×
サーバー
レスに
しよう!
費用対
効果○
@serverless
-chrome
/lambda
50MB 制限
ギリギリ
クリア
□□□□□□□□
日本語が
出ない
>>> 50MB+
Noto Sans
CJK
Lambda
に乗ら
ない
250
MB
解決!
サーバーレス
帳票基盤
完成!!
Public subnet Private subnet
AWS Cloud
AWS Lambda
Splitter
AWS Lambda
Converter
AWS Lambda
Merger
Amazon Simple Storage
Service (S3)
Output
Amazon API Gateway
Endpoint
Amazon CloudFront
Elastic Load Balancing
Browser
Client
Print request
POST <Endpoint>
Payload: <HTML>
202 Accepted
Location: <URL>
Amazon Elastic Container
Service
Some services
GET <URL>
PDF
HTML
ParallelizePDF (partial)
たくさんの
HTML 帳票
新印刷チーム
紙による
顧客体験
柔軟な
HTML
帳票
Public subnet Private subnet
AWS Cloud
AWS Lambda
Splitter
AWS Lambda
Converter
AWS Lambda
Merger
Amazon Simple Storage
Service (S3)
Output
Amazon API Gateway
Endpoint
Amazon CloudFront
Elastic Load Balancing
Browser
Client
Print request
POST <Endpoint>
Payload: <HTML>
202 Accepted
Location: <URL>
Amazon Elastic Container
Service
Some services
GET <URL>
PDF
HTML
ParallelizePDF (partial)
HTML to PDF
サーバーレス
帳票基盤
We are Hiring!!
https://www.a-saas.com/recruit/

More Related Content

Similar to 帳票も今や HTML でつくる時代!?日本の税理士を支えるサーバーレス帳票基盤

龍土町コンサルティンググループ・サービス紹介
龍土町コンサルティンググループ・サービス紹介龍土町コンサルティンググループ・サービス紹介
龍土町コンサルティンググループ・サービス紹介BRANDIAme
 
アマノ社労士向けセミナープレゼン資料
アマノ社労士向けセミナープレゼン資料アマノ社労士向けセミナープレゼン資料
アマノ社労士向けセミナープレゼン資料dmanage
 
会計freeeを使う人のための会計と業務設計の正しい考え方20190413
会計freeeを使う人のための会計と業務設計の正しい考え方20190413会計freeeを使う人のための会計と業務設計の正しい考え方20190413
会計freeeを使う人のための会計と業務設計の正しい考え方20190413shin tanaka
 
Skeleton Cart for All Web Designer
Skeleton Cart for All Web DesignerSkeleton Cart for All Web Designer
Skeleton Cart for All Web DesignerYasufumi Nishiyama
 
Contents Player サイト運営書test
Contents Player サイト運営書testContents Player サイト運営書test
Contents Player サイト運営書testWakako Niwa
 
Contents Player サイト運営書Test
Contents Player サイト運営書TestContents Player サイト運営書Test
Contents Player サイト運営書TestWakako Niwa
 
Arcuss Japan CRM 事業紹介
Arcuss Japan CRM 事業紹介Arcuss Japan CRM 事業紹介
Arcuss Japan CRM 事業紹介Nobuaki Matsubara
 
BSPL_bizseminar_2022_v1.pdf
BSPL_bizseminar_2022_v1.pdfBSPL_bizseminar_2022_v1.pdf
BSPL_bizseminar_2022_v1.pdfbizhousejp
 
売上管理 業務改善
売上管理 業務改善売上管理 業務改善
売上管理 業務改善SakiTakagi
 
杉並診断士会向けKintoneご紹介コンテンツr2
杉並診断士会向けKintoneご紹介コンテンツr2杉並診断士会向けKintoneご紹介コンテンツr2
杉並診断士会向けKintoneご紹介コンテンツr2junji kumooka
 
PlusAIでRPAによる業務の自動化範囲を拡大
PlusAIでRPAによる業務の自動化範囲を拡大PlusAIでRPAによる業務の自動化範囲を拡大
PlusAIでRPAによる業務の自動化範囲を拡大Akimitsu Takagi
 
財管一致について~財務会計と管理会計の関係性~
財管一致について~財務会計と管理会計の関係性~財管一致について~財務会計と管理会計の関係性~
財管一致について~財務会計と管理会計の関係性~啓 杉本
 
freee tech night #3「複数の業務ドメインにまたがった機能開発における苦悩」
freee tech night #3「複数の業務ドメインにまたがった機能開発における苦悩」freee tech night #3「複数の業務ドメインにまたがった機能開発における苦悩」
freee tech night #3「複数の業務ドメインにまたがった機能開発における苦悩」Yuya Fujisaki
 
起業体験プログラム2014(会計)20140501
起業体験プログラム2014(会計)20140501起業体験プログラム2014(会計)20140501
起業体験プログラム2014(会計)20140501ShinagawaJ
 
Let'sStartServiceDesign
Let'sStartServiceDesignLet'sStartServiceDesign
Let'sStartServiceDesignYuxio tech
 
IT業界理解お助け資料V2.0
IT業界理解お助け資料V2.0IT業界理解お助け資料V2.0
IT業界理解お助け資料V2.0Jun Chiba
 
セミナー 税理士事務所It2015浦和.key
セミナー 税理士事務所It2015浦和.keyセミナー 税理士事務所It2015浦和.key
セミナー 税理士事務所It2015浦和.keyYoichi Inoue
 
顧問エンジニアというロールを作りたい
顧問エンジニアというロールを作りたい顧問エンジニアというロールを作りたい
顧問エンジニアというロールを作りたいMichitaka Yumoto
 
Microsoft Teams無償版 調査レポート
Microsoft Teams無償版 調査レポートMicrosoft Teams無償版 調査レポート
Microsoft Teams無償版 調査レポート高見 知英
 

Similar to 帳票も今や HTML でつくる時代!?日本の税理士を支えるサーバーレス帳票基盤 (20)

龍土町コンサルティンググループ・サービス紹介
龍土町コンサルティンググループ・サービス紹介龍土町コンサルティンググループ・サービス紹介
龍土町コンサルティンググループ・サービス紹介
 
アマノ社労士向けセミナープレゼン資料
アマノ社労士向けセミナープレゼン資料アマノ社労士向けセミナープレゼン資料
アマノ社労士向けセミナープレゼン資料
 
会計freeeを使う人のための会計と業務設計の正しい考え方20190413
会計freeeを使う人のための会計と業務設計の正しい考え方20190413会計freeeを使う人のための会計と業務設計の正しい考え方20190413
会計freeeを使う人のための会計と業務設計の正しい考え方20190413
 
Skeleton Cart for All Web Designer
Skeleton Cart for All Web DesignerSkeleton Cart for All Web Designer
Skeleton Cart for All Web Designer
 
Contents Player サイト運営書test
Contents Player サイト運営書testContents Player サイト運営書test
Contents Player サイト運営書test
 
Contents Player サイト運営書Test
Contents Player サイト運営書TestContents Player サイト運営書Test
Contents Player サイト運営書Test
 
Arcuss Japan CRM 事業紹介
Arcuss Japan CRM 事業紹介Arcuss Japan CRM 事業紹介
Arcuss Japan CRM 事業紹介
 
BSPL_bizseminar_2022_v1.pdf
BSPL_bizseminar_2022_v1.pdfBSPL_bizseminar_2022_v1.pdf
BSPL_bizseminar_2022_v1.pdf
 
売上管理 業務改善
売上管理 業務改善売上管理 業務改善
売上管理 業務改善
 
杉並診断士会向けKintoneご紹介コンテンツr2
杉並診断士会向けKintoneご紹介コンテンツr2杉並診断士会向けKintoneご紹介コンテンツr2
杉並診断士会向けKintoneご紹介コンテンツr2
 
FA-slide(AI)_202208.pdf
FA-slide(AI)_202208.pdfFA-slide(AI)_202208.pdf
FA-slide(AI)_202208.pdf
 
PlusAIでRPAによる業務の自動化範囲を拡大
PlusAIでRPAによる業務の自動化範囲を拡大PlusAIでRPAによる業務の自動化範囲を拡大
PlusAIでRPAによる業務の自動化範囲を拡大
 
財管一致について~財務会計と管理会計の関係性~
財管一致について~財務会計と管理会計の関係性~財管一致について~財務会計と管理会計の関係性~
財管一致について~財務会計と管理会計の関係性~
 
freee tech night #3「複数の業務ドメインにまたがった機能開発における苦悩」
freee tech night #3「複数の業務ドメインにまたがった機能開発における苦悩」freee tech night #3「複数の業務ドメインにまたがった機能開発における苦悩」
freee tech night #3「複数の業務ドメインにまたがった機能開発における苦悩」
 
起業体験プログラム2014(会計)20140501
起業体験プログラム2014(会計)20140501起業体験プログラム2014(会計)20140501
起業体験プログラム2014(会計)20140501
 
Let'sStartServiceDesign
Let'sStartServiceDesignLet'sStartServiceDesign
Let'sStartServiceDesign
 
IT業界理解お助け資料V2.0
IT業界理解お助け資料V2.0IT業界理解お助け資料V2.0
IT業界理解お助け資料V2.0
 
セミナー 税理士事務所It2015浦和.key
セミナー 税理士事務所It2015浦和.keyセミナー 税理士事務所It2015浦和.key
セミナー 税理士事務所It2015浦和.key
 
顧問エンジニアというロールを作りたい
顧問エンジニアというロールを作りたい顧問エンジニアというロールを作りたい
顧問エンジニアというロールを作りたい
 
Microsoft Teams無償版 調査レポート
Microsoft Teams無償版 調査レポートMicrosoft Teams無償版 調査レポート
Microsoft Teams無償版 調査レポート
 

More from Takuya Tsuchida

Mikatus エンジニアの成長戦略
Mikatus エンジニアの成長戦略Mikatus エンジニアの成長戦略
Mikatus エンジニアの成長戦略Takuya Tsuchida
 
コンポーネントアプローチによるソフトウェア開発の俊敏性と品質向上の実現~カスタマーショーケース
コンポーネントアプローチによるソフトウェア開発の俊敏性と品質向上の実現~カスタマーショーケースコンポーネントアプローチによるソフトウェア開発の俊敏性と品質向上の実現~カスタマーショーケース
コンポーネントアプローチによるソフトウェア開発の俊敏性と品質向上の実現~カスタマーショーケースTakuya Tsuchida
 
Essential Scala 第5章 シーケンス処理
Essential Scala 第5章 シーケンス処理Essential Scala 第5章 シーケンス処理
Essential Scala 第5章 シーケンス処理Takuya Tsuchida
 
Essential Scala 第4章 トレイトによるデータモデリング
Essential Scala 第4章 トレイトによるデータモデリングEssential Scala 第4章 トレイトによるデータモデリング
Essential Scala 第4章 トレイトによるデータモデリングTakuya Tsuchida
 
Essential Scala 第3章 オブジェクトとクラス
Essential Scala 第3章 オブジェクトとクラス Essential Scala 第3章 オブジェクトとクラス
Essential Scala 第3章 オブジェクトとクラス Takuya Tsuchida
 
Essential Scala 第2章 式、型、値
Essential Scala 第2章 式、型、値Essential Scala 第2章 式、型、値
Essential Scala 第2章 式、型、値Takuya Tsuchida
 
youtube-dl に Pull Request 送ったった
youtube-dl に Pull Request 送ったったyoutube-dl に Pull Request 送ったった
youtube-dl に Pull Request 送ったったTakuya Tsuchida
 
Waze Map Editor クイックスタートガイド
Waze Map Editor クイックスタートガイドWaze Map Editor クイックスタートガイド
Waze Map Editor クイックスタートガイドTakuya Tsuchida
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaTakuya Tsuchida
 

More from Takuya Tsuchida (9)

Mikatus エンジニアの成長戦略
Mikatus エンジニアの成長戦略Mikatus エンジニアの成長戦略
Mikatus エンジニアの成長戦略
 
コンポーネントアプローチによるソフトウェア開発の俊敏性と品質向上の実現~カスタマーショーケース
コンポーネントアプローチによるソフトウェア開発の俊敏性と品質向上の実現~カスタマーショーケースコンポーネントアプローチによるソフトウェア開発の俊敏性と品質向上の実現~カスタマーショーケース
コンポーネントアプローチによるソフトウェア開発の俊敏性と品質向上の実現~カスタマーショーケース
 
Essential Scala 第5章 シーケンス処理
Essential Scala 第5章 シーケンス処理Essential Scala 第5章 シーケンス処理
Essential Scala 第5章 シーケンス処理
 
Essential Scala 第4章 トレイトによるデータモデリング
Essential Scala 第4章 トレイトによるデータモデリングEssential Scala 第4章 トレイトによるデータモデリング
Essential Scala 第4章 トレイトによるデータモデリング
 
Essential Scala 第3章 オブジェクトとクラス
Essential Scala 第3章 オブジェクトとクラス Essential Scala 第3章 オブジェクトとクラス
Essential Scala 第3章 オブジェクトとクラス
 
Essential Scala 第2章 式、型、値
Essential Scala 第2章 式、型、値Essential Scala 第2章 式、型、値
Essential Scala 第2章 式、型、値
 
youtube-dl に Pull Request 送ったった
youtube-dl に Pull Request 送ったったyoutube-dl に Pull Request 送ったった
youtube-dl に Pull Request 送ったった
 
Waze Map Editor クイックスタートガイド
Waze Map Editor クイックスタートガイドWaze Map Editor クイックスタートガイド
Waze Map Editor クイックスタートガイド
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 

Recently uploaded

LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルCRI Japan, Inc.
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計atsushi061452
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。iPride Co., Ltd.
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用KLab Inc. / Tech
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdkokinagano2
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルCRI Japan, Inc.
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperleger Tokyo Meetup
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfTakayuki Nakayama
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 

Recently uploaded (14)

LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 

帳票も今や HTML でつくる時代!?日本の税理士を支えるサーバーレス帳票基盤

Editor's Notes

  1. 「帳票も今や HTML でつくる時代!?日本の税理士を支えるサーバーレス帳票基盤」と題しまして、アカウンティング・サース・ジャパンの土田が発表させていただきます。
  2. はじめに簡単に自己紹介をさせてください。会計事務所向けのクラウド会計システムを開発している会社で、エンジニアの所属するプロダクト開発グループとデザイナーの所属するデザイングループのグループリーダーをしています。組織デザインやシステムデザイン、UXデザインなどデザイン全般に興味があります。読書とバイオリンが趣味です。自己紹介は簡単に済ませまして、さっそく本題に入っていきたいと思います。
  3. 今日のテーマは帳票です。突然ですがみなさん「帳票」の語源ってご存知ですか?わりと新しい言葉のようで、システムを開発されているような会社の用語であるイメージですよね。
  4. 実は帳票というのは「帳簿」と「伝票」をまとめた言葉になります。帳簿の帳と伝票の票を合わせたという言葉のようです。
  5. そんな帳票といえば、紙のものをイメージされるんではないでしょうか。もちろん、帳票を PDF で生成してそのまま見たりもしますが、最終的には印刷して紙になることを想定して A4 であったり A3 であったりのサイズで作成します。ところでみなさん紙好きですか?w
  6. ちょっと質問です。みなさん、本を読むなら
  7. 電子書籍がいいですか?それとも紙書籍がいいですか?ちょっとどっち派か手を上げてもらってもいいでしょうか。本を読むとき電子派の人!手を上げてください!ありがとうございます。手を下ろしていただいて大丈夫です。やはり最近は電子書籍派の人が多いですね。まあ、なんてったって X-Tech JAWS ですからね。電子書籍便利ですよね。テクノロジーの賜物です。じゃ、紙派の人!おー、紙派も結構いますね。紙で読みたいという人も多いですよね。
  8. ちなみに、僕個人的には両方派ですwいけてる本はどっちも買います。洋書は辞書がひきやすいので電子書籍が多いです。ビジネス書は人に貸しやすいので紙が多いです。あと机に置いておくと頭良さそうに見えるじゃないですかwww電子書籍は机の上に置いておけないですよね!まずは、紙にも有効活用の場所があるということを頭の片隅に置いておいてください。
  9. 【3分】さて話を戻しましょう。
  10. 【3分】先ほど申し上げたとおり、帳票は帳簿と伝票です。様々な業界で使われる言葉ですが、
  11. 【3分】帳簿と伝票といえば会計業界です。会計の帳簿と言えば出納帳や総勘定元帳などがありますし、伝票と言えば振替伝票や出金伝票などがあります。後ろの写真はアナログな紙の会計に関わる帳票なんですが、そういう帳票をデジタルで提供しているのが会計システムです。
  12. 弊社、アカウンティング・サース・ジャパンは、「税理士のみなさまにとって、なくてはならない存在として」というミッションを掲げ、パッケージソフトウェアではなくクラウドで税務・会計・給与システムを会計事務所に提供している会社です。
  13. アカウンティング・サース・ジャパンのビジネスモデルをこちらのスライドに掲載しています。下にある弊社アカウンティング・サース・ジャパンが税理士のみなさまの普段の業務を支えるサービスを提供しています。また、税理士さんが所属している会計事務所は、中小企業や個人事業主に向けてサービス提供をしておりまして、経営に寄り添ったり、悩みや課題を解決するなどのサポートをしています。弊社は、税理士さんが提供するサービスも含めて、支えるようなサービスを展開している会社です。具体的なサービスとしてクラウド税務・会計・給与システム A-SaaS があります。
  14. それは、このような画面のシステムです。画面だけだと使い方をイメージしづらいかもしれませんが、雰囲気が伝わればと思います。この画面は、税務・会計・給与システムの中の税務システムの画面です。何百と画面がある中のひとつで所得税の確定申告書を作成するための画面です。確定申告をご自身でされたことはありますか?ある方は手を上げてみてください。おっ、ちらほらいらっしゃいますね。ありがとうございます。手を下ろしてください。この確定申告をご自身ではなく誰かにやってもらう場合、税理士さんにお願いしなければなりません。税理士の独占業務になるので、資格を持たない人が代わりにやってしまうと法律に触れるからです。
  15. そんな税理士さんに向けて弊社はシステムを提供しております。ここが特徴的なところで、中小企業のみなさまではなく、税務プロフェッショナルである税理士のみなさまがお客様となっています。
  16. さて、みなさん、改めて税理士の仕事内容をご存知でしょうか?先ほど確定申告の代行は税理士さんにお願いしなければならないとお話しさせていただきました。
  17. 弊社では税理士の仕事を3つに分類しています。それぞれ「税務顧問」「財務顧問」「経営顧問」と呼んでいます。「税務顧問」は先ほどの確定申告の代行や税金の相談などで税理士の独占業務にあたる仕事です。「財務顧問」は資金繰りの相談などで、「このままだと資金がなくなってしまうので銀行に融資の相談に行かないとならないですね」なんてことを社長さんと話し合うような仕事です。「経営顧問」は経営のコンサルティングに近い領域になってきまして、レストラン経営の社長から「もう1店舗出店しようと思ってるんだよね」なんて相談を受けたときに、「いやいや、新しい店舗を出すとこれだけ人件費がかかって逆に苦しくなりますよ。むしろこの店舗のデッドスペースにテーブルを置いて、売り上げ向上を狙っていってはどうですか?」みたいな経営についての相談に乗る仕事です。
  18. いずれの仕事を税理士として行うとしても大事になってくるのは日々の取引を記録した会計の情報です。中小企業の経営状態はこの会計情報から見てとることができます。
  19. 【6分】一例ですが、会計情報からこのような報告書を作成してですね。毎月、社長さんのところを訪問するわけです。
  20. 【6分】今月の「会社の経営状況はいいですね」なんて話をするんです。その上で、「税金対策しないとですね」という税務顧問や「このままだと黒字倒産しちゃうので融資を受けましょう」という財務顧問、「この余剰資金を今後どのように使っていきますか?」という経営顧問に活かしていくわけです。そんな顧問をするときに、資料は紙でお見せすることが多いんですね。なぜかというと、
  21. 【6分】中小企業さんには WiFi がないことがあるからです。いまどきそんなことあるの!?と思われるかもしれませんが普通にあります。まあ、テザリングしたらいいじゃないかという話もありますが、テザリングしたとしても……
  22. A4縦サイズの資料ですら横長の画面では見づらいのです。ほとんど PC を使わない社長さんも多いのでデータで渡すより、紙で渡す方がよかったりするのです。そういうこともあり、税理士さんにとって紙の資料も商売道具のひとつであり、大切な商品とも言えるのです。
  23. 電子書籍と紙書籍の話にもつながってきますが、顧客体験として紙が優れている場合もまだまだあります。私たちとしては、税理士のみなさまが紙で顧問先のみなさまと会話する以上、紙の上での顧客体験も大切にしていかなければなりません。
  24. なのでアカウンティング・サース・ジャパンでは、このように帳票の美しさにもこだわって帳票を開発してきました。
  25. こちらも帳票のサンプルです。綺麗にまとめるように意識してデザインしてきました。しかし、その帳票開発に転機が訪れました。
  26. Adobe AIR の Adobe によるサポート終了です。これまでは Adobe AIR を使用したクライアントアプリケーションで帳票を生成していました。しかし今後は Adobe AIR を使用するわけにはいかなくなってきました。そこで、ブラウザーで動作するシングル・ページ・アプリケーションに移行していくことになりました。
  27. つまり、完全にクライアント側で実現していた帳票印刷をクラウド側に持ってくるということになります。具体的には帳票をサーバーサイドで PDF として出力する機能が求められたわけです。
  28. 弊社は多くのプロジェクトの開発言語として Java を使用しています。なので、エンタープライズで使用されるような帳票開発ツールとは仲良しです。例えば、この画面はオープンソースの JasperReports の帳票開発画面です。しかし、会計の帳票には独特の表現も多く一筋縄ではいきませんでした。例えば、苦労した試算表はこんな帳票です。
  29. 「負債の部」のような縦書きもありますし、四角で囲んでいる「買掛金」「未払金」というような均等割付けもあります。「株主資本」のところのようにL字になっている部分もあります。これを JasperReports で実現しようとしたのですが、現実的な実現方法は見付かりませんでした。
  30. JasperReports や LaTeX、その他商用製品なども試させてもらいましたが、いずれを用いても簡単には実現できなさそうでした。また、それぞれの帳票開発ツールを使いこなすための学習コストも無視できない問題でした。そのため、いい感じの解決策が見付からずほんと写真のような感じで顔に手をあてて悩んでいました。
  31. そんな中、写真のように瞑想するくらいぼーっとL字を眺めてたときに閃いたんです。
  32. HTML のテーブルならなんとかなるよなーと思ったんですね。それで、もう HTML で帳票つくれんじゃね?ってなったわけです。HTML と CSS で何とかなるだろと。
  33. シングルページアプリケーションが動作しているブラウザー側で HTML 帳票表示して印刷したらいいんじゃないかなと。なんてったて CSS 2 の頃から印刷用の CSS ってあるんですよ!知ってました?きっと最近のブラウザーならサポートしているはずっと思って、Can I Use で調べました!
  34. うん、……緑以外の方が多いですね……黄緑、赤、グレー……。全部緑を期待してたんですけどね。最近のブラウザーは標準に則ってるって信じてたのに!
  35. せいぜいサポート状況としては70%程度……。
  36. とっても微妙な対応状況です。ちょっとクライアントとしてのブラウザーで印刷するのは微妙かなーというのはわかってきました。でもねっ、
  37. ただ、Chrome はある程度対応してるんですよね。簡単には諦めません。
  38. Chrome に HTML 帳票を読み込ませてサーバー側で生成しようと思い立ちました。
  39. 【12分】ちょうどいいことに、Headless Chrome があるので CUI 環境で HTML 帳票をレンダリングして、PDF として出力することが可能なはずです。
  40. 【12分】また、それを制御する便利な Google 公式ライブラリ Puppeteer もありました。それを使えばきっと PDF 生成をサーバー側でできるはずと。自分で書く暇がなかったので、そこらへんを歩いているエンジニアをむんずと掴まえました。
  41. 【12分】スーパールーキーの青山さん。ざっくり概要を説明して、ほんと今日のスライドよりたぶん説明してないくらいざっくり説明してwww
  42. この写真並みに全力で丸投げしました。そしたら
  43. Node.js、Puppeteer、Google Chrome でサクっと実現してくれて、HTML を渡したら PDF に無事に変換できました!
  44. もう大成功です!
  45. でも……
  46. 変換がめちゃくちゃ遅いんです。変換遅い問題です。ページ数が多くなると段々と重くなっていきます。数ページの変換でも数秒かかるのですが、
  47. 500ページになると最早分単位です。どうしようって思ったんですが、こうなったらクラウドによる力技の出番です。
  48. スケールアウトです。これで解決するぞっ!と意気込んだのですが、
  49. 【14分】費用対効果としてはイマイチです。そもそも印刷のリクエストのタイミングは未知数です。100ページがくるのか、5ページがくるのかわかりません。とはいえそこそこの性能のサーバーを待たせておくのはあまりにも費用対効果が悪すぎます。それで、ここにいるみなさんはこう思うと思います。
  50. 【14分】そうだ、サーバーレスにしよう!と。Lambda に Headless Chrome 乗せたらいいじゃんとみんな考えるはずです。それが実現できれば、
  51. 【14分】費用対効果は抜群にいいはずです。印刷がリクエストされるたびに Lambda が立ち上がるわけですからね。オンデマンド印刷ですね。
  52. @serverless-chrome/lambda なんて NPM パッケージもあります。これを使用すると Lambda 上で Google Chrome が簡単に動作します。
  53. 通常の Google Chrome は大きいので Lambda のデプロイ制限の 50 MB 以下に圧縮するのが困難なのですが、serverless-chrome は圧縮すると 50 MB を何 MB か下回ります。50 MB 制限もギリギリクリアです。青山さんに Lambda に乗せてよーってお願いしてそれも実現してもらいました。それで、意気揚々と HTML 帳票を放り込んで PDF に変換するわけです。
  54. あれ?文字が出ない。てか、
  55. 日本語が出ない!Lambda 上に日本語フォントがないからですね。ということでオープンな日本語フォントである Noto Sans CJK を放り込みました。
  56. そうすると……当然 50 MB を超えます。日本語フォントはファイルサイズが大きいんです。 この組み合わせだと圧縮しても 50 MB を軽く超過します……。
  57. ええ、これだと Lambda に乗らないよってなりました。どうしたらいいんだ!と思っていたら、ここにはご存知の方も多いかと思いますが、解決策がありまして、実は Lambda は、
  58. S3 経由でデプロイできます。そうすると展開時のサイズが 250 MB 以下であればイケるということがわかりました。この方法で無事に
  59. 【16分】解決!
  60. 【16分】サーバーレス帳票基盤が完成しました!端的に言えば、HTML を突っ込んだら PDF に変換してくれる基盤が完成しました。その完成した基盤の構成図がこちらです。
  61. 【16分】左側のクライアントであるブラウザーから、何らかのサービス、例えば会計であったり請求書発行であったりに印刷リクエストが送信されます。ELB を経由して、ECS 上で稼動している会計や請求書発行のサービスにリクエストが到達します。この中身もかなり細かいサービスに分かれているのですが、いったん ECS のアイコンひとつで表しています。そのサービスが HTML で帳票を生成し、帳票基盤の API Gateway で作成されたエンドポイントに送信します。POST で送信して、非同期に生成されるので 202 Accepted が返却されます。Location ヘッダーを用いて、生成される予定のリソースへの URL を返却しています。この URL は会計や請求書発行などのサービスを経由してブラウザークライアントに戻され、ブラウザークライアントはその URL を別タブで開いて待ちます。もう一度帳票基盤の API Gateway で実現されているエンドポイントに目を転じていただき、その続きを説明しますと、Lambda の Splitter でページ数が多い HTML は分割され、Converter を並列起動してそれぞれに渡されます。各 Converter は HTML の一部分について PDF 変換をし完了したら S3 に保存します。各 Converter は変換が終わるたびに Lambda の Merger を叩き、Merger はすべての変換が終了している場合のみ、分割された PDF をマージして、ひとつの PDF として保存します。S3 の PDF は静的コンテンツとして CloudFront 経由でアクセスできるようになっています。構成図が複雑になるので実際の環境よりは省略して表記してありますが、大枠の構成はこのようになっています。
  62. この基盤によって、たくさんの HTML 帳票を実装することができました。HTML の柔軟性によって様々な帳票を効率良く実装できたということもありますが、
  63. 【17分】帳票作成の経験がない新入社員中心の新印刷チームでも、HTML・CSS を用いた Web アプリケーションの開発経験があれば帳票開発ができ、すぐに帳票を量産できるようになったことが最終的な生産性につながったと思っています。もちろん、HTML 帳票に対する知識はゼロからのスタートなので、本人たちの頑張りなくしては実現できなかったのですが、一般的な帳票ツールではうまくいかなかっただろうなと思います。
  64. 【17分】まとめますと、今日は「紙による顧客体験」が重要な場合もありますというお話をさせていただきました。税理士が中小企業を訪問するときに、紙で情報を伝え、お渡しするということにまだまだ価値がある世の中となっています。これは、ほかの業界でもあり得ることかと思います。最初からスマホだタブレットだと視野を狭めるのではなく、紙による提供ということも含め、広く捉えてサービスを考えてみてはいかがでしょうか。
  65. そして、弊社は「柔軟な HTML 帳票」で「紙による顧客体験」を維持・発展させるという選択を取りました。安定性や速度という意味では、既存の帳票開発ツールに一日の長があると思いますが、既存のエンジニアが持つ技術スタックによって効率的に帳票を開発することができるようになりました。世の中の今後の帳票開発においてのスタンダードになるかもしれないので、ぜひみなさんも HTML 帳票を試してみていただけたらと思います。
  66. その「柔軟な HTML 帳票」を支えているのが、本日のメインテーマである「サーバーレス帳票基盤」です。この基盤なくしては、HTML で作成した帳票を、デザイン崩れなく、ある程度の速度かつ低コストで生成することはできませんでした。弊社におけるサーバーレスシステムはここから始まりました。クラウドの時代だからできた構成だなぁと思うところで、これからもサーバーレスを取り入れたシステム開発をアプリとインフラの垣根なく実現していきたいと思います。
  67. 最後にちょっと宣伝ですが、弊社もエンジニアを絶賛採用中です。アプリとインフラの垣根なくシステムに最適なアーキテクチャを考えられるエンジニアを大募集しております!ご興味ある方はぜひご応募ください。本日はご清聴ありがとうございました!