請求と入金のテーブルの作成方法(アクセス)

このQ&Aのポイント
  • 見積テーブルと見積明細テーブルを作成し、工事費用や材料仕入れ費用などの情報を管理します。
  • 入金テーブルと入金明細テーブルを作成し、請求金額や入金金額などの情報を管理します。
  • 見積明細テーブルと入金明細テーブルの関係では請求先毎の支払状況を管理するには不十分です。改善するテーブル設計の方法を教えてください。
回答を見る
  • ベストアンサー

請求と入金のテーブルの作成の仕方(アクセス)

ただいま、物件毎の修理の依頼を受けて、その修理工事をしたあと、依頼先に請求する処理のためのテーブルを作っています。 まず、見積テーブル・見積明細テーブルというのを作り、 次に、入金テーブル・入金明細テーブルというのを作りました。 【見積テーブル】 ・見積ID(主Key) ・物件ID *(ExKey) ・工事費用合計(←工事費用テーブルより取得) ・材料仕入れ費用合計(←材料知り入れ費用テーブルより取得) ・会社利益 ・支払方法 ・1回目支払開始日 ・2回目以降の支払日 ・支払回数 【見積明細テーブル】 ・見積明細ID(主Key) ・見積ID(ExKey) ・請求先名 ・請求先毎の請求額 【入金テーブル】 ・入金ID(主Key) ・物件ID * (ExKey) ・請求金額合計 ・入金金額合計 ・差額 ・入金完了日付 【入金明細テーブル】 ・入金明細ID(主Key) ・入金ID(ExKey) ・請求先名 ・入金額 ・入金日 *物件IDとは、工事物件の依頼内容を格納しているテーブルの主キーです。  物件ID : 見積ID = 1: 1 物件ID : 入金ID = 1: 1 の関係です。 このような感じで作りましたが、見積明細テーブルの各請求先毎の支払状況を見る上では、その下の入金明細テーブルでは不十分です。 これをうまく改善するテーブル設計の方法を教えてくだい。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

>請求先から複数の依頼案件にまたがって入金されたりすることもあるので、 >それをシステム設計で自動的に、 >顧客がどの依頼案件の支払なのかを作りこむことは出来ないのでしょうか? もちろん出来るが、絶対に挑戦してはいけない! >つまり、このようなカラムをテーブルに作れば、 >少なくとも請求と入金の日々の記録を付ける事は可能ということでしょうか? 全く、違います。記録するのは、売上と入金のみです。ですから、用意するテーブルは、次のようです。 [得意先台帳] ID・・・・・・・・・1 名前・・・・・・・・鈴木建設 請求締め日・・・・・25日 前月期首繰越額・・・12,000円 前月売上額・・・・・30,000円 前月入金額・・・・・20,000円 前月調節額・・・・・-5,000円 当月期首繰越額・・・17,000円 当月売上額・・・・・20,000円 当月入金額・・・・・20,000円 当月調節額・・・・・-5,000円 得意先別に売上・入金状況を月次で締切・繰越処理した結果を反映する。 課題1、システム起動時得意先別期首設定アプリケーション。 課題2、月次締切・繰越処理アプリケーション。 課題3、先月繰越再処理アプリケーション。 課題4、月次締切レポート。 このように月次締切・繰越処理はバックエンドであるテーブルのテーマではなくフロントエンドであるアプリケーションの役割です。なお、ここに言う締切・繰越処理=請求締切処理ではありません。売上・入金の月次締切処理と請求書管理とは少し目的と内容が違います。 [得意先別売上台帳] ID・・・・・・・・・1 得意先_ID・・・・・・1 年月日・・・・・・・2014/10/10 区分・・・・・・・・0:売上、1=値引、・・・9=調節 金額・・・・・・・・20,000円 摘要・・・・・・・・物件A代金 [得意先別入金台帳] ID・・・・・・・・・1 得意先_ID・・・・・・1 年月日・・・・・・・2014/10/10 区分・・・・・・・・0:入金、1=返金、・・・9=調節 金額・・・・・・・・20,000円 摘要・・・・・・・・物件A代金 さて、これでは見積りテーブルとの関連は皆無。でも、それで良いのです。あくまでも、売上と入金との関係を把握するのが目的。見積りは、あくまでも見積りなんです。そこを関連付けようとすると、永遠に完成できないでしょう。 もう一つ。得意先テーブルには”請求締め日”以外に請求に係わる列が見当たりません(ちょっと、、修正しました)。それは、”請求書発行アプリケーション”さえあれば解決できるからです。もちろん、請求書発行に当たっては、得意先ごとに設定した締め日に沿って請求残、新規売上、新規入金を求める必要があります。ですから、月次の売上や入金を加算・減算して求めてはダメです。請求履歴等は、あえてテーブルに記録しなくても紙媒体で残しておけば良いでしょう。少なくとも、そういった設計で顧客からクレームが出たことはありません。 【お詫び】先の回答の[請求]を[売上]と訂正しました。こっちの方が一般的かと思います。なお、先の回答で示したのは請求書発行アプリケーションのそれです。得意先別売上・入金元帳のそれではありません。 販売管理アプリケーションを開発したのは1996年のこと。ちょっと、記憶が怪しいところがあるかと思いますが、そこはご勘弁を。

