会員管理の基盤をkintone中心とした構成に変更
三宝興隆会様は、宗教法人・三宝禅に関わる、または三宝禅に直接管理される全ての活動を支援運営する任意団体です。
宗教法人三宝禅は70年以上前から活動を開始しており、禅の精神を世界に伝えるためにさまざまな活動を行っておられます。
日本を発祥とした団体であり、昨今の世界中への禅の広まりによって、世界各国に会員を抱えておられます。その広がりはアジアだけでなくヨーロッパ諸国にも。
今の人類の悩める状況を禅の精神をあまねく広め、人々の悩みに寄り添う。その意思に賛同した世界各国の会員に向け、会報や書籍などによる活動を展開されておられます。
三宝興隆会様は、三宝禅の会員との会費徴収や連絡などを主な業務としていますが、世界各国に散在する会員との会費徴収に課題を抱えていました。
年会費が原則の会費ですが、途中で入会された方や、退会された方に対する月割りの会費徴収業務の煩雑さ。それが改善を要する課題でした。
会員管理にはMicrosoft Accessで作成したデータベースをお使いでしたが、メンテナンス担当の方が年配になっていたことやクラウド連携の必要性など、今後の保守に不安が生じていました。そこでkintoneの導入を判断されました。
正直にいうと、構築までに難航し、予定よりも時間がかかってしまい、ご迷惑をかけてしまいました。
その反省も踏まえて弊社の事例として投稿したいと思います。
kintoneを中心とした構成
最初にご連絡をいただいたのは2020年の12月です。代表がちょうどCybozu Days 2020 Osakaに登壇するため大阪に出張に行っていた時期だったので記憶に鮮やかです。
ご連絡いただいた時点で、御担当の山田様の脳裏には全体の構成についてのある程度明確な方針が定まっていました。
・kintoneで全世界の会員名簿を管理する。
・WordPressで会員向けページおよび、入金用のページを実装する。
・入金用のページにはStripeを使った決済処理を表示させ、Stripeに処理を任せることで堅固な決済処理を実現する。
あとは会計処理です。それについては弊社より会計freeeをご提案しました。
会員より会費の入金があった場合の仕訳はfreee側に自動的に登録するように実装すれば、会計処理も運用が回るはず。
freeeとStripeはSaaSです。PaaSのkintoneとはRest APIで手軽に連携できるはず。
特にkintoneと親和性の高いfreeeは弊社代表がオンラインハンズオンの講師も務めたことがあり、連携も簡単に実現できるはず。
そこまでできればあとはWordPress内にkintoneから値を表示させ、Stripeの入金画面を表示させるだけで実装は可能。
そう判断して着手しました。
MemberPressとStripeの仕様理解に苦しむ
ところが、これがとても難航しました。
2020年の12月。初めにご連絡をいただいた際、弊社は翌年の1月に初めてのメンバー二人の雇用を控えていました。
二人のメンバーのうち一人がWordPressに明るいとのことだったので、実装を任せることにしました。
まず、つまずいたのはMemberPressの理解です。
WordPressはCMS(Contents Management System)です。
その拡張機能は多岐にわたりますが、MemberPressはその一つです。
会員管理や会費納入状況によるコンテンツの表示制御ができるため、海外では比較的導入実績があるようです。
ところが、MemberPressはあまり国内で使われていなかったのか、日本語のドキュメントが少なく、有用な情報が見つけられません。
そこでまず、そもそもの機能の理解に手間取ってしまいました。機能の説明を一生懸命理解しようと努めましたが、言葉の微妙なニュアンスがくみ取れず、この機能や処理の制御がどのようになっているのかあいまいなままでした。
機能の理解がおぼつかない上に、APIのレファレンスやサンプルもすべて英語です。その微妙な機能の制御の理解がまったく進まず、ただ時間だけが過ぎていきました。
Stripeも弊社にとっては初挑戦です。
Stripeもドキュメントの多くが英語です。レファレンスはまだわかりやすかったのですが、テスト用の環境と本番用の環境が別だったため、環境構築やテストの実施などに紆余曲折がありました。
初めに任せていたメンバーは、頑張って実装に向けた作業を行ってくれました。
WordPressのログイン制御など、MemberPressだけで実現できない部分も実装してくれました。
が、時間はあっという間に過ぎていきます。
そうこうしているうちに、そのメンバーはCybozu Days出展を巡る価値観の違いもあって退職してしまいました。
初めて雇用に踏み切った代表にとっても挫折に苦しんだ時期でした。
メンバー交代で実装が前進する
メンバーの退職の少し前から、開発の遅れは顕著になっていました。
ところが当初の山田様のご要望では、2021年の年末にはリリースしたいとのことでした。その理由は、会費徴収の切り替わりのタイミングです。年末だと切りがよいので、この時までに実装したいとのことでした。
ところが、この時点で実装は間に合わないことが明らかでした。
そこで、弊社に専任で関わってもらっている技術顧問に実装に入ってもらいました。
そして、11月末でメンバーが退職してからは、弊社の技術顧問がバリバリと実装を進めてくれました。
引き継いだ時点で退職したメンバーががんばって仕様の理解を進めてくれていました。それもあって、MemberPressやStripeの仕様の理解も進み、実装のめどがみえました。
さらにはWordPressに表示する文字列もシステムによって切り替える部分を簡単に切り替えられるような仕組みも実装できました。
ただし、年末には間に合わず、運用は後回しをお願いしました。
ご迷惑をお掛けしてしまいました。
なお、kintoneについては早い時期に実装は終えており、
こちらについてはあまり修正の必要がありませんでした。
この時、WordPressのデータベースを使わずにkintoneを使う実装にしていたことが、
データベースを整備する手間を省いてくれました。
会費のほかにも寄付金の入金もできるように
連携のほとんどはphpを使っています。
kintoneで処理が行われればWebhookでMemberPress(=WordPress)にユーザーを作成すると同時に、Stripeにもアカウントを作成し、さらにfreeeの取引先にもデータを追加します。
WordPress内で入金処理が行われれば、StripeのWebhookを通してfreeeに仕訳登録の処理を行い、kintoneにもその旨の情報を更新します。
それらの仕組みのほとんどは2021年の年末までに実装にめどをつけ、年明けからテストに入りました。
その結果、2月頭には本番環境にプログラムをリリースできました。
なお、山田様と弊社のやりとりは全てオンラインで完結しました。一度もお会いしていません。コロナの中だからこそ、このような複雑な実装がオンラインだけで実現できたことでも
印象に残っています。
結果、今回の一連の仕組みについては、
このような連携となっています。
その後、追加で機能の拡充のご要望もいただきました。
会費だけでなく、任意の金額の寄付金も入金できるようにする機能です。
そちらも無事に納品ができました。
とはいえ、反省点は無数にあります。
今回の遅れについてはメンバーのアサインや指導方法など、ありとあらゆるところで代表である私に非があります。
任せるべきところとフォローすべきところのツボがずれていたこと、英語のドキュメントを通した仕様理解についての見通しが甘かったことです。
あらためて、遅れてしまったことについては三宝興隆会様にはおわびします。
そして、それにもかかわらず事例記事のアップのご快諾をいただいたことに感謝を申しあげます。ありがとうございました。
今後の展開
これからも会費徴収や税処理、経理処理にあたっての国の制度変更もあり、
改修は発生するとみています。
まずは、現時点で運用に乗っていることに油断せずに行きたいと思います。
そして、弊社にとっても貴重な経験値が得られた結果を無駄にせぬよう、
StripeやMemberPressとkintoneやfreeeとの連携に向けたご要望に対応できるようにしたいと思います。
まとめ
弊社にとって三宝興隆会様はkintoneとStripeやMemberPressの連携など、英語ドキュメントとの戦いでした。これはとても貴重な経験値となりました。それもあってとても印象に残っています。
まずは今後の運用も油断せずにいきたいと考えています。ありがとうございました。
三宝興隆会様のご紹介
名前 | 三宝興隆会 |
---|---|
ウェブサイト | http://www.sanbo-zen.org/ |