見出し画像

『ちゃんと請求書 電子保存』の開発: 課題とその克服の裏側

はじめに

はじめまして、株式会社ココペリ ちゃんとシリーズ開発Grのリーダーをしている松本といいます。 この記事では、先日リリースした「ちゃんと請求書 電子保存」の開発の裏側についてお話しします。ココペリの事業内容や開発組織に興味のある方や、請求書サービスやそれを支える技術に興味のある方はぜひ最後までお読みください。


新機能の概要

『ちゃんと請求書 電子保存』は、2022年1月にリリースされた「ちゃんと請求書」に新機能として帳票の「電子保存」機能が追加されたサービスです。
『ちゃんと請求書』とは、中小企業向け経営支援プラットフォーム『Big Advance』※に加入しているお客様がお申込・ご利用いただける、請求書発行業務をオンラインで行うことができる請求書発行システムです。請求書/納品書/見積書の作成および発行(PDFダウンロード)、入金ステータス管理(レポート)などが主な機能になります。
※『Big Advance』とは、全国の金融機関が連携し、地域の中小企業の成長を支援するプラットフォームです。金融機関の枠を越えたビジネスマッチングから、ホームページ作成、従業員向け福利厚生サービスまで、幅広いサービスを展開しています。
今回リリースした『ちゃんと請求書 電子保存』は、商取引上の帳票発行に加えて、受取帳票を電子保存することが可能になりました。請求書/領収書/その他帳票の電子保存機能や、請求書/領収書/その他帳票の検索機能が主な機能になります。

図1:今回リリースした『ちゃんと請求書 電子保存』の位置づけ

開発を進める上での課題

われわれは「ちゃんと請求書 電子保存」の開発を進めるにあたって、さまざまな課題に直面しました。直面した主な課題とそれをどのように乗り越えたかについてお伝えいたします。

  • リリース日が法令の影響を受ける
    電子帳簿保存法の施行日は法令で決まっているため、逆算しての開発スケジューリングが必要でした。リリース日が決まっている中でQCDをどうコントロールしていくかが重要でした。
    そういった中で、ガントチャートを利用して綿密に進捗を確認しながら、重要機能の開発を優先して開発を進めた結果、納期内でのリリースを達成しました。

  • 要件定義と実装が一部並行になった
    課金周りの仕様で要件定義と実装が並行になってしまい、開発しながら変更が発生した要件を実装していくという難易度の高いプロセスが発生しました。それに対して、リリース前のQAテスト実施日がせまる中でしたが、関係各所と密にコミュニケーションをとって要件を確定しつつ、決まった要件部分から実装を進めることで、QAテスト実施日までに実装を完了させることができました。

  • テストコードとドキュメントの不足
    開発当初の引き継ぎで、テストコードやドキュメントが不十分でした。これらの課題を克服するために下記のアプローチを実施して、今回リリースした機能についてソースコードの品質を一定以上に高めました。

    • 設計書(画面設計書、API設計書、テーブル定義書、内部詳細設計書)のフォーマット化および拡充

    • コーディングルールの策定およびLinter, Formatterの導入

    • テストコードの記述方法の認識合わせと拡充

  • 不十分なログ設計による不具合原因調査の困難化
    不具合が発生した際、原因調査に時間がかかる問題がありました。
    これを解決するために、システム全体のログ設計を行い、必要な情報が迅速に取得できるよう改善しました。ログの設計の詳細は、次の章でご説明します。

新機能の実装詳細

厳しいスケジュールでのリリースでしたが、そんな中でも高品質なサービスをご提供するために工夫したことを何点かご紹介させてください。

  • 差分がひと目でわかる帳票の履歴確認機能
    2024年1月から義務化される電子帳簿保存法の要件を満たすために、請求書などの帳票の訂正・削除履歴を確認できる機能を実装しました。
    操作前と操作後のデータの差分箇所を色付けして表示することで、ひと目で差分がわかるUIを実現しました。
    これにより、履歴の追跡が簡単に、かつ正確に行えるようになりました。

  • ファイルアップロード・表示機能の強化
    大容量のファイル(最大50MB)もスムーズに取り扱えるように処理を工夫しました。 特に大きなPDFファイルのプレビュー表示時の速度を大幅に向上させるため、データの適切なハンドリングやメモリの最適な管理方法を導入しました。
    また、大きなファイルを読み込む際に多少時間がかかる場合でも、プログレスバーを表示させることでストレスの少ないUIを実現しました。これによって、ユーザービリティが一段と高まりました。

  • WEB APIを利用した適格請求書発行事業者の確認機能
    インボイス制度によって、支払い側の税負担が変わることから、取引先企業がインボイスに登録しているかどうかを確認することが重要になりました。本サービスでは、適格請求書発行事業者公表システムのWeb-APIを活用して、インボイスの登録有無を瞬時に確認できるようになりました。

  • 迅速な不具合調査・対応を実現するログ設計
    不具合が発生した際、原因調査に時間がかかる問題がありました。これを解決するために、システム全体のログ設計を行い、必要な情報が迅速に取得できるよう改善しました。
    具体的には、エラー発生時にはsentryおよびSlackにエラーが通知されるようにしました。
    さらに、下記画像の構成でALBやアプリケーション、WEBサーバーのログをS3に保管し、詳細な調査の際に迅速に過去ログを検索できるようにしました。
    ※CloudWatch Logsやその他サービスを使用すればさらに迅速なログの確認は行うことはできますが、コストパフォーマンスを考えて本構成にしています。

図2:『ちゃんと請求書 電子保存』を支えるログ周りのインフラ構成図

リリース後の反応

今回リリースした請求書サービスには多くのポジティブなフィードバックが寄せられました。 以下は、お客様からのフィードバックを一部紹介いたします。

  • UIが一目で理解できるほどわかりやすい

  • これまでExcelで請求管理を一人で行っていたが、このサービスのおかげで請求書の作成専任として一人アサインすることができた

  • 一覧画面のステータス管理機能により、受取った請求書の振込を漏れなくできるようになった

  • 領収書をなくすことなく、しっかりと管理できるようになった

これらの声をいただくことで、私たちのサービスが実際の現場で役立っていることが実感できました。もちろん、ポジティブなフィードバックだけでなく、改善のご要望も寄せられていますが、お客様の声を大切にしていきます。
今後もさらに使いやすく、便利なサービスを目指して進化してまいります。

まとめ

2023年8月にリリースした『ちゃんと請求書 電子保存』の新機能開発について、開発の背景からリリース後の反応までを網羅的にお伝えしました。
開発の過程での課題やその解決策、新機能の詳細やお客様のフィードバックまで一通りご覧頂いて、『ちゃんと請求書 電子保存』の開発の裏側を知っていただけたのではないでしょうか?
特に、厳しいスケジュールの中での開発、技術的な課題の克服を経て、お客様からポジティブなお声をいただけたといった経験は、私たちのチームにとっても大きな学びとなりました。この経験を今後の開発にも活かしていく所存です。
最後に、この記事を最後までお読みいただき、ありがとうございました。
定期的に技術記事を書いていく予定なので、今後とも株式会社ココペリをどうぞよろしくお願いいたします。

ココペリでは、バックエンドはPHP/Laravel, Golang、フロントエンドはTypeScript, Vue, Reactなどの言語・フレームワークを使用して開発しています。
このような環境で一緒に働いていただける方を募集しています。
興味のある方は一度カジュアルにお話させてください。


この記事が気に入ったらサポートをしてみませんか?