superwonderful
質問者

補足

ご回答ありがとうございます。かなり具体的に回答していただき大変ありがたいのですが、私には難易度高く少し混乱気味です。以下、コメント・質問を書かせて頂きますので、お返事をよろしくお願いいたします。m(__)m > >請求先から複数の依頼案件にまたがって入金されたりすることもあるので、 > >それをシステム設計で自動的に、 > >顧客がどの依頼案件の支払なのかを作りこむことは出来ないのでしょうか? > > もちろん出来るが、絶対に挑戦してはいけない! ↑■質問 (1) これに挑戦するとドツボにハマって抜け出せないということでしょうか? > 全く、違います。記録するのは、売上と入金のみです。 > ですから、用意するテーブルは、次のようです。 > > A.[得意先台帳] > > 01,ID・・・・・・・・・1 > 02.名前・・・・・・・・鈴木建設 > 03.請求締め日・・・・・25日 > 04.前月期首繰越額・・・12,000円 > 05.前月売上額・・・・・30,000円 > 06.前月入金額・・・・・20,000円 > 07.前月調節額・・・・・-5,000円 > 08.当月期首繰越額・・・17,000円 > 09.当月売上額・・・・・20,000円 > 10.当月入金額・・・・・20,000円 > 11.当月調節額・・・・・-5,000円 ↑■質問 (2) 「得意先台帳」テーブルは、得意先テーブルのことですか? (3) Aは、親テーブルで、B, Cの各区分毎の締め日までの金額の合計値を自動計算して05, 06, 07, 09, 10, 11にセットしているのですか? (4) Aの04, 08は、自動計算でセットする値ですか? (5) 売上と入金だけを入力しなさいと言うのはどういういみですか?それは後述のB, Cのテーブルの画面で入力するという意味ですか? (6) 07, 11の調節額とは何のためにあるのでしょうか?例えば、ディスカウントをするとか? > 得意先別に売上・入金状況を月次で締切・繰越処理した結果を反映する。 > > 課題1、システム起動時得意先別期首設定アプリケーション。 > 課題2、月次締切・繰越処理アプリケーション。 > 課題3、先月繰越再処理アプリケーション。 > 課題4、月次締切レポート。 > ↑■質問 (7)起動時にする得意先別設定処理とは何ですか? (8)先月繰越再処理とは何ですか? > B.[得意先別売上台帳] > > ID・・・・・・・・・1 > 得意先_ID・・・・・・1 > 年月日・・・・・・・2014/10/10 > 区分・・・・・・・・0:売上、1=値引、・・・9=調節 > 金額・・・・・・・・20,000円 > 摘要・・・・・・・・物件A代金 ↑■質問 (9)区分の2~8はどんな区分がきますか? (10)Bは明細テーブル、Aは親テーブルという意味ですか?   得意先_ID:ID = 1:多ですか? > > C.[得意先別入金台帳] > > ID・・・・・・・・・1 > 得意先_ID・・・・・・1 > 年月日・・・・・・・2014/10/10 > 区分・・・・・・・・0:入金、1=返金、・・・9=調節 > 金額・・・・・・・・20,000円 > 摘要・・・・・・・・物件A代金 ↑■質問 (11) (10)と同じ質問です。得意先_ID:ID = 1:多ですか? (12) (11)が「はい」なら、Cの複数行の締め日までの合計金額がAの入金金額に表示されるという意味ですか? (13) 今年の売上の合計値は、Bの売上額を合計で、今年の入金の合計値は、Cの入金額を合計するで良いですね? > さて、これでは見積りテーブルとの関連は皆無。でも、それで良いのです。 > あくまでも、売上と入金との関係を把握するのが目的。見積りは、あくま > でも見積りなんです。そこを関連付けようとすると、永遠に完成できない > でしょう。 > > もう一つ。得意先テーブルには”請求締め日”以外に請求に係わる列が見当たりませ > ん(ちょっと、、修正しました)。それは、”請求書発行アプリケーション”さえあ > れば解決できるからです。 ↑■質問 (14) 請求書発行アプリケーションってなんですか?どんな事をするのですか? > もちろん、請求書発行に当たっては、得意先ごとに設定した締め日に沿って > 請求残、新規売上、新規入金を求める必要があります。ですから、月次の売上 > や入金を加算・減算して求めてはダメです。 ↑■質問 (15) すみません。これだけの説明では良く意味がわかりませんので、ご面倒かと思いますが、具体的にご説明して頂けると大変助かります。

その他の回答 (9)

回答No.10

途中から失礼します。 >請求先から複数の依頼案件にまたがって入金されたりすることもあるので、 >それをシステム設計で自動的に、 >顧客がどの依頼案件の支払なのかを作りこむことは出来ないのでしょうか? ここの部分だけですが、件数が少ない(5件とか)場合は なんとかなる場合もあります。 が、 実体験から、 1・条件を満たす複数の組み合わせが出来る場合が多い。 2・件数が多いと時間が掛かりすぎて無理。2のn乗の組み合わせから探すことに、nは件数。 (出来たとしても1の問題があります) 3・振込手数料の問題 (通常は手数料を振込元が負担していたがタマに手数料を差し引いた額になる) (経由する金融機関次第で手数料が変わる。) (普段は都銀→都銀、タマに「じゃアタシがついでに振り込んどくね」で信金→都銀) 4・消費税の演算(誤差)の解釈の違いから1円差でヒットしない、切り上げ・四捨五入とか。 5・その他、作業・納品などに問題があって・・等々などなどナドナドで無理でした。 で、 請求書には一意の番号を、 請求書の中の明細も全てを通じて一意の番号となるようにしておきます。 入金額に疑問がある場合には先方の経理担当に電話して どの請求書番号(請求明細番号)についての入金なのかを確認していました。 しっかりした経理なら応えてくれるはずです。 非常にアナログ的ですが、消しこんでゆく方法は他に無いのでは?と思います。

superwonderful
質問者

お礼

ご回答ありがとうございます。 上の補足の質問は、最初の質問から本題がそれてきた内容になっていますので、新しい質問でアップさせて頂きました。 こちらについては、現在は会社で手作業でエクセルを使いながらご指摘の作業をしています。 恐らく、当座はこのやり方をしていくと思いますが、なんとか先では入金・出金ぐらいはアクセスで管理出来るようなものを作りたいです。 >請求書には一意の番号を、 >請求書の中の明細も全てを通じて一意の番号となるようにしておきます。 >入金額に疑問がある場合には先方の経理担当に電話して >どの請求書番号(請求明細番号)についての入金なのかを確認していました。 >しっかりした経理なら応えてくれるはずです。 >非常にアナログ的ですが、消しこんでゆく方法は他に無いのでは?と思います。 どうもありがとうございました。

superwonderful
質問者

補足

ご説明ありがとうございます。 工事の依頼で依頼No作成(一意)→見積で複数枚→請求先が複数→入金と支払の管理の場合 弊社が作成する見積の相手先は、 (1)不動産業者、 (2)建物のオーナー、 (3)入居者、 (4)保険会社などです。 また、工事に対する材料の発注・支払があり、 下請け会社に工事の依頼もしますので、その下請けからの見積の金額も登録しなくはいけません。 入金と支払の管理は、先ほどの「f_a_007」さんのご説明でなんとなくわかりかけていますので、実際に作ってからまた質問するという手もあるかと思いますが、 ・依頼 ・見積 ・材料発注 ・下請け会社の管理 の部分も考えなくてはいけません。 【依頼テーブル】依頼NO 【見積親テーブル】見積親NO 【見積子テーブル】見積子NO この場合の見積親テーブルには 【見積親テーブル】 ・見積No. ・依頼No. ・見積作成日付 ・(a)不動産見積額合計 ・(b)オーナー見積額合計 ・(c)入居者見積額合計 ・(d)保険会社見積額合計 ・(e)部材発注合計 ・(f)下請会社見積合計 明細テーブルは、上の(a)~(f)のそれぞれに対して、別々の明細テーブルを作成し、それらの親テーブルは「見積親テーブル」一個を使うという感じの方がよろしいでしょうか? または、(a)~(f)のそれそれに対する親テーブルを作り、その各親テープルの情報から合計金額を見積親テーブルに設定するような仕組みを作るのがいいのでしょうか? 分からないことが多くて質問もあれこれとしてしまいまして、すみません。 以上、よろしくお願いします。

回答No.9

繰越手続き要領は、一つではないかもしれません。 [繰越記録] 締め日 得意先_ID 前月繰越額 売上額 入金額 こういうテーブルを用意し3ヶ月程度保存するというのも手です。 [各種設定] 現繰越し日 消費税額 Accessのテーブルは、主に3つに分類されます。 1、随時更新される伝票等。 2、得意先マスター等。 3、アプリケーションが参照するデータ。 3番目のデータには消費税率等などがあります。 その他の疑問の答え探しは、まあ、実際にアタックする時で良いかと思いますよ。

superwonderful
質問者

お礼

いろいろと詳しい説明をしていただいてありがとうございました。大変参考になりましたし、もっといろいろと吸収していかないといけないと実感しました。 また、実際に作成していきながらつまづいたら質問させていただきたいと思います。 よろしくお願いします。

superwonderful
質問者

補足

ご説明大変ありがとうございます。 今までの説明で、なんとなくわかりかけていますが、f_a_007さんのご説明のされ方は、私の質問に全部答えないけども、なんとなくその先を考えつつ必要なことを言われるという、私にとってはちょっと高度な感じで、しかも、範囲が広い・・・(^_^;) 恐らく、推測しますに、私の質問をご覧になられて、なんとなくわかってるなと思われて、答えずにひとまずやらせて考えさせようと思われてる節も感じられます。なかなか、厳しい先生とお話をさせてもらってるようで、勉強になります。 ひとまず、これからも考えつつ、この質問は少しの間、クローズせずに何かありましたら、また、ここに質問を入れさせていただきます。もし、クローズした場合には、改めて質問を入れますので、よろしくお願いします。 m(__)m

