我正处于为公司规划和设计定制会计应用程序的早期阶段.我的目标是为数据存储部分使用开源关系数据库,我知道有两个广泛支持的可靠数据库:MySQL和PostgreSQL.
对于需要事务,存储过程,函数和安全性的系统,是否有任何关于这两个数据库中哪一个最适合会计应用程序的意见,或者是否存在我缺少的另一个数据库?
我对MySQL和MS SQLServer 2005比较熟悉,但由于许可成本的原因,我试图摆脱后者.
让我补充一点:这不是像Quickbooks或Peachtree那样的会计需求.这基本上是一个处理我们提供的特定业务服务的会计的系统.可能有两到三个系统满足这种需求,在任何定制之前定价在六位数范围内,并且需要我的小公司长期与供应商结婚.因此,我们正在内部构建应用程序.
此外,虽然我很欣赏买入与建造的观点,但我想摆脱那个特定的宗教问题,因为购买道路已经被采取,供应商失败了.有时您只需要自己完成工作,这个特定的项目和预算需要保证.
感谢大家到目前为止的回复.
在你开始燃烧之前,我会告诉你我正在努力说服自己这是一个坏主意.
基本上,我正在尝试创建一个具有一些基本会计功能的网站.我的朋友,一位只知道excel的顾问,问这可能是一个excel电子表格而不是web界面.
我发现自己在想,为什么excel不是这种情况下更好的工具?它拥有web2.0应用程序具有的所有工具(脚本,访问数据库,基本格式),并且用于记帐.你基本上可以使用excel来编写一个从SQL数据库中获取数据的程序,填充一些单元格,然后使用公式.
是否有使用excel的先例,因为有人会使用浏览器制作一个ajax-y web2应用程序?
为什么这是一个坏主意?
更新:只是为了澄清我的意思是更多的是"修辞"讨论.我不确定为什么消息的其余部分没有澄清......
问题:在下面的情况下,我是否应将所有金额存储为正数小数,然后将金额标记为"借方"或"贷方",而不是将借方存入负数和贷方作为正数?
在我的数据库设计中,我将"借记"存储为负数,将信用存储为正数.
现在报告有时结果出错了,因为如果你这样做了
TotalAmount =金额 - 费用,如果提款金额为100美元,费用为1美元.
你最终会得到 - $ 100- $ 1 = - $ 101,这是不正确的结果!
database sql-server accounting database-design sql-server-2008
我打算在MySQL中为复式会计系统创建一个数据库.
我最近阅读了这篇文章:http://homepages.tcp.co.uk/~m-wigley/gc_wp_ded.html
我在本文中发现,有三个表ACCOUNT,JOURNAL和POSTING会很方便:
ACCOUNT(accountID, accountName)
JOURNAL(journalID, journalType)
POSTING(postingID, journalID, accountID, amount)
Run Code Online (Sandbox Code Playgroud)
文章描述如果账户被扣除,"金额"字段的值将为正,否则为负.
现在对于上面的POSTING表,我还有其他两个选项..
(1) POSTING(postingID, journalID, accountID, isDr, amount)
Run Code Online (Sandbox Code Playgroud)
在这个选项中,'isDr'字段是一个布尔值.如果帐户被记入借方,则isDr字段将包含值"true",否则为"false".并且'amount'字段将始终具有正值.
(2) POSTING(postingID, journalID, accountID, debitAmount, creditAmount)
Run Code Online (Sandbox Code Playgroud)
在这里,如果帐户被记入借方,我会将金额存储在'debitAmount'字段中,否则我会将其存储在'creditAmount'字段中.
那么,三个以上哪个选项更好用?
请告诉我这是标准化的,或者至少有一些方法可以解读它.
我正在看2012Q4的这3个随机10-Q和Ks.
订单项已标准化; 但是,每个文档都有很多.例如,一个文档将有一些us-gaap:OperatingIncomeLoss
es,我唯一可以告诉他们,他们表示他们报告的是哪个时期contextRef
.这就是事情变得复杂的地方.
我看不出任何可辨别的模式.有时它们会上升然后下降.它们都有自己的日期格式.有些人进行多期分组.有些人没有.
我试图找到一个标准.不行.
有没有人有任何想法?
非常感谢!
如果您要编写垂直市场C#/ WinForms/SQL Server应用程序并需要一个会计"引擎",您会选择哪种软件包?
纵向市场,我的意思是该应用程序旨在解决一组特定的业务问题,而不是一般的会计应用程序.因此,程序的附加值是成品中存在的70%的非会计相关功能.30%的会计功能仅仅是为了实现业务的基本会计需求.
我说了所有这些导致这一点:会计引擎需要是免版税的运行时许可证,而不是超级昂贵.我找到了几个C#/ SQL Server会计应用程序,可以获得源代码和免版税的运行时间,价格为15万美元以上,这对于由大笔资金资助的绿地开发来说很好,但对于较小的应用程序,这种类型的资本支出是不可行的.对于免版税的运行时而言,价值5美元到15,000美元的东西会更合理.开源会更好.
通过会计引擎,我的意思是至少需要处理的事情:
基本上,会计引擎应该让开发人员专注于解决方案的增值(行业特定业务最佳实践/流程)部分,而不必担心如何实现双重会计系统的低级细节.
理想情况下,会计引擎将在免版税运行时基础上获得许可.
建议好吗?
您制作了一个游戏网站,用户可以在其中购买游戏积分,并将资金存入/存入用户的虚拟账户以进行游戏等等.
如果你有一个会计师来记录交易,它将被记录为这样(可能有点复杂,但你明白了)
TRANSACTION
PK_ID1 Cash - $10 (System)
PK_ID2 Deposit $10 (System)
TRANSACTION
PK_ID3 Bank Account - $10 (John)
PK_ID4 Deposit $10 (John)
Run Code Online (Sandbox Code Playgroud)
作为开发人员,您真的需要浪费2条额外的记录吗?为什么不这样记录呢...(那么你可以存储资金来自哪里,在同一存款记录下的其他栏目中的状态)
TRANSACTION
PK_ID1 Cash - $10 (system)
PK_ID2 Deposit $10 (John)
Run Code Online (Sandbox Code Playgroud)
选项#1优于选项#2和副签证是否有任何真正的优势?
编辑:修改过的问题,删除了CR,DR并用符号替换.
我已经安装了帐户A的图表为公司1.这个图表用了几个月来进行核算.如何转换为会计科目表B并保留帐户的旧数据(借记卡,信用卡等)?换句话说,是否可以将数据从一个会计科目表迁移到另一个会计科目表?解决方案可以通过编程方式或通过Web客户端界面进行(不重要).无法使用虚拟会计科目表.会计科目表B必须成为旧数据的主要图表.
每个建议都会对我有所帮助.谢谢
我正在执行统计分析,以确定是否可以通过在特定时间范围内将其分解为较小的事务来隐藏更大的事务.我正在做的是将较大的数据集分解为较小的子集(此时为12的数组),然后在每个子集上运行一系列循环,以确定这些元素的任何组合是否在目标范围内累加.
这是我目前的代码:
amounts_matrix = [1380.54,9583.33,37993.04,3240.96...]
matrix_amounts = amounts_matrix.length
total_permutations = 0;
total_hits = 0;
target_range = 1
target = 130000
low_threshold = target - target_range
high_threshold = target + target_range
entries = []
range = 12
for(x = 0; x< matrix_amounts-(range-1); x++){
amounts = amounts_matrix.slice(x, x+range)
total_amounts = range
for(i = 0; i< total_amounts; i++){
entries.push(amounts[i])
totalcheck(entries)
entries = []
}
for(i = 0; i< total_amounts; i++){
for(j = i+1; j< total_amounts; j++){
entries.push(amounts[i])
entries.push(amounts[j])
totalcheck(entries)
entries = []
} …
Run Code Online (Sandbox Code Playgroud) 假设有一个复式记账系统:
我更喜欢后一种具有归一化的模型Transaction
。
有许多状态长期运行的复杂操作。一笔大交易会影响许多分机。帐户(甚至许多分类帐),您可以反转(发布相反的Transaction
s),添加新交易(又名费用,罚款)或从所有涉及的分机重新分配资金。状态改变时的账户/账本交易。必须保留对这些特定于流程的表的引用Transactions
,并且不要在其中重复Amount
。
更多示例:
一个简单的例子ApplicationTransaction
是Bet
由几个 s 组成的,Pledge
当您从每个参与者那里获取一些抵押品时。每个参与者甚至拥有不同的资产,并且House
可以使用其中的许多资产来满足某些要求。我正在考虑ApplicationTransaction
带有鉴别器的通用表D
和许多特定的表。
以及带有引用其执行的许多复式记账事务的列的ApplicationTransaction
表。State
在其生命周期内,ApplicationTransaction
它可以发布(make Transaction
s)其状态更改,但并非总是如此。例如,Bet
获取抵押品并在时间到了时释放它Bet
,在某些情况下,它会重新分配该操作持有的初始金额,但其某些状态不会发布。
A Lottery
(这是这里最常见的用例)可能是ApplicationTransaction
影响许多账户的一个例子,它以大量的“空投”奖金开始和结束。每个实例都有自己的属性值,属性是静态的。
另一个用例是Trade
两个分机之间。House 可以作为中间人的帐户,必须从双方获取资产,将其转移到特殊的LedgerAccount|XYZ|AL|Escrow|
,每个ApplicationTransaction.Type
,而不是每个实例。保留与特定实例相关的传输记录Trade
,可能会持续一段时间,有多种状态、属性、不同的结果。账户持有人可能会受到一侧的处罚并另一侧得到偿还。没有订单簿或撮合引擎。这种交换过程有几个状态,如果发生这种转变,另一个交易对手可能会参与争议解决State
。Trade
两个参与者都必须用类似的内容标记 a Payment Received
(假设付款是在系统外部完成的)。这就是状态转换。系统可以向每个参与者收取费用。
这不是一个单一的Transaction
条目。他们一群。例如,如果我需要将一些金额存入托管,我可以放入 X * 祖母绿和 X * 钻石来与公主约会。因此,它不仅发布了许多(AssetType, Amount, AccountNo)
(N * 资产 …
accounting ×10
sql-server ×3
c# ×2
database ×2
asp.net ×1
excel ×1
javascript ×1
mysql ×1
open-source ×1
openerp ×1
parsing ×1
python ×1
python-2.7 ×1
recursion ×1
standards ×1
web-services ×1
winforms ×1
xbrl ×1
xml ×1