2012-07-13 3 views
2

I가 다음 회계 테이블 :회계 트랜잭션 테이블 디자인

http://sqlfiddle.com/#!3/b93f3/2

내 거래 내역 표에는 다음 필드가 있습니다

[transdetailid] [int] IDENTITY(1,1) NOT NULL, 
    [transid] [int] NOT NULL, 
    [debitaccount] [varchar](10) NOT NULL, 
    [creditaccount] [varchar](10) NOT NULL, 
    [amount] [money] NOT NULL, 
    [isdebit] [bit] NOT NULL, 
    [isactive] [bit] NOT NULL, 

내가 테이블이 괜찮습니다하지만 내 질문에 대한 생각을 회계 거래 ...

예 : 전기 계약자가 엘리베이터 서비스에 대해 1,000 달러를 청구 한 다음, 이 같은 정보에 :

transdetailid transid debitaccount creditaccount amount isdebit isactive 
    1    1 REPAIRS INCOME ACC PAYABLE 1300.00 1  1 

는 내가 다음 트랜잭션 입력 그래서 요금을 지불해야 할 것입니다 :

여기
transdetailid transid debitaccount creditaccount amount isdebit isactive 
    2    2 ACC PAYABLE  BANK ACCT  1300.00 0  1 

나는 "도 Acc 지급"밸런스는 것을 볼 수 있습니다 0 그러나 무엇에 관하여 수선 소득 ...? 만약 내가 쿼리를 작성하면 1300 년에 여전히 수리 수입이 있다고 말할 것이고 나는 지불 거래 또한 수리 수입을 죽인다는 것을 알기 위해 다른 필드 나 다른 것을 추가해야만한다고 생각합니다.

단서가 있습니까? 희망을 설명하는 것으로 분명했다.

답변

2

당신이 겪은 것은 트랜잭션과보고의 차이다.

데이터베이스 설계에 결함이 있습니다. 지불에 청구서를 연결하지 않았기 때문입니다. 그건 그렇고, 이것은 상당히 어려울 수 있습니다. 좋은 단어가 부족하여 공급 업체를 사용하는 경우가 종종 있습니다. 이 청구서는 지급금이 공급 업체에 전달되는 공급 업체에서 가져옵니다.

귀하는 지불 기록에있는 결제 거래를 유혹받을 수 있습니다. 이는 각 지불이 정확히 하나의 청구서와 일치해야하기 때문에 바람직하지 않습니다. 부분 지불은 어떻게됩니까? 동시에 여러 지폐에 대한 지불은 어떻게됩니까? 연체료는 어때?

청구 대상자 및 지급 대상에 대한 정보를 포함하도록 구조를 수정해야합니다.

+0

당신은 완전히 옳습니다. 다른 구조를 가지고 있습니까? 감사합니다. – VAAA

+0

나는이 질문을 게시했다 : http://stackoverflow.com/questions/11479800/double-entry-accural-accounting-concept – VAAA