回答No.8

補足:初回締切処理と再締切処理との区別の必要性。 初回締切処理で、前月欄が当月欄のそれに更新されます。再締切処理は、それが必要ありません。なお、締め切り後の動態=当月欄になるわけですが、その集計はしていません。当月集計処理を連続して動かせば事足りるからです。 <記憶が間違っていたら陳謝!18年も前のことだから・・・>

superwonderful
質問者

補足

すみません、ここの説明、よくわかりません。申し訳ありませんが、実例を出してご説明お願いします。m(__)m

回答No.7

Access のプログラミングなんて1996年以来。しかも、30分ばかりで書きなぐったのでコードは洗練されていないかも。でも、質問者の<締切処理とは?>という疑問に応えることは出来たかも・・・。なお、あくまでも私流ですので、DBLookup()、DBSelect()、StopMsg()、Verify()、GetDate()などを用いています。いずれも、UNIX版データベース言語だったInformix4GLを模したものです。結構、<見ただけで判る>という書き方だと思いますよ。 Option Compare Database Option Explicit Private Sub コマンド_売上_入金_月次締切処理_Click()   Dim StopNow      As Boolean   Dim Answer      As Integer   Dim I         As Integer   Dim intCusttomerCount As Integer   Dim dteNowShimebi   As Date   Dim dteNewShimebi   As Date   Dim dteFrom      As String   Dim dteTo       As String   Dim lngCustomerID()  As Long   Dim strSQL      As String   Dim strWhere     As String   Dim strWhere_U0    As String ' <-- 区分数に対応   Dim strWhere_U1    As String ' <-- 区分数に対応   Dim strWhere_N0    As String ' <-- 区分数に対応   Dim strWhere_N1    As String ' <-- 区分数に対応   Dim curUriage     As Currency   Dim curHenpin     As Currency      ' ------------------------------------------------   ' 新締め日の参照   ' ------------------------------------------------   dteNowShimebi = DBLookup("SELECT 現締め日 FROM 各種設定", "1900/01/01")   dteNewShimebi = Me.新締め日   If dteNowShimebi = "1900/01/01" Then     StopMsg "[各種設定].[現締め日]を設定して下さい。"     StopNow = True   Else     If dteNewShimebi = dteNowShimebi Then       Answer = Verify("当月締切処理を再度実行しますか?")       StopNow = CBool(Answer = vbKeyNo)     End If   End If   ' ------------------------------------------------   ' 締切処理開始   ' ------------------------------------------------   If Not StopNow Then     ' ------------------------------------------------     ' [得意先台帳].[ID] を配列変数に読込む     ' ------------------------------------------------     strSQL = "SELECT ID FROM 得意先台帳"     lngCustomerID() = DBSelect(strSQL)    ' [得意先台帳].[ID]を取得     intCustomerCount = UBound(lngCustomerID) ' 配列の添字の最大値を取得     ' ------------------------------------------------     ' 締切処理の開始日と締め日を確定     ' ------------------------------------------------     dteFrom = "#" & GetDate(dteNewShimebi, 0, 1) & "#"     dteTo = "#" & GetDate(dteNewShimebi, 1, 1) - 1 & "#"     ' ------------------------------------------------     ' 得意先別締切処理を実行     ' ------------------------------------------------     For I = 0 To intCustomerCount       '       ' 当月売上伝票の種目別集計       '       strSQL = "SELECT SUM(売上金額) FROM 売上伝票"       strWhere = " WHERE 得意先_ID=" & lngCustomerID(I) & _             " AND 日付 BETWEEN " & dteFrom & " AND " & dteTo       strWhere_U1 = strWhere & " AND 区分=1"       strWhere_U2 = strWhere & " AND 区分=2"       curUriage = DBLookup(strSQL & strWhere_U1, 0)       curHenpin = DBLookup(strSQL & strWhere_U2, 0)       '       ' 当別入金額の種目別集計(略)       '              '       ' [得意先台帳]の繰越し等更新(略)       '     Next I   End If   ' ------------------------------------------------   ' [各種設定].[現締め日]を更新   ' ------------------------------------------------   If Answer <> vbKeyYes Then     strSQL = "UPDATE 各種設定 SET 現締め日=" & dteTo     DoCmd.RunSQL strSQL   End If End Sub

superwonderful
質問者

補足

