akkey2357

フォーラムへの返信

  • アバターakkey2357

    回答ありがとうございます。
    承知いたしました。

    最後に1点だけ確認させていただけますでしょうか。
    勘定科目カテゴリーと決算書表示名はユーザに選択させようと思っているため、名称一覧を表示する必要があります。
    決算書表示名の一覧については確認させていただきました通り、Selectablesフォーム用選択項目情報エンドポイントaccount_groupsのnameにて取得可能かと思いますが、勘定科目カテゴリー名はどうやって取得すればよいでしょうか?
    正確には、決算書表示名のみ選択させ、決算書表示名が特定出来たらそれに紐づく勘定科目カテゴリー名を自動的に表示させようとしています。

    特定の決算書表示名に紐づく勘定科目カテゴリーIDはSelectablesフォーム用選択項目情報エンドポイントaccount_groupsのaccount_category_idにて取得可能ですが、そのIDに紐づく名称の取得方法が不明なため、質問させていただきました。

    勘定科目一覧取得APIで返却される項目に勘定科目カテゴリーと勘定科目カテゴリーIDがありますが、ここで取得すればよいかと思ったのですが、例えば勘定科目が1つも属していない勘定科目カテゴリーがあった場合勘定科目一覧取得APIでは確認できないと思ったのでですが、いかがでしょうか?
    もしすべての勘定科目カテゴリーは勘定科目一覧取得APIで返却される情報に含まれるということであればこのAPIを使用しようと考えています。

    ご回答よろしくお願いいたします。

    アバターakkey2357

    お世話になっております。

    御社サイトにログインして勘定科目の登録画面を表示してみたところ、勘定科目のカテゴリーを選択すると決算書表示名(小カテゴリー)の項目には勘定科目のカテゴリーの項目で選択した内容に応じた選択候補一覧が表示されることがわかりました。
    このことから前回質問させていただきました以下の内容で合っているということになるかと思います。

    > それとも、任意の決算書表示名にはaccount_groupsによって紐づいている勘定科目カテゴリーIDがあるので、勘定科目カテゴリーIDには指定した決算書表示名に紐づいている勘定科目カテゴリーIDを指定する必要があるということでしょうか?

    ただ、その場合前回の質問内容の通り決算書表示名が決まれば勘定科目カテゴリーIDは決まると思うのですが、APIのパラメータとしてあえて勘定科目カテゴリーIDも連携する理由は何かありますでしょうか?

    アバターakkey2357

    ご回答ありがとうございます。

    > いえ指定できる項目は限られています。
    > こちらをご確認ください。

    > 相手勘定科目に任意の科目を指定したいのですが、どうすればよいですか?
    具体的には相手勘定科目に設定可能なのはそれぞれ以下通りということで認識合っておりますでしょうか?

    ■収入取引相手勘定科目
    勘定科目一覧の取得用APIで以下のいずれかの条件を満たす勘定科目
    ・account_category(勘定科目カテゴリー)が「他流動資産」「他流動負債」のいずれか。
    ・name(勘定科目名)が「売掛金」「未収入金」「未収収益」のいずれか。

    ■支出取引相手勘定科目
    勘定科目一覧の取得用APIで以下のいずれかの条件を満たす勘定科目
    ・account_category(勘定科目カテゴリー)が「他流動資産」「他流動負債」のいずれか。
    ・name(勘定科目名)が「買掛金」「未払金」「未払費用」「未払消費税」「未払法人税」のいずれか。

    > Selectablesフォーム用選択項目情報エンドポイントで取得できる、
    > account_groups が一覧となります。
    > それそれ指定する値は、
    > account_groups.name
    > account_groups.account_category_id
    > です。
    account_groups.nameとaccount_groups.account_category_idがそれぞれ決算書表示名と勘定科目カテゴリーIDを示していることはわかります。
    ただ、実際にaccount_groupsで一覧を取得してみたところ、nameはユニークになっているようなのですがaccount_category_idが重複しているレコードが結構あり、ユニークではありませんでした。
    つまり、account_groupsは決算書表示名一覧を示すものであって勘定科目カテゴリーID一覧を示すものではありません。
    このことから、決算書表示名がaccount_groupsで取得したname一覧から指定するのはわかるのですが、勘定科目カテゴリーIDがaccount_groupsで取得したaccount_category_id一覧から指定するというのが理解できません。

    account_groupsで取得したaccount_category_id一覧から重複削除する必要があるということでしょうか?
    それとも、任意の決算書表示名にはaccount_groupsによって紐づいている勘定科目カテゴリーIDがあるので、勘定科目カテゴリーIDには指定した決算書表示名に紐づいている勘定科目カテゴリーIDを指定する必要があるということでしょうか?
    上記のいずれかであれば理解できるのですが、前者であればaccount_groupsで取得したaccount_category_id一覧は勘定科目カテゴリーIDの一覧にはなっていないため、別途勘定科目カテゴリーIDの一覧が取得できるAPIが欲しいです。
    後者であれば決算書表示名を指定すれば自動的に勘定科目カテゴリーIDは決まるのでわざわざAPIのパラメータに指定しないで御社システム内部で紐づけてほしいです。

    よろしくお願いします。

    アバターakkey2357

    すみません。
    追加で1点確認させていただけますでしょうか。

    group_name(決算書表示名)とaccount_category_id(勘定科目カテゴリーID)はSelectablesフォーム用選択項目情報エンドポイントaccount_groupsのnameとaccount_category_idで取得可能とありましたので、そこで取得した一覧の中から指定することになると思ったのですが、account_groupsは決算書表示名一覧を取得するエンドポイントであって勘定科目カテゴリー一覧を示すものではないのではないかと思います。(account_groups内のaccount_category_idは特定の決算書表示名に紐づく勘定科目カテゴリーIDを示すものという認識)

    勘定科目カテゴリーの指定候補一覧はどこから取得すればよいのでしょうか?

    アバターakkey2357

    ご回答ありがとうございます。

    >相手勘定科目に設定したい勘定科目のIDをご指定ください。
    >勘定科目IDは勘定科目のGETメソッドを利用して取得お願いします。

    とのことですが、GETメソッドで取得できる勘定科目はすべて指定可能ということでしょうか?

    アバターakkey2357

    ご回答ありがとうございます。

    不具合とのこと承知いたしました。
    ご提案の通り、ひとまず取得後にフィルタリングする手法で対応させていただきます。

    アバターakkey2357

    すみません、訂正です。

    「口座Aについては正しく取得できるのですが、口座Bの場合にも口座Aの明細が取得してしまっているようです。」と説明させていただきましたが、口座IDを指定して明細を取得してもすべての明細が取得されてしまっているようです。
    つまり、口座IDによる絞込みが効いていないような気がしています。

    リファレンス(https://developer.freee.co.jp/docs/accounting/reference#/Wallet%20txns/get_wallet_txns)でも試してみたのですが、同様の結果となりました。
    現在、口座を指定した明細取得は正しく動作していますでしょうか?

    アバターakkey2357

    すみません、試行錯誤していたらいつの間にかできました。
    結局何が原因だったのかよくわからないのですが、、、
    色々とご教示いただきありがとうございました。

    アバターakkey2357

    oassith 様

    ありがとうございます。
    指定するidについては問題ないとのことですね。

    Request URLで指定しているpayment_idが、指定したdeals内に存在するかですが、現状構築している仕組みでは事前に特定の事業所の全取引を取得しており(明細行、決済行も含む)、未決済の取引を選択して実行すると支払残高分の金額で決済登録、決済行を選択して実行すると該当決済の削除、ということをしております。
    また、仕組みはExcel VBAで構築しており、取得した情報を特定のシート内のテーブルに出力して、削除時にはそこからid、payment_idを取得して指定しております。
    動作確認時には全取引情報を取得後、すぐに決済情報を指定して削除処理を実行しておりますので、該当決済が既に削除されている、ということは考えにくいかなと思っています。

    そのため、

    2.既にunsettledにした削除済みのpayments idをどこかで保持していてそれが渡されている

    は考えにくいかなと思っており、

    1.指定したidが正しくなくて、存在しないと言われる

    かなと思っています。
    例えば、idとpayment_idを逆に指定してしまっている等、単純な問題のような気がしていますので、その観点でもう少し調査してみます。

    アバターakkey2357

    oassith様

    先日はご教示いただきありがとうございました。
    無事、PaymentsのPOSTで決済済みにすることができました。
    ただ、誤って決済済みにしてしまった場合に未決済の状態に戻したいのですが、うまくいきません。
    PaymentsのDELETEで行けるかなと思っているのですが、400エラーになってしまいます。
    エラーメッセージとしては「存在しないか既に削除された支払行です。」です。
    DealsのGETで取得した取引IDと決済IDを使用しているため、存在しないということはないと思うのですが。
    具体的には、取引IDはdeals配下のid、決済IDはdeals配下のpayments配下のidを使用しています。
    使用するIDが違うのでしょうか?
    恐れ入りますが、ご教示お願いいたします。

    アバターakkey2357

    oassith様

    ありがとうございます。
    なるほど、PaymentsのPOSTで対応できるんですね。
    試してみます!
    注意点も教えていただきありがとうございます。

    アバターakkey2357

    ご回答ありがとうございます。

    リファレンスは確認させていただいていたのですが、リファレンス上は以下のような構成になっており、メモタグ名は取得できないものと思いましたので、今回質問させていただきました。

    {
    “tags”: [
    {
    “id”: 1,
    “company_id”: 1
    }
    ]
    }

    試しに取得してみたところ、無事メモタグ名を取得することができました。
    お手すきの際にリファレンスを修正していただければと思います。
    「事業所一覧の取得」についても誤りがあるようですので、併せて修正していただければと思います。