ご回答ありがとうございます。 プログラムで見ると、わかりやすいですね。大変参考になります。 私も経理について詳しくなくて、基本的なことでの質問をしてしまい、大変申し訳ありません。昔のことなのでご記憶にないかもしれませんが、もし、わかりましたらご回答よろしくお願いします。 以下、質問内容です。 1. 「各種設定」のテーブル項目仕様ですが、この中には、当社の締め日の項目があると理解してよろしいですか?その他には、どのような項目設定がありますか? 2. 「新締め日の参照」の処理について  (1) DBLookupで取得している値は   各種設定テーブルから、現締め日が「1900/01/01」のものを取得しているのは、締め日が未設定の物がある場合、この月次締切処理ができませんので、処理を中止するためということでよろしいですか?この場合、この各種設定の項目は当社の経理に関する諸設定情報ということでしょうか?     (2) 画面に表示されている「Me.新締め日」に既に[各種設定].[現締め日]が設定してある場合、月次締切処理を実行するという意味ですね?    3.dteFrom/ dteToの日付の取得に関して この日付は、締め日の月の1日が開始月、締め日の月の月末が終了月として変数に設定しているのですか? 4.「For...Next」処理の「当別入金額の種目別集計(略)」について ・種目別集計とはどういうことをするのでしょうか? 5.「For...Next」処理の「[得意先台帳]の繰越し等更新(略)」について  この処理は  (a)当月の繰越金額 d = 前月の繰越額 + a - b  (b)得意先台帳の当月期首繰越額を5(a)の値dで更新するでよろしいですか?   6. [各種設定].[現締め日]を更新 ・現締め日を毎月設定する処理のようですが、普通(自分の)会社の締め日は変わらないので、毎月設定する必要があるのか疑問です。もしかすると、私が間違っているのかもしれませんが、ご回答よろしくお願いします。

回答No.6

【請求書発行アプリケーション】 売上形態と請求書: 個人顧客:売上伝票+請求書で逐一発行。 法人顧客:相手が合意した締め日で締切って月単位で発行。 請求書発行アプリケーションは、この後者の請求書を作成するものです。別に、その為のテーブルを別途に用意する必要はありません。月次の期首繰越額が判っていれば、それを手掛かりに売上・入金データを参照して計算すれば事足りる話です。 なお、 >おい、そんな面倒な区別はいらんばい。 >うちは、売上=請求たい。 と、社長が言えばそれまでです。 【在庫管理、売掛管理には期首設定が必要】 PCシステムは起ち上げ移行のデータしか持ちません。ですから、期首設定は必ず必要です。在庫期首、売掛期首。やり方は、一覧入力して、それを手掛かりに架空の売上伝票を発生させるなどします。 【テーブルの呼称】 得意先・・・・・・・まあまあ 得意先台帳・・・・・好き 得意先マスター・・・嫌い 【売上伝票とテーブル設計】 普通は、売上データは、主表と従表とで管理します。見積り物件と見積り明細みたいな関係です。これは、会社が使っている売上伝票を見れば一目瞭然ですよね。 主表:売上の発生日付、相手先、担当、適用消費税率等を記録。 従表:行番号順に種別、物件名、売上金額、消費税額等を記録。 これと、見積り物件と見積り明細とは全く違います。まあ、通常は、見積り物件と見積り明細の管理は販売管理の役目ではないと考えます。もちろん、「売上伝票明細.区分=売上を細分化し(1)材料費、(2)手間代を分けよ!」と社長が言えば、それはそれで従うしかないでしょう。

superwonderful
質問者

補足

ご回答ありがとうございます。 期首設定とは、一番はじめの開始残高などの設定のことなのでしょうか?

回答No.5

 うーん、先ず、市販の販売管理ソフトのマニュアルを2、3種類は入手し、徹底的に研究しましょう。加えて、会計処理についても、一通り、会社の古参経理と渡り合える知識を入手しましょう。私も、3つぐらいの販売管理ソフトを事細かく分析・研究しましたね。また、妻が税理事務所勤務歴20年だったので詳細に渡って設計の妥当性・一般性を検証しましたよ。  と、前置きは、これぐらいにして・・・。 【考え方、先売り先入りの原則】 入金を売上物件と紐付けしないのは、その必要性がないからです。それは、販売管理ソフトは「先売り先入りの原則」で処理するからです。 10/10 物件A売上 2000円 10/20 物件B売上 1000円 〇11/10 入金1000円 ×11/10 入金1000円(物件B代金) 【ルール、飛び入金禁止規則】 「先売り先入りの原則」が、当然に、飛び入金の発生を許可しません。第一、11/10の入金1000円は別に物件A代金の部分入金とも解釈しても全く問題ありません。また、そうすべきです。それが、 >おい、なぜ、半端な売掛け残が発生しているんだ! という疑問をレポート読者に起こさせます。結果的に、集金者の使い込みの発覚に繋がったケースがままあります。どうとでも解釈できる、入金を売上物件と紐付けに拘る必要はありません。それぞれの胸先三寸で変わる紐付けを管理するのは、入金伝票記入者、入金伝票入力者、売掛残一覧表の閲覧者のいずれにとっても煩わしいだけ。 【売上、入金テーブルには必ず区分がある】 0:売上 1:返品 2:値引 3:無償 8:運賃 9:調節 売上・入金には必ず種別(区分)があります。返品もあれば値引きもあります。例外的に無償なんてのも発生することでしょう。 >あちゃー、先々月に1000円入力ミスしていたよ。 >しゃーないなー。種別=調節で訂正伝票を起こしておいて。 と、区分=調節が活躍することもあります。 【どこまで入力ミスの訂正を許すのか?】 私は、前々月締切処理の再実行を許していました。まあ、これはサービス。でも、前月締切処理の再実行機能の提供は義務かと思いますよ。 とりあえず・・・。

superwonderful
質問者

お礼

丁寧なご回答ありがとうございます。 早速、市販の販売管理ソフトのマニュアルを幾つかダウンロードしました。あと、取りあえずですが、会計システム編のデータベース設計の本を読んでいます。 入金を売上物件と紐付けしない点に関するご説明、ありがとうございました。どの売上に対する入金かをいちいち考えていると、めんどうなので、単純に入金とその区分のレコードを記録していくようなテーブル設計をしたいと思います。 売上と入金の区分については、入金の方がわかりませんので、自分でも調べてみようと思っています。 ありがとうございました。

回答No.3

補足:得意先テーブルの工夫は必要ですよ。 <例> ID:1 名前:○○ 前月期首請求額残:100 前月請求額:0 前月入金額:0 前月返金額:0 前月調節額:-50 当月期首請求額残:50 当月請求額:0 当月入金額:0 当月返金額:0 当月調節額:0

superwonderful
質問者

補足

ご回答ありがとうございます。 以下の回答について、質問をさせて下さい。 > 補足:得意先テーブルの工夫は必要ですよ。a すみません。得意先テーブルの工夫というと具体的にどういう事でしょうか? > > <例> > > ID:1 > 名前:○○ > 前月期首請求額残:100 > 前月請求額:0 > 前月入金額:0 > 前月返金額:0 > 前月調節額:-50 > 当月期首請求額残:50 > 当月請求額:0 > 当月入金額:0 > 当月返金額:0 > 当月調節額:0 つまり、このようなカラムをテーブルに作れば、少なくとも請求と入金の日々の記録を付ける事は可能ということでしょうか? ↓ ■請求・入金明細テーブル ・請求入金ID ・日付 ・請求先 ・当月期首請求額残 ・当月請求額 ・当月入金額 ・当月返金額 ・当月調節額 ・備考(対象見積IDなどを記載) 宜しくお願いします。 私になりに考えると、請求先から複数の依頼案件にまたがって入金されたりすることもあるので、それをシステム設計で自動的に、顧客がどの依頼案件の支払なのかを作りこむことは出来ないのでしょうか?無理ですよね・・・すると仰るとおり。

回答No.2

× 10/2|__|__50|__50| 〇 10/2|__|__50|_150|

回答No.1

>見積明細テーブルの各請求先毎の支払状況を見る上では、 >その下の入金明細テーブルでは不十分です。 >これをうまく改善するテーブル設計の方法を教えてくだい。 それは、ありません。 ヘッダー部: 顧客名__:○○様 前月請求残:100円 今月入金額:_50円 今月請求額:100円 今月請求残:150円 請求・入金明細: 日付|請求|入金|残高| 繰越|__|__|_100| 10/1|_100|__|_200| 10/2|__|__50|__50| これが、いわゆる「顧客別請求・入金履歴(月次)」の参照フォームの雛形。これは、テーブルデータを表示しても実現できない代物。データの加工結果でしかありません。「それは、ありません」という理由です。

関連するQ&A

  • 請求先

    Access 2013 vba 1つの受注された案件で、その売上の請求先が複数になる場合があります。 しかも、その請求先に何を請求するのかは、その場、その場で変わり、決まっていないらしいです。 このような場合に、どのように請求先を1つの受注した工事案件に引き当てれば良いのか、良くわからず、困っています。テーブル構造は恐らく 【受注テーブル】 ・受注ID(Main key) ・受注日 ・依頼元 ・依頼内容 ・受注総合計金額 などなど 【請求引当テーブル】 ・請求引当ID(Main key) ・受注ID (Ex.Key) ・請求金額 ・摘要 ・支払期日(依頼元が当社に支払う期日) ・支払方法 しかし、その明細については、受注テーブルの項目の依頼内容の何になるのかは、その時にならなければわからないのです。それに、請求先が1つしかない場合もあるし、複数に成るのが最後にならないと分からない場合もあります。 この場合、請求書をPGでデータベースからデータを選択して作成する場合、何を選択すれば良いのかわかりません。 このような説明の仕方では、ご回答が難しいかとも思いますが、私も説明に苦慮しています。 実際に、このようなケースを扱ったシステムでは、どんな解決策をとっているのか知りたいです。

  • 工事管理データベースで月締め時に請求書を出す方法

    工事管理データベースのデータベースを今設計しております。 工事の受注から、工事の見積作成、進捗管理、請求書、入金、出金の管理など考えています。 請求書の部分ですが、私の会社では月末に締めて、その月の請求する工事物件のすべての出勤、入金関係のデータを集計し、請求書を起こしていますが、過去、未収金の分なども当月の請求書に入れています。 請求に対する入金があった場合に、工事物件の依頼テーブルか、見積テーブルなどに入金された日付、クローズなどの処理をしたりしているのでしょうか。それとも、そういうことは全くしなくても良いのでしょうか? 集計処理で当月分の見積の金額などを全部集計するだけでは、その月以前の未収金分は含まれないのですが、このような未収金分は、全部手作業で請求書に入れ込むのか、システムで何かやり方があるのか、このへんの事をわかる方、教えていただきたいです。 よろしくお願いします。m(_ _)m

  • 3つのテーブルの画面表示

    Access 2013 vba リレーションが貼ってある親子関係の3つのテーブルがあったとして・・・ A table: ・ID1(主キー) ・依頼会社ID ・依頼内容 ・金額総合計(Bの会社毎の金額の合計) B table: ・ID2(主キー) ・ID1(外部キー) ・会社ID ・金額計(Cの明細の金額の合計) ・完了日 ※AのID1 : BのID1 = 1 : 多 C table: ・ID3(主キー) ・ID2(外部キー) ・項目名 ・単位 ・数量 ・金額 ※BのID2 : CのID2 = 1 : 多 このようなテーブル構成がある場合に まず、AとBの画面を作りそこでBの情報を入力して 次に、Bの帳票のどれかを選ぶと、 BとCのメイン・サブフォームが表示され、そこでCの明細を入力するというやり方も考えていますが、もう一つ、1つの画面で、BとCを両方サブフォームとして配置し、Bの方のレコードを選択すると、Cの方でそれに対応する明細が表示できるようなものを作りたいです。 このような方法が可能か教えていただきたいのと、その場合のやり方を教えて下さい。 宜しくお願いします。

  • 受注明細テーブルについて

    Access2013 vba 今工事関係のシステムを作っています。 ・工事受注の情報を入力する画面A ・工事部材の注文明細を入力する画面B(帳票・サブフォーム) ・工事の管理情報を入力する画面C(単票・メインフォーム) ・工事の発注明細を入力する画面C2(帳票・サブフォーム) ・受注明細画面D(帳票フォーム) とあるとして 【A】受注情報管理 ・受注ID(main key) ・受注日 ・依頼内容 ・部材注文合計金額 ・発注合計金額 【B】部材注文明細 ・部材明細ID2 (main key) ・受注ID(foreign key) ・品番 ・商品名 ・単価 ・数 ・摘要 【C】工事管理情報→依頼先会社毎に、受注IDに紐づく ・工事管理ID (main key) ・受注ID (foreign key) ・依頼先会社ID(foreign key) ・工事開始日 ・工事終了日 【C2】工事管理─仮発注明細 ・明細ID4(main) ・工事管理ID ・項目名 ・単価 ・数量 ・摘要 受注明細を、部材注文明細と仮発注明細から作成するやり方を考えました。 BとC2のレコードから、受注IDをキーにして、全てのレコードを以下のDの受注明細テーブルに格納する・・・。この時、B, C2と、Dは非同期→すると、もし、部材明細や仮発注明細が変更されると、Dが連動してその変更内容が反映出来ません。このやり方が良いのかとうか、いまいちわかりません。ご助言をお願いします・・・。 【D】受注明細 ・受注明細ID5(main) ・受注ID ・項目名 ・単価 ・数量 ・摘要 ・請求ID

  • 支払後に過請求が見つかった場合,返金してもらえる?

    増改築工事を約1年以内に2回行い、合計2,000万円超えの見積と請求額でした。 ■1回目の支払後に,見積と請求書に過請求が見つかりましたが,返金してもらえますか? ■2回目の支払い途中に,見積と請求書に過請求が見つかりましたが,返金してもらえますか? 見積明細に材料費1個の値段まで大変細かく記載されており、律儀な業者だと思いますが、 2回目の追加工事の明細書を含めると、支払い完了前に過請求がいくつも見つかりました。 ■もし、返金が不可能でしたら「返金不可の法的な時効」はあるのですか?

  • 見積書のない請求について

     先月,注文住宅へ入居しました。追加工事についてですが,見積書もなく,業者が「やります」と言って工事を始め,新居受け渡しとなりました。  その後,追加工事の請求書を見ると「追加工事一式 ○○万」と書かれており,納得できないから明細を持ってきてと頼みました。すると「契約書には受け渡し1週間以内に入金と書かれているから,(この時点で1週間経っていました)今すぐ払え」と言ってきました。  もちろんまだ全部工事は終わっていませんが,明細を見てビックリ!勝手にやった工事の請求まで追加されていました。こういう場合,支払い拒否はできますよね?

  • 入金後の請求書の金額間違いについて

    ある会社(初めての取引です)より商品を法人価格で購入する際に、まずメールでお見積り依頼をしました。 すると見積書ではなく請求書の様式でメールで送られてきました。 そちらの内容で合意し(35万くらいのもの)発注をして、前入金で在庫が僅かだったためいち早くお手続きをお願いしますということでしたので、請求書の原本は追って郵送をいただくようお願いし、メールでもらっていた請求書の内容で入金しました。 すると入金後4日後くらいに、初めにむこうがメールで送ってきた消費税が8%になっている請求書の金額で入金されていると連絡がありました。 後日郵送で消費税10%の「原本」を送っているので差額分の支払いをお願いしますとのことでした。 「原本」というのはメールで送ったものと同じもののことを言うかと思いますので、全く違うものを送ってきて「原本」でもなんでもないし。。。 それで初めて消費税が8%になっていたことにこちらも気がつきました。 確かに8%と記載していたことに気がつかなかったこちらも悪いかもしれませんが、合計金額としてその金額で合意した上で発注しているので、違う金額で請求されるのでは見積りをした意味がありません。 先週の金曜日に週明け月曜日に入金する旨を伝えて、原本を郵送してもらうように依頼しました。 そしてその金額を変更された「原本」とやらをむこうも金曜日に発送したようですが、その「原本」を作成した際に金額を訂正しているのですから、その時点(先週の金曜日)で伝えてくれればまだしも、何も言わずにしれっと金額を訂正した請求書を(支払い時に間に合わない可能性が高いタイミングで)送ってきて入金金額が足りていませんってどうなのでしょうか? 差額はお支払いしますが、そもそも売買の契約ってこの場合だとどの時点で成り立つものなのでしょうか?本来支払う必要はあるものですか? こちらとしては見積りを取り、その金額に合意した上で発注し、見積書でもなく予めもらっていた捺印済みの請求書の金額で振り込んでいるので少し腑に落ちないです。 もちろん振込手数料はむこう持ちでいいですよね?

  • 明細のない請求書

     注文住宅の残金請求書が届きました。契約後幾らか工事の増減がありますが、明細が無く残金○○円と書かれているだけです。一式工事の内訳金額にがおかしいところがある-と指摘した部分もあります。それをごまかすため、また予め文書で見積りを出されていない工事の代金は支払わないとメール(裁判で証拠として採用されると聞いた)で送っていましたが、勝手に追加工事代金を含めているため、残金を一括で請求してきたのかもしれません。  当然明細を請求するつもりですが、変更工事の明細が届くまで支払いを拒絶するなら、遅延金を請求される懸念があります。法的に、明細のない(中身の分からない)請求に請求の時点から遅延金が発生することってあるのでしょうか?

  • アクセスで可能でしょうか?初心者です。

    売上先で、(1)末締め翌末入金 (2)末締め翌月20入金 (3)末締め25入金 (4)20締め翌月末入金 の売上先が4パターンあるとして、 テーブル(T得意先情報)売上ID 売上先名 請求締め日  テーブル(T請求書)請求ID 売上先名 売上ID 請求年月     日 請求金額 テーブル(T入金)請求ID 請求金額 入金額 入金予定日  と考えとりあえずテーブルを作成しました  (1)入金日まで30or31 (2)20 (3)25 (4)40or41or42 売上先請求日付(1)~(4) (1)~(3)の請求日が1/31(4)が1/20とした場合テーブル(T入金)で、 2月の(28)月末の入金額、 20の入金額、25の入金額、 3月10の入金額 の入金年月日の件数と金額を求めたいのですが、うまくいきません。 クエーりーで入金ベースのサイト(末,20,25,40)を作れば何とかなるのかな?んんどうやったらよいの・・・ リーレーションがとても難しいと考え込んでしまい先に進みません。 構築方法+具体的な日付ごとの合計金額初心者の私に 理解できるようどなたか教えてくださいますよう お願いいたします。 ちなみに私経理の仕事しかしたことがないので、質問の内容がアクセス経験者の方々に伝わるよう な質問かどうか少々不安ですが、よろしくお願いします。

  • Access:サブフォームのレコードのコピー(複数)

    Accessにて販売管理システムを構築しています。 以下の構成にてテーブルがあります。 ------------------------------ T_見積伝票(メイン)  ・見積ID(主キー)  ・顧客名  ・見積日 ------------------------------ T_見積明細(サブ)  ・明細ID(主キー)  ・見積ID  ・商品名  ・数量  ・単価 ------------------------------ T_受注伝票(メイン)  ・受注ID(主キー)  ・顧客名  ・受注日 ------------------------------ T_受注明細(サブ)  ・明細ID(主キー)  ・受注ID  ・商品名  ・数量  ・単価 ------------------------------ *主キーはすべてオートナンバーにて採番されるようにしています。 T_見積伝票とT_見積明細がリレーション T_受注伝票とT_受注明細がリレーション 実現したいことは、T_見積伝票&T_見積明細に入力された内容が 実際に受注となった場合、「受注に転記」のようなボタンを設置し クリックすることで、T_受注伝票&T_受注明細に複製できればと思っています。 T_見積伝票とT_受注伝票にはいくつか異なるフィールドがあるので、(見積日と受注日) 対応するフィールドの内容のみコピーしたいです。 逆にT_見積明細とT_受注明細は主キーとなってるIDのみ違うだけで それ以外は全て同じフィールドにて構成されていますので 全部コピーしたいです。 色々と調べた結果、追加クエリを使うといいみたいですが 追加クエリ自体がよく分からず質問させて頂きました。 宜しくお願い致します。