Banana财务会计软件8的必备文件
我们建议您使用本页面右上方的搜索栏来查找您需要的内容。
以前版本的文件
在Windows,Mac和Linux下安装软件
- 系统配备要求
- 免费的精简版本
- 将 Banana 8 安装在Windows系统中
- 将 Banana 8 安装在Mac系统中
- 将 Banana 8 安装在Linux系统中
- 在服务器上安装 Banana财务会计软件
- 输入许可证密钥
- 卸载较早的版本
会计类型
会计文件的示例及模板
增值税管理 - 基础知识
年末结束和新的一年
其它
如何开始
- 会计科目表
- 如何从头开始设置会计科目表
- 基于模板设置新的会计文件
- 添加,删除,重命名帐户或组
- 添加和删除分组
- 在新的会计文件中输入期初余额
- 更新当前的期初余额
- 设立客户/供应商登记
- 多种货币会计账户科目表
发生业务
- 快速发生业务输入
- 自动编号文件列
- 包含至电子文档的链接
- 发生业务加锁
- 发生业务解锁
- 输入简单的发生业务(借方和贷方账户)
- 输入复杂的发生业务 (多个帐户)
- 经常性业务
- 在收益 & 费用核算或现金簿文件中输入发生业务
- 在复式记账会计文件中输入发生业务
- 输入已签发的银行支票
- 在多货币记账会计文件中输入发生业务
- 输入含有增值税的发生业务
高级功能
- 成本和利润中心
- 部门 (为了管理多个项目)
- 发票管理(开立和逾期发票,历史记录)
- 包含发生业务的预算表格
- 插入公式的可能性
数据导入和导出
- 银行对账单 SEPA/ISO 20022
- 数据导入
- 从银行或邮政储蓄的报表中导入发生业务
- 数据导出
- 从其它会计软件传输数据
- 数据导出: Excel - Html - Xml - txt
- 在导出中决定包含数据范围的选项
- 以 txt 格式导出行或所选区域
安全
有用的信息
- 课程和顾问
- 办公室工作日和休息日
- 许可证密钥丢失
- 帮助菜单
- 如果您收到了一个错误信息提示
- 错误信息
索引
Banana 8 characteristics
Banana Accounting for Windows, Mac and Linux main features
Banana Accounting 8 is an international software extremely versatile, perfect to keep accounting in any nation. Ideal for small economic entities.
VersatileIt adapts to your needs and accounting knowledge level.
|
Fast and easyStart now and save time every day.
|
UniversalUsed in more than 127 nations worldwide.
|
ProfessionalAn impeccable presentation of your business.
|
Security & CertificationMaximum level of security for your data.
|
Compatibility and sharing
|
Comprehensive support
|
||
Versatile
Choose from various accounting methods |
|
You can start with the accounting method you prefer, and you can change, if necessary. All your data will be retained:
There are also several utility tools:
|
![]() |
Freely organize your accounts |
|
You can adapt the chart of accounts of your template to fit your needs, by adding or deleting accounts, creating groups or subgroups and different totalization levels. The results are immediately visible. You can edit and make changes to your accounting plan also during the year. You can also add extra columns or change the order of the existing ones both in the chart of accounts or in the table where you enter the transactions. |
![]() |
Your situation is always under control |
|
You will always have, at a glance, an updated and global situation of your business. Every time that you enter a transaction your balances will automatically update.
|
![]() |
Account details just one click away |
|
If you want to see a detailed situation of any account, category or group, you just need to click on the small blue arrow that appears in the top-right corner of the account number cell. The account card can be printed or saved in PDF format. You can also obtain your account card for a specific period. You can print a single account card, all of them, or just some selected ones.
|
![]() |
Use cost centers and segments to manage projects, specific business sectors or activities |
|
Using Segments and Cost centers, Banana Accounting allows you to manage specific activities or project in a detailed and precise way, without changing the structure of your chart of accounts. You will be able to know, in each moment, how a certain project is going and you can print out detailed reports.
|
![]() |
Easier VAT management |
|
If you need to manage the VAT, choose a template that already has it or convert your existing file adding the VAT option. All VAT calculations and the VAT reports are automatic. For Switzerland the program already prepares a facsimile of the official form both for the effective method and the flat tax rate method.
|
![]() |
Fast and easy
Impeccable journal |
|
The Transactions table is in fact your journal. It is clearly organized and can be printed directly or saved in a PDF format. When you enter a transaction, all accounts totals will automatically be updated, so you can always have a global view of your business. You can also use colors, both in the text and row background, in order to highlight some entries and quickly find your data. |
![]() |
Memorize and recall recurring transactions |
|
You can select your recurring transactions and save them in the Recurring transactions table; you can then automatically recall them when needed.
|
![]() |
Import data from e-banking and credit card statements |
|
You can import your e-banking transactions or your credit card transactions directly into your Banana file, with no need of manually writing them. We now have import filters for all major banks and institutions, and they are constantly updated. If your bank doesn't appear in the list of the available filters, we can create one for you.
|
![]() |
Immediate printouts and report - customizable settings |
|
You can personalize the printouts of your Balance Sheet and Profit & Loss Statement. You can activate/deactivate several options in order to present your data just as you want; choose from different graphic styles, change colors, etc. You can play around and see the results in your Print preview. When printing your Balance sheet you can also include a text for the Swiss attachment |
![]() |
Save your personal printing settings |
|
With the Compositions command, it is easy to setup custom printouts. You can save several printing settings for Balance sheet, Account details, extract and sort rows, addresses and labels, ...
|
![]() |
Universal
Multi-language |
|
The program is available in several languages: English, Italian, German, French, Spanish, Portuguese, Dutch and Chinese. You can change the program language at any time. Each file can be created in a different language; in our template section on our website, you can choose files in different languages. In order to change the language of an existing file you need to convert it into a new file choosing the desired language. |
![]() |
Multi-currency |
|
You can have as many accounts in foreign currencies as you need, and enter your exchange rates in the Exchange rates table. You can also keep an history log of your exchange rates. Exchange rate calculations and exchange rate differences are all done automatically. You can have your Balance sheet, your Profit and Loss statements and several reports in a second currency as well. |
![]() |
Multi-mandate |
|
Banana Accounting has no limits on mandates. You can manage an unlimited number of mandates, each one with its personal settings: language, currency, VAT management, ... |
![]() |
VAT codes by nation |
|
When creating a new file with the VAT/Sales tax management option, and you choose a specific nation, you will find a VAT Codes table that already contains all the VAT codes used in that nation. The VAT Codes table can however always be edited, in case you need specific codes or if some new legislation comes into effect. |
![]() |
Specific Apps by nation |
|
Banana Apps are applications that allow you to obtain specific printouts or reports from the Banana program; some Apps are already available for free, you just need to download them! You can also create your own Apps in order to have very specific report presentation, comply to specific local law requirements, such as for example the Swiss "curatele", or specific association's needs. |
![]() |
Professional
Clients and suppliers' management |
|
You can easily manage your Clients and Suppliers. You will be able to know, at any time, if you have expired or still unpaid invoices. You can also have the historic detail for each client or supplier. In the opening balances, you can go back to the invoices that determine the amounts. |
![]() |
Countless reports, also by period |
|
Reporting possibilities are endless. Choose the columns to display, change headers, change colors.
|
![]() |
Excel data synchronization |
|
If you want your data in Excel, you do not have to copy, paste, or export any data anymore
|
![]() |
Export data in different formats |
|
With Banana Accounting you can export data in various formats: Html, Excel, Xml, Txt. Export can be performed on a data selection or for the whole accounting file. You can also decide to export only specific rows.
|
![]() |
Custom Apps development |
|
If you need special printout, reports or some specific outputs, please contact us: we are available to create custom applications. |
![]() |
Automated checks |
|
Any errors are reported automatically.
|
![]() |
Security and certification
Password file protection |
|
Each file can be password protected. The password can be changed or deleted anytime.
|
![]() |
Rows protection |
|
In order to work more at ease, you can protect the rows that are already definitive in your file, to avoid tampering or accidental changes. Protected rows can be unprotected.
|
![]() |
Transactions lock |
|
You can lock all or just some transactions; thanks to the digital certification, you can be certain that they haven't been changed. |
![]() |
Data certification with blockchain system |
|
The integrity of the accounting data is guaranteed
|
![]() |
Store your file in PDF format (or just parts of it) |
|
You can save all your file in PDF format, or choose what parts of it to print. |
![]() |
Automatic Backups |
|
The program automatically saves, at a frequency in minutes that you can define, in a backup file.
|
![]() |
Compatibility and sharing
Compatible with previous versions |
|
Banana Accounting 8 maintains the same usage patterns and compatibility with previous versions. Files created with previous versions can be opened and all data is fully maintained. |
|
For all operating systems |
|
Banana Accounting 8 is available for Windows, Mac, Linux, Android and IOS. Banana files are interchangeable between different versions. |
![]() |
Cloud sharing |
|
Banana files can be saved on all Cloud systems: Dropbox, I-Cloud, Google Drive, ... so that you can access your accounting data anytime, anywhere. |
![]() |
Send your Banana files by email |
|
Each Banana file can be sent by email, shared, saved on a USB stick, and so on.
|
![]() |
360 degrees support
Online documentationMore than 500 pages of free online documentation, divided by topic, with step-by-step images and explanations. Direct link to the errorAny error is immediately reported. Free supportSupport by phone or email is free for 12 months from the date of purchase and for topics related to the use of the program. Technical Advanced SupportTechnical support and custom solutions development (Apps). |
![]() |
Switzerland: new regulations for reports
From the end of 2015, all companies registered in the Swiss Commercial Register, will have to present their accounting reports according to a new regulation, with the minimal Balance Sheet and Profit and Loss Statement organization prescribed by the Swiss Code of Obligations (rRt. 959a and 959b CO).
The new accounting plan templates that come with both Banana 7 and Banana 8 already meet the new requirements. If you created your new accounting file using one of the new Banana templates (chart of accounts), you will get printouts that are conform to the new regulations.
If you have an "old" accounting plan, you have two possibilities:
- Migrate to the new accounting plan and get your data from the existing accounting plan
- Create a new accounting file using a Banana template that uses the new organization (account numbers and groups)
- Add a new column in the accounting plan and enter for each account, the corresponding account number in your "old" accounting file
- Use the import feature in order to get and convert your data from your "old" accounting plan.
- Keep using your existing accounting plan and use an external file (already available in Banana 8) to get a report according to the new regulation when printing
- Create a new Report file (Double-entry accounting -> Accounting Report -> Tenplates for Switzerland (English) -> Report art. 959 Swiss Code of Obligations)
- Save the file in the same directory where your accounting file is stored
- Give to each account (in the Gr1 column) the group corresponding to the new regulations, as indicated in the Accounting report file (see explanations on the page External report file)
- Print the Balance Sheet and Profit and Loss Statement for fiscal purposes, by using the report file (for more information see the Enhanced Balance Sheet with groups page)
Further changes
The new regulations prescribe further changes. They also require that the Attachment to the Balance sheet should contain more detailed information. You can also decide to include some of the required details directly into the Balance Sheet and Profit and Loss statement, or you can enter the information in the attachment (for example for credits or debits towards the sharesholders or the members of the company).
These are important changes, with fiscal and legal implications.
We strongly advise you to check with your trustees, accountants, auditors and tax advisors in order to prepare the 2015 accounts presentation as prescribed.
In the following years you will simply need to follow the same organization.
What's new in version 8
Optimized for the new Windows 10, Mac und Linux Operating Systems
Banana Accounting 8 maintains the same use, it is compatible with previous versions, and introduces important new functions that our clients requested. The program now indicates whether there has been an interruption and whether there are data that have not been saved. More info...
Compatible with previous versions
Banana 8 uses the same format of the 5.12 version. Files edited with version 8 can therefore be read from previous versions.
Work with colors!
By coloring the rows (text or background), it is easier to see and find accounts and transactions.
Accounting templates up to date
Several templates are available for the double-entry accounting, as well as for the income & expenses accounting and the cashbook, in several languages and for different nations.
Hi-quality accounting data
With Banana Accounting you can correct possible differences, transcription errors or change the Debit/Credit account, if wrongly entered.
Even if you are a non expert user, you can achieve a perfectly ordered accounting file, avoiding the cash going negative, and having your bank accounts match your bank reports.
Share your files
You can move your files and share them with Dropbox, I-Cloud, e-mail or USB stick.
Find texts in a more efficient way
You can now find all the texts matching your search criteria and you can leave the Find window open for future searches.
Advanced verification system
Forgot something? No problem, the Check accounting command, will instantly recalculate all your accounting file, and will alert your if possible errors or differences are found. By clicking on the symbol, next to the error message (in the Info or Messages window), you will be directly connected to the NEW online page explaining the error message and suggesting possible causes and solutions.
Handy online documentation
Every alert message has a direct link to the corresponding page at our online documentation. You will find useful tips and step by step instructions on how to best operate and to solve your problem.
Convert your accounting plan according to the new Swiss regulations
You can set a new accounting file using one of the new templates, and then automatically resume and convert your existing data, no longer complying with new regulations.
Print your report according to the new Swiss regulations
If you decide not to change your existing accounting plan structure, you can still print your report according to the new Swiss regulations, thanks to a Banana external accounting report file.
Balance sheet attachment
In the Balance sheet printouts you can also include a text for the attachment.
List of the customers/suppliers overdue invoices
The new functions for the Customers / Suppliers management, allow you to view the list of customers and suppliers overdue invoices.
Easily create your customized printouts
With the Composition command it is easier to setup and save your customized printouts; you can also save your own settings to print Account cards, Extract and sort rows, Addresses and labels, ...
Business intelligence
Banana allows you to manage segments and cost centers.
You will have a much more precise and detailed view of each sector or project of your business.
Account cards also for groups, segments and classes
You can now obtain all movements of a segment, a group or a class, in their corresponding account card.
Plan your cash flow and your business
With the budget transactions you can now simulate in detail how your business and your cash flow will evolve.
Import your bank statements
You can import data from your bank statements or from external invoicing software.
Banana creates the transactions resuming the statement data.
Banana supports many different standard (ISO 20022) or specific (PayPal) formats.
Manage your VAT in a simple way
All VAT calculations are automatic.
For Switzerland, the program prepares the fac-simile of the VAT report for the effective method or the flat tax rate method.
You just need to copy the amounts on the official form.
Dynamic link to Excel and graphics creation
You can create Excel sheets and graphic presentations linked to your accounting file that automatically update themselves when your accounting data are changed.
Multi-currency - Transactions for exchange rate variation at a specific date
You can enter historic exchange rates that the program will use in the transactions in order to calculate the exchange rate variation differences at a specific date.
You can also specify, for each account, a different exchange rate difference account to be used.
Save in Pdf from Preview
All printouts can be previewed and exported in Pdf format.
Export only specific data of the accounting file
Store all your accounting data in a single Pdf file
At the end of the year you can create a Pdf file with all your accounting data: Balance sheet, Profit & Loss Statement, Transactions, Account cards, VAT report.
Get customized report with the new Banana Apps
You can download the Banana Accounting Apps or you can create your own, in order to obtain very specific presentations, required for example for specific regulations, for associations, controlled administrations, or in order to comply to a specific nation's regulations.
Digital certification of the accounting data
You can lock your transactions at a specific date and protect them with a password.
As required by the law, accounting data integrity is ensured by a top quality certification system (US Patent N.7.020 .640), the same used by electronic currencies like bitcoin.
It is now also possible to unlock transactions only partially.
New Utilities application
The Address book utility has a new table, and there is a new utility to manage Libraries and Diary.
Address book - Link between Contacts data and diary
The new Groups table now allows you to classify your contacts in different groups (business contacts, family, etc.), while in the Diary table you can enter notes.
Manage books and collections items
Thanks to the new Libraries utility you can manage books (private book collections, libraries), DVD (video stores), valuables collections, etc.
In the Books table you can enter the items with all the characteristics(Title, Author, etc.), while in the other tables you can manage the loans, the due dates and the archive.
and much more ....to find out!
Caractéristiques Banana 8
Banana Comptabilité est un logiciel international extrêmement polyvalent qui se prête très bien pour la tenue de la comptabilité dans n'importe quel pays.
C'est un logiciel idéal pour les petites réalités économiques.
PolyvalentIl s'adapte à vos nécessités et connaissances
|
Facile et rapideCommencez immédiatement et épargner du temps chaque jour.
|
UniverselUtilisé dans plus de 127 pays dans le monde.
|
ProfessionnelPrésentez votre activité de manière impeccable.
|
Sûr et certifiéSécurité et protection maximale des données
|
Compatibilité et partage
|
Support complet
|
||
Polyvalent
Choisissez parmi différentes méthodes comptables |
|
Vous pouvez vous lancer avec la comptabilité que vous préférez, et ensuite changer, si c'est nécessaire tout en conservant vos données insérées:
Contient aussi différentes utilitaires:
|
![]() |
Choisissez parmi plus de 500 modèles |
|
Au lieu de créer votre fichier à partir de rien, utilisez un de nos nombreux modèles en ligne. Il sont disponibles gratuitement et déjà triés par langues, pays et activités. Pour de plus amples informations...
|
![]() |
Organisez vos comptes à souhait |
|
Vous pouvez adapter le plan comptable selon vos exigences, en ajoutant ou éliminant des comptes, créant des sous-groupes et différents niveaux de totalisation. Les résultats seront immédiatement visibles. Les changements dans le plan comptable sont toujours possibles même pendant l'année en cours. Vous pouvez aussi ajouter des colonnes supplémentaires ou changer l'ordre des colonnes existantes, autant dans le plan comptable que dans le tableau sur lequel vous insérez vos écritures. |
![]() |
Situation toujours sous contrôle |
|
En un clin d'oeil vous aurez toujours une vision ajournée et globale de votre activité. Chaque fois que vous insérez un mouvement comptable les soldes se mettent automatiquement à jour. Pour de plus amples informations...
|
![]() |
Détails des comptes en un clic |
|
Avec Banana, c'est très facile d'obtenir la fiche détaillée de chaque compte, catégorie ou groupe de comptes: il suffit de cliquer sur la petite flèche bleue-claire qui apparaît en haut à droite du numéro de compte. Même la fiche de compte peut être enregistrée en pdf ou imprimée, aussi pour une période précise. Vous pouvez imprimer toutes les fiches de compte ensemble, ou celles que vous aurez sélectionnées. Pour de plus amples informations...
|
![]() |
Utilisez centres de coûts et segments pour gérer des projets, des secteurs ou des activités particulières |
|
A travers les Segments et les Centres de coûts, Banana Comptabilité permet de gérer des activités ou des projets de façon précise et détaillée sans bouleverser l'organisation du plan comptable. Vous pourrez ainsi connaître à chaque instant les tendances d'un certain secteur ou projet et produire des impressions détaillées.
|
![]() |
Gestion facilitée de la TVA |
|
Si vous avez besoin d'une gestion avec TVA, choisissez un fichier déjà configuré avec TVA ou convertissez votre fichier existant en ajoutant l'option TVA. Tous les calculs pour la TVA sont automatiques. Le programme prépare, pour la Suisse (voir image), le facsimile du Formulaire TVA - méthode effective ou celui du Formulaire TVA - méthode taux de la dette fiscale nette et taux forfaitaires. Il ne vous suffira, ensuite, que de reporter les valeurs dans le Formulaire officiel. Rapports TVA automatiques.
|
![]() |
Facile et rapide
Opérationnel en 3 étapes |
|
En trois étapes simples vous êtes opérationnels et vous pouvez commencer à travailler:
... et votre comptabilité est en route! |
![]() |
Interface similaire à Excel |
|
L'interface graphique est très semblable à Excel et de ce fait, vous vous sentirez directement à l'aise. Dans son fonctionnement, Banana vous offre bien plus qu'une simple feuille de calcul, parce que, au fur et à mesure que vous insérez vos données, les totaux de tous les tableaux se mettent automatiquement à jour, et sur la base des données introduites, Banana crée aussitôt Bilan, Compte de Résultat et de très nombreux autres rapports. |
![]() |
Journal parfaitement ordonné |
|
Le tableau des Ecritures est, de facto, le Journal. Il est clair et bien ordonné et peut être directement imprimé ou sauvegardé en PDF. Vous pouvez aussi imprimer des périodes précises ou des lignes sélectionnées et disposer les colonnes à souhait. Lorsque vos introduisez un mouvement, les totaux des comptes se mettent automatiquement à jour, de sorte que vous ayez, en tout temps, une vision globale actuelle. Vous pouvez aussi utiliser les couleurs, autant dans le texte que dans le fond pour souligner les mouvements que vous devez facilement retracer.
|
![]() |
Mémorisez et rappeler les écritures répétées |
|
Vous pouvez sélectionner les lignes des écritures répétées et les enregistrer dans le tableau Ecritures répétées, pour ensuite les reprendre automatiquement quand vous en aurez besoin. Pour de plus amples informations...
|
![]() |
Importez les données de la banque ou d'une carte de crédit |
|
Vous pouvez importer directement dans votre fichier Banana les écritures de vos mouvements bancaires ou d'une carte de crédit sans devoir les réintroduire à la main. Nous proposons des filtres d'importation, constamment mis à jour, pour de plus grandes institutions. Si votre banque ne figure pas dans la liste, nous créerons pour vous le filtre adapté. Pour de plus amples informations...
|
![]() |
Impressions et rapports immédiats avec configurations personnalisables |
|
Personnalisez les impressions du Bilan et du Compte de Résultat. Vous pouvez activer/désactiver de nombreuses options pour présenter vos données à souhait; choisir parmi les différents styles graphiques, changer les couleurs, etc. Voir aussi le résultat de l'impression en aperçu. Dans les impressions du Bilan vous pouvez aussi inclure un texte pour les documents annexes. |
![]() |
Enregistrez vos configurations d'impression |
|
Avec la commande Composition, il est facile de configurer des impressions personnalisables. Vous pouvez enregistrer différentes configurations d'impression pour les Bilans, Fiches de compte, Extraction et trier lignes, Adresses et étiquettes... Pour de plus amples informations...
|
![]() |
International
Multilingue |
|
Le programme est disponible en différentes langues: italien, anglais, français, allemand, portugais espagnol, néerlandais, chinois. Vous pouvez changer la langue du programme à tout moment. Chaque fichier peut même être créé dans une langue différente; et dans les différents modèles disponibles en ligne, vous pouvez choisir des fichiers parmi toutes ces langues. Pour changer la langue d'un fichier existant vous devez le convertir et choisir en option la langue souhaitée. |
![]() |
Gestion multidevise |
|
Vous pouvez introduire autant de comptes en devise étrangère que vous souhaitez, et introduire dans le tableau Changes le taux de change. Vous pouvez aussi conserver le taux historique des changes. Les calculs des changes et des différences de change sont tous automatiques. Vous pouvez aussi produire des Bilans, Comptes de Résultat et Rapports dans une deuxième devise étrangère. |
![]() |
Multimandants |
|
Banana Comptabilité n'a pas de limites en mandats. Vous pouvez ouvrir autant de mandats que vous voulez, chacun avec des confugurations personnalisées de langue, devise, TVA, etc. |
![]() |
Codes TVA par pays |
|
Quand vous créez un nouveau fichier avec option TVA et que vous choisissez le pays, vous trouverez déjà dans le tableau Codes TVA tous les codes TVA en vigueur pour le pays sélectionné. Le tableau Codes TVA peut, toutefois, toujours être intégré et modifié au cas où vous auriez besoin de codes particuliers ou si, dans le cours du temps, de nouveaux codes entreraient en vigueur. Pour de plus amples informations...
|
![]() |
Apps spécifiques par pays |
|
Les Apps de Banana sont des applications qui permettent d'obtenir des impressions et des rapports particuliers à partir du programme Banana Comptabilité; certaines sont déjà disponibles à titre gratuit, il vous suffit de les télécharger. Vous pouvez aussi en créer vous-mêmes pour obtenir des présentations de rapports très précis, exigés par des règlements particuliers comme celles des curatelles, des associations, ou pour qu'ils soient conformes aux normes d'un pays déterminé. Pour de plus amples informations...
|
![]() |
Professionnel
Gestions des clients et fournisseurs |
|
Gérez simplement les Clients et Fournisseurs. Vous pouvez connaître à tout moment quelles sont les factures expirées ou ouvertes. Il est aussi possible de visualiser l'historique pour connaître tous les détails d'un client ou d'un fournisseur. Dans les soldes initiaux vous pouvez remonter aux factures qui déterminent les montants.
|
![]() |
D'innombrables rapports, même par périodes |
|
Les possibilités des rapports sont infinies. Choisissez les colonnes à afficher, changez les en-têtes, les couleurs. Vous pouvez aussi créer des rapports externes à la comptabilité avec les regroupements que vous souhaitez. Pour de plus amples informations...
|
![]() |
Synchronisation des données avec Excel |
|
Pour obtenir vous données en Excel il n'est plus nécessaire de copier, coller ou exporter. Les fonctions ExcelSync permettent de récupérer les données de Banana en Excel et de créer des feuilles et des graphiques qui s'ajourneront automatiquement. Quand de nouvelles transactions viennent s'ajouter, les feuilles Excel seront automatiquement mises à jour et calculées. Pour Apple/Mac c'est fonction n'est pas disponible.
|
![]() |
Exportation vers différents formats |
|
Dans Banana comptabilité vous pouvez exporter des données vers différents formats: Html, Excel, Xml, Txt. L'exportation peut être exécutée sur une sélection de données ou sur tout le fichier comptable. Vous pouvez aussi décider d'exporter seulement quelques lignes. Pour de plus amples informations...
|
![]() |
Développements d'Apps personnalisées |
|
Si vous avez besoin d'impression ou de rapports particuliers ou de quelques outpout particuliers, contactez-nous: nous sommes à votre disposition pour créer des applications personnalisées. |
![]() |
Vérifications automatisées |
|
D'éventuelles erreurs sont automatiquement signalées. Vous pouvez aussi effectuer des contrôles étendus. Si des différences comptables ou dans les soldes initiaux s'affichent il y a une commande pour les tracer automatiquement dans le tableau Comptes et Ecritures.
|
![]() |
Sûr et certifié
Protection de fichier avec un mot de passe |
|
Chaque fichier peut être protégé avec un mot de passe. Ce mot de passe peut être modifié ou annulé à tout instant. Pour de plus amples informations...
|
![]() |
Protection des lignes |
|
Pour travailler plus sereinement, vous pouvez protéger certaines lignes de votre fichier, celles qui sont déjà définitives, pour ainsi éviter qu'elles soient accidentellement endommagées ou altérées Il est aussi possible d'enlever la protection des lignes protégées. Pour de plus amples informations...
|
![]() |
Bloc des écritures |
|
Vous pouvez bloquer toutes ou certaines écritures et avoir l'assurance qu'elles ne seront pas modifiées (certification numérique). Vous pouvez aussi seulement protéger les écritures pour empêcher qu'elles soient endommagées accidentellement. |
![]() |
Certification des données au moyen d'un système de marquage digital |
|
L'intégralité des données comptables est garantie par un système de certification d'avant-garde, (US Patent N.7,020,640), le même qui est utilisé par les monnaies électroniques telles que bitcoin.
|
![]() |
Archivage du fichier en PDF (ou seulement quelques parties) |
|
Vous pouvez enregistrer un fichier entier en format PDF, ou choisir dans le détail ce que vous voudriez faire apparaître dans l'impression. L'archivage en PDF de tout le fichier permet de toujours obtenir l'intégralité des données. Il y a tellement d'options. |
![]() |
Sauvegardes (Backup) automatiques |
|
Le programme enregistre automatiquement un fichier backup, selon une fréquence en minutes que vous pouvez définir. Si le programme ou l'ordinateur se bloquent, vous pouvez ainsi récupérer vos données en ouvrant ce fichier. Pour de plus amples informations...
|
![]() |
Compatibilité et partage
Compatible avec les versions précédentes |
|
Banna Comptabilité 8 conserve la même modalité d'utilisation et est compatible avec les versions précédentes. Ainsi, il est donc possible d'ouvrir sereinement des fichiers créés avec les versions précédentes avec la certitude que toutes les données seront reportées intégralement. |
|
Pour tous les systèmes d'exploitation |
|
Banana Comptabilité 8 est disponible dans les versions pour Windows, Mac et Linux, Android et IOS. Les fichiers Banana sont interchangeables entre les différentes versions. |
![]() |
Partage Cloud |
|
Les fichiers Banana peuvent être enregistrés sur tous les systèmes Cloud: Dropbox, I-Cloud, Google Drive, .... de sorte que plus de personnes puissent accéder aux données comptables à n'importe quel moment et quelque soit l'endroit où les utilisateurs se trouvent.
|
![]() |
Envoi des fichiers Banana par courriel |
|
Tous les fichiers Banana peuvent être expédiés par courriel, partagés, et enregistrés sur un clé USB, etc. il existe aussi une commande pratique du menu Fichier qui crée automatiquement un message de courriel électronique avec votre fichier Banana an annexe, prêt à être envoyé.
|
![]() |
Support à 360 degrés
Documentation en lignePlus de 500 pages de documentation en ligne gratuite triée par sujet, avec des images et des explications pas à pas. Link (lien) directement à l'erreurLes erreurs éventuelles sont aussitôt signalées. Support gratuitLe support téléphonique ou par courriel est gratuit pour une période de 12 mois à partir de la date d'achat pour des questions relatives à l'utilisation du programme. Support Technique AvancéSupport technique et développement de solutions personnalisées (Apps). |
![]() |
Suisse: nouvelles normes pour les rapports
En Suisse, à la fin de l'année 2015, toutes les entreprises inscrites au Registre de commerce doivent présenter les rapports selon la structure minimale du Bilan et du Compte de Résultat, prevus par l'article 959 du Code des obligations (Art. 959a e 959b CO).
Les nouveaux plan comptables founis avec Banana 7 et Banana 8 reflètent déjà le système prévu. Celui qui crée - ou qui a créé - une nouvelle comptabilité avec les nouveaux plans comptables, a des rapport conformes à la loi.
Pour ceux qui ont des "anciens" plan comptables, il y a deux possibilités:
- Passer au nouveau plan comptable et reprendre les données de la comptabilité existante
- Créer une nouvelle comptabilité, en utilisant un modèle avec la nouvelle numérotation et les nouveaux regroupements
- Ajouter une colonne dans le plan des comptes, et y insérer, pour chaque nouveau compte, l' "ancien" numéro de compte.
- Utiliser la fonction d'importation pour reprendre et convertir les données provenantes du fichier de la comptabilité, créée selon "l'ancien système".
- Continuer d'utiliser la comptabilité avec le plan des comptes actuel et utiliser un fichier externe de la comptabilité avec une classification des comptes selon le nouveau système (déjà disponible dans Banana 8):
- Créer un nouveau fichier pour le Rapport
Comptabilité en partie double -> Rapport comptable -> Modèle Français (Suisse), Rapport art. 959 Code Suisse des obligations. - Enregistrer le fichier dans le même dossier où se trouve le fichier de la comptabilité.
- Attribuer à chaque compte (dans la colonne Gr1) le groupe référant à la classification selon les nouvelles dispositions, comme défini dans le Fichier rapport comptable, prévu par les nouvelles dispositions (voir page d'explication Fichier rapport externe)
- Imprimer, à des fins fiscales, le bilan et les compte de résultat, en utilisant le fichier du rapport (voir Bilan formaté par groupes).
- Créer un nouveau fichier pour le Rapport
D'autres changements
Les nouvelles normes prévoient encore d'autres changements. Elles exigent également que les notes au Bilan contiennent plus d'informations. Il est également possible d'insérer certains détails directment dans le Bilan/Compte de résultat, ou d'indiquer les informations demandées dans la pièce jointe (par example les dettes ou transitoires actifs envers les actionnaires et membres des organes de la société).
Il s'agit ici de changements importants, qui ont des conséquences fiscales et légales.
Nous vous encourageons de vous faire informer par votre fiduciaire, réviseur ou conseiller fiscal, afin de préparer les comptes 2015 conformément à la nouvelle réglementation.
Au cours des prochaines années, vous pouvez tout simplement continuer selon le système maintanent configuré.
安装Banana财务会计软件
当您下载 Banana财务会计软件的时候,它将自动的保存在您的下载文件夹中。
在您下载之后,如果您没有指定其它的目标文件夹,按默认的设定,软件程序将被安装在相对应的文件夹中 (Windows: C:\Programs; MAC OSX: /Applications; Linux: /bin)。
在以下的页面中,您可以找到如何在所有的操作系统中安装 Banana财务会计软件的详细信息。
欲了解更多关于Banana财务会计文件的信息,请您访问保存,复制和备份的页面。
系统配备要求
Banana 8会计软件可以在Windows, Mac 和 Linux 系统上进行安装和使用。为了能够获得其最佳功能, 我们为您推荐以下的系统配备:
Banana 8会计软件对于Windows系统
- Windows 7, 8, 8.1, 10
(Windows 手机和 RT 不被支持) - 200 MB 的磁盘空间*
- 通过网联网连接进入程序的帮助功能
Banana 8会计软件对于Mac OS X系统
- Mac OSX 64 位: 版本 10.9, 10.10, 10.11, macOS 10.12 "Sierra"
(iOS, IPad 和 32 为不被支持) - Intel 处理器
(PowerPC处理器不被支持) - 200 MB 的磁盘空间
- 通过网联网连接进入程序的帮助功能
Banana 8会计软件对于Linux系统
- Ubuntu 12.04 或者更新的,
其它的部分支持 - Dependency: libc6 (>= 2.14), libstdc++6 (>= 3.4.15), libfontconfig1, libfreetype.6, libglib2.0-0, libgtk2.0-0, libz.1, libpng12-0
- 200 MB 的磁盘空间
- 通过网联网连接进入程序的帮助功能
其它信息
- 指定磁盘的空间要求取决于发生业务的金额以及在会计文件中被使用的账户。150 MB 是一个拥有200个账户和2000笔发生业务的会计文件的平均空间。
- 对于文件的数量是没有限制的。
- 此软件像Excel一样,是一个单一用户的程序。在同一时间只有一个用户可以编辑一个文件。
- Windows版本可以安装在一个服务器上,然后在客户的电脑上运行。
- 此程序可以用终端服务器或类似的远程桌面技术。
- 您也可以访问在服务器上安装的页面。
许可证密钥
页面内容
什么是许可证密钥?
用户购买软件时收到的一个代码,可使用其完全操作软件的所有功能。
许可证密钥分布在以下几个方面:
- 在盒子上, 打印在和CD在一起的宣传单上
- 在发送的邮件中,您在网上使用信用卡购买后 (适用于在我们经销商网站 Share.it 或 Ateneoweb上面购买的用户)
- 打印在发票上 (适用于那些直接向我们购买的用户)。
重要信息: 请您把许可证密钥存放在一个安全的地方。在许可证密钥丢失的情况下,请您阅读我们的页面 许可证密匙丢失。
针对 Windows, Mac 和 Linux 的不同密钥
根据用户的操作系统,提供不同的许可证密钥。
如果在装有 Windows 操作系统的电脑上输入了 Mac 的许可证密钥 (反之亦然),程序会显示许可证无效的错误消息。 已经拥有一个或另一个 Banana 版本的用户可以升级价格购买适用于 Windows、Mac 和 Linux 的第8版本 (30%的折扣)。作为替代方案,您可以免费下载和使用 Banana财务会计软件9的 Beta 版 (直到 2018 年 4 月 30 日),然后购买Banana 财务会计软件9的完整许可证。
精简版是免费的
如果您安装了系统,但是没有输入许可证密钥,那么系统将以精简版的模式运行。
使用精简版,您可以:
- 在完成模式下使用该程序,在发生业务表格中可以最多输入70行的业务。
如果在您的发生业务表格中超出了70行,那么您将不能够保存或导出该文件,并且在打印出的文件中将出现“精简版”的字样。
在您输入许可证密钥之后, Banana会计软件会从精简版本转换到完整版。
输入许可证密钥
- 打开Banana会计软件
- 从帮助菜单中选择管理许可密钥的命令
- 在对应栏中输入许可证密钥
- 点击 "保存许可证密钥"按键
- 如果被询问,请确认操作
重要信息: 只为当前使用该电脑的用户保存许可证密钥。
注册码
在用户输入了许可证密钥之后,当您再从帮助菜单中选择管理许可密钥命令的时候,将出现以下的管理许可密钥的对话框:
出于安全原因,许可证密钥被部分隐藏。
如果用户丢失了他的许可证密钥,可以使用注册码找到其输入的许可证密钥。
复制此注册码并将其保存在安全的地方很重要。
修改许可证密钥
在修改已经输入的许可证密钥之前,请保存您打开的会计文件并关闭它们;只有程序保持打开状态。
要修改许可证密钥,您必须先删除现有的许可证密钥,然后输入新的 (不同的) 许可证密钥。
移除许可证密钥
单击移除许可证密钥按钮以删除密钥。
通过删除许可证密钥,程序会切换回免费版的模式。
输入新的 (不同的) 许可证密钥
- 在相应的区域中输入新的许可证密钥号。
- 单击保存许可证密钥的按钮。
- 如果被询问,请确认操作。
在此操作结束时,关闭程序并重新启动。
许可证密钥丢失
对于 Banana财务会计软件8来说,许可证密钥的恢复被视为技术支持,费用为 70 瑞士法郎。
只有当您有 Banana财务会计软件8的安装文件时,才有可能恢复许可证密钥。Banana.ch不提供以前版本的安装文件(详见 https://www.banana.ch/doc8/zh-hans/node/9014)。
当联系我们的技术服务时,请发送可以在帮助菜单的管理许可证密钥窗口中找到的注册码,或将同一窗口的屏幕打印件作为附件发送给我们。
作为恢复丢失的许可证密钥的替代方案,我们建议切换到Banana财务会计+,每年的订阅费为 69.00瑞士法郎 或149.00瑞士法郎 (具有高级功能的计划,还包括电子邮件和电话支持)。即使没有旧版本的许可证密钥,也可以升级到 Banana财务会计+。
您还可以通过升级获得免费的月数:
- Banana财务会计+ 的功能。
- 财务会计+ 的新增功能。
- Banana财务会计+ 的订阅计划:选择最适合您的。
安装在Windows系统中
安装Banana8会计软件程序仅是短短几分钟的问题,并且一切都是自动完成的。
下载该软件,您要接受Banana会计软件第8版本用户许可协议。
当下载完成后,您只需双击您下载的文件。
通过点击下一步(Next)键, 您将进入下一个窗口。
软件将被以默认的方式保存在 C:\Programmi Files\Banana80 的文件夹中。如果您希望将其保存在不同的文件夹内,那么请您点击浏览(Browse)键,然后选择您想要选择的路径。
程序可以激活默认的创建桌面快捷方式(Create a desktop icon)与结合Banana8.0会计软件和AC2文件扩展名(Associate Banana Accounting 8.0 with the AC2 file extension)的选项; 如果您不想要拥有这些选项,您只需取消对它们的选择。
点击安装键来开启安装的进程。
程序将在您的操作系统语言环境中被自动安装; 您可以随时通过选择工具栏菜单中的基本设置命令,在跳出的软件系统选项窗口中改变程序语言的设定。
输入许可证密钥
在第一次打开程序的时候输入许可证密钥,并且确认保存。
在您输入许可证密钥之后, Banana会计软件会从精简版转换到完整版。如果没有输入许可证密钥,在系统标题文件名称的旁边和信息窗口中会出现一个信息提示,该信息提示会指出该用户正在使用精简版进行工作。
打开程序
在您打开程序之后,请在文件菜单中选择新建的命令。从跳出的建立新文件窗口中,您可以对所需的账户类型,含或不含增值税的选项,语言,以及示例/模板进行选择 (或者您也可以打开一个空白的文件 - 不推荐)
提示: 如果您想要卸载程序,请您在控制面板中的安装/卸载程序选项中选择卸载Banana会计软件的选项。
安装在Mac系统中
感谢自动功能,安装Banana8会计软件程序仅需短短的几分钟。
下载该软件,您要接受Banana会计软件第8版本用户许可协议。
请您遵循以下的步骤:
通过点击保存文件(Save file)键来下载.dmg文件。
当您将该文件保存入已下载的文件夹以后,您只需双击您下载的文件。
把Banana 8会计软件的图标拖入应用程序的文件夹
现在您就可以使用Banana 8会计软件了。双击在应用程序文件夹中的Banana 8会计软件的图标。程序将在您的操作系统语言环境中被自动安装; 您可以随时通过选择工具栏菜单中的基本设置命令,在跳出的软件系统选项窗口中改变程序语言的设定。
输入许可证密钥
在第一次打开程序的时候输入许可证密钥,并且确认保存。
在您打开程序之后,请在文件菜单中选择新建的命令。从跳出的建立新文件窗口中,您可以对所需的账户类型,含或不含增值税的选项,语言,以及示例/模板进行选择 (或者您也可以打开一个空白的文件 - 不推荐)
如果在安装的时候出现了问题,您可以: 选取苹果菜单 >“系统偏好设置”,点按“安全性与隐私”,取消对苹果应用商店和确定的开发商的选择,允许来自任意位置。您也可以查阅 Apple公司网页上的相关信息。
提示: 如果您想要卸载程序, 您只需简单地将在应用程序文件夹中的Banana 8会计软件的图标拉入废纸篓中。
安装在Linux系统中
感谢为Ubuntu 和OpenSUSE所备的本机程序包,使得安装Banana8会计软件变的非常简单。
当下载程序的时候,Banana会计软件第8版本用户许可协议会被自动的接受。
.deb (Ubuntu) 和 .rpm (OpenSUSE)
- 为您的配送下载该程序包
- 双击打开该程序包
- 按照屏幕上的指示
- Banana 8会计软件将被放置在Office应用软件之下的菜单中
- 启动程序
- 为了能够启动完整模式,请输入并保存许可证密钥
如果您想要卸载程序,请打开application Manager (Ubuntu 软件中心, OpenSUSE 安装/删除软件, ...), 选择程序被选择删除。
Packages .tgz
- 下载 .tgz 程序包
- 提取 .tgz 程序包
- 运行文件 banana8/bin/banana8.sh
- 为了能够启动完整模式,请输入并保存许可证密钥
如果您想要卸载程序,请删除含有Banana 8会计软件的文件夹。请注意不要删除用户数据!
在服务器上安装
对于Windows
请注意,如果您想要从多部电脑中执行和使用Banana会计软件,那么您就需要购买与您想要使用的电脑相同数量的许可证密钥。
技术因素的考量
Banana会计软件可以, 没有任何问题的被安装在一个服务器上,一个终端服务器上,和外部磁盘上或者也可被包装为配送,因为:
-
执行Banana会计软件的所有必要措施都已经安装在了安装目录中 (exe, dll, 示例)
-
Banana 会计软件不写在系统目录和系统注册表中
- 用户设置被存储在每个用户的注册表中
-
对于每一个会计文件,有一个单独的文件(像在Excel中的)可以驻留在本地磁盘,网络,USB闪存驱动器或者在Dropbox的目录,Google drive, 或其它相同的系统中。
-
Banana 会计软件与远程桌面系统兼容。
关于文件的更多信息, 请您查阅 文件 - 保存。
直接在服务器目录或U盘上安装
- 请遵循正常的安装程序, 指定服务器或U盘作为目标目录
- 输入许可证密钥
- 然后, 创建和 BananaXX.exe 程序的连接 (XX 代表了版本号),以便于使用本地电脑的用户们或使用U盘的用户们可以运行该程序。
在服务器或U盘上安装和复制该程序:
- 请遵循在本地磁盘上的正常安装程序
- 输入许可证密钥
- 复制目录 C \ Program Files \ BananaXX \ (XX 代表了版本号) 在网络磁盘或U盘上
- 然后, 创建和 BananaXX.exe 程序的连接 (XX 代表了版本号),以便于使用本地电脑的用户们可以运行该程序。
对于苹果机/Mac
如果不能在服务器上安装Banana会计软件。
程序和许可证密钥必须被安装和输入在每一台电脑上。然而,您可以在网络磁盘上保存会计文件。
卸载Banana财务会计软件
在Windows操作系统上卸载Banana会计软件
- 从开始菜单中选择 -> 控制面板
- 选择 -> 程序 -> 卸载程序
- 选择您想要卸载的程序,例如旧版的Banana会计软件
- 点击卸载键
通过卸载Banana会计软件程序,您只将删除此程序; 您个人的.ac2 文件将不会被修改。
在Mac操作系统上卸载Banana会计软件
- 打开Finder
- 选择应用程式文件夹
- 选择您想要卸载的程序,例如旧版的Banana会计软件
- 把所选的程序拉入废纸篓中
通过卸载Banana会计软件程序,您只将删除此程序; 您个人的.ac2 文件将不会被修改。
在Linux操作系统上卸载Banana会计软件
请您参阅“在Linux操作系统中卸载”页面上的详细信息, : Packages .deb (Ubuntu) and .rpm (OpenSUSE) 以及 Packages .tgz 。
Troubleshooting
If you are experiencing a problem starting or using the application follow these steps:
- Install the latest version of the application;
- Install the latest version of the graphics driver:
Visit the manufacturer website, download the driver file and install it; - Consult the Support page;
- Take a look at the troubleshooting pages;
- Report the bug;
Banana 8 crashes while creating new year
Problem
In some very particular conditions, the program Banana 8 crashes while trying to create a new accounting year using the Create New Year command (Account2 Menu)
Solution
- Convert the file of the current year in which you are working (Tools menu -> Convert to new file).
- Create the new year (Account2 Menu -> Create new year) and save this file;
- No need to save the earlier converted file.
Then:
- In the file of the new year, under File Menu -> File and Accounting properties -> Options, define the correct path to the previous year.
Banana8 and hang on printing troubleshooting
Problem
Banana 8 hangs the first or second time the print dialog is opened.
System
The 'Devices and Printers' configuration contains printers no longer attached to the system or printer drivers that are not up to date.
Affected OS: Windows 10, Windows 8, Windows 7
Solution
-
Open Start and select 'Devices and Printers'
-
Remove all printers no longer used or attached to the system
-
Update the drivers of all the remanining printers
Banana8 on Acer Notebooks troubleshooting
Problem
Banana 8 stop working some seconds after the main page of the program is showed.
System
The system is running on a Acer notebook
Affected machines: Acer aspire es 17
Affected OS: Windows 10, Windows 8
Solution
-
Open in Explorer the folder C:\Program files\Banana80
-
Create a new folder 'backup_dll'
-
Move the files 'libeay32.dll' and 'ssleay32.dll' to the folder 'backup_dll'
-
Restart the application
Banana8 on Dell Pc troubleshooting
Problem
Banana 8 stops working as soon an Open File Dialog or a Save File Dialog is opened.
System
The system is running on a Dell computer or notebook.
The software Dell Backup and Recovery (from Softthink) is installed and running on the system.
Affected OS: Windows 10, Windows 8, Windows 7
Affected systems: Dell computer
Solution A (recommended)
- Update Dell Backup and Recovery tools to version 1.9.2.8 or greater
- Check Dell User's Guides and Support pages on how to update your system
Solution B
-
Download the Autoruns for Windows - TechNet - Microsoft utility;
-
Expand the file Autoruns.zip;
-
Run the application Autoruns.exe as Administrator;
-
Select the "Explorer" tab;
-
Deselect all "DBRShellOverlay" entries from Softthinks SAS Publisher
-
Close Autoruns;
-
Restart Banana 8.
Notes
- In one case, after the changes in the registry, the customer had some problems running Internet explorer.
Those problems could be resolved by restoring the changes in the registry. - The number of "DBRShellOverlay" entries to be disable can be on some systems more than two, those entries have to be searched in all sections listed in the tab Explorer.
Resources
-
Dell Forum page "Backup and Recovery causing applications using Qt5 DLLs to crash": http://en.community.dell.com/support-forums/software-os/f/3526/t/19634253
Banana8 with old notebooks and windows 10 troubleshooting
Problem
Banana 8 stop working on startup. After the crash the message "LoadLibrary failed with error 87: Wrong parameter." is displayed.
System
The system is an old notebooks where windows 10 was installed afterwards.
The notebook's discrete graphic card is not officilally supported by windows 10.
Affected OS: Windows 10
Solution
- Update the graphic card driver
or
- Rename in folder C:\Windows\System32 the file "atig6pxx.dll" to "atig6pxx.dll.bak"
Banana8 with second monitor troubleshooting
Banana8 with second monitor troubleshootingProblem
Banana 8 stop working on startup.
System
The computer has an ATI Dispaly card with two attached monitors.
Affected OS: Windows 10, Windows 8, Windows 7
Solution
-
Remove (just an update is not enough) and install again the ATI driver;
-
Try to start the application on the AMD window / monitor.
-
Look for more solutions at: https://bugreports.qt.io/browse/QTBUG-50371
+
Resources
-
Qt bug reports: https://bugreports.qt.io/browse/QTBUG-50371
+
How to report a bug
Send us full details of the issue, giving as much detail as possible, this can include:
- For bugs:
- Steps to Reproduce:
Minimized, easy-to-follow steps that will trigger the described problem. Include any special setup steps; - Actual Results:
What the application did after performing the above steps; - Expected Results:
What the application should have done, if there was no bug; - The accounting file:
An example of an accounting file where the problem occur;
- Steps to Reproduce:
- For feature requests:
- A description of what you would like to achieve, and why.
A user story is an effective way of conveying this;
- A description of what you would like to achieve, and why.
You can submit your issue through our contact form.
Charakteristiken Banana 8
Banana Buchhaltung ist eine äusserst vielseitige internationale Software, die sich sehr gut für die Buchführung in jedem Land eignet.
Besonders ideal für kleine Geschäftseinheiten.
VielseitigPasst sich Ihren Bedürfnissen und Kenntnissen an.
|
Einfach und schnellBeginnen Sie sofort und sparen Sie tagtäglich Zeit.
|
UniversalFindet weltweit in über 127 Ländern Einsatz.
|
ProfessionellPräsentieren Sie Ihre Aktivität einwandfrei.
|
Sicher und zertifiziertMaximale Sicherheit und Datenschutz.
|
Kompatibilität und Austausch
|
Kompletter Support
|
||
Vielseitig
Wählen Sie zwischen verschiedenen Buchhaltungsmethoden |
|
Starten Sie mit der bevorzugten Buchhaltungsmethode und wechseln Sie sie bei Bedarf; bereits erfasste Daten bleiben erhalten:
Es stehen ausserdem mehrere Hilfsmittel zur Verfügung:
|
![]() |
Organisieren Sie die Konten nach Ihrem Wunsch |
|
Sie können den Kontenplan Ihren persönlichen Bedürfnissen anpassen, indem Sie Konten hinzufügen oder löschen und Untergruppen sowie verschiedene Totalisierungsebenen hinzufügen. |
![]() |
Haben Sie die Situation jederzeit unter Kontrolle |
|
Mit einem einzigen Blick haben Sie jederzeit einen umfassenden Überblick über die aktuelle Situation Ihre Tätigkeit.
|
![]() |
Erhalten Sie die Kontendetails auf einen Klick |
|
In Banana Buchhaltung erhält man auf einfachste Art den detaillierten Auszug jedes Kontos, jeder Kategorie oder jeder Kontengruppe: Hierzu auf das kleine blaue Symbol klicken, das oben rechts in der Zelle erscheint, wenn Sie auf eine Zelle mit einer Konto-, Kategorienummer klicken. |
![]() |
Verwenden Sie Segmente und Kostenstellen, um Projekte, Sektoren oder besondere Aktivitäten zu verwalten |
|
Mit Segmenten und Kostenstellen erlaubt Banana Buchhaltung Projekte, Sektoren oder Aktivitäten genau und detailliert zu verwalten, ohne die Kontenplanorganisation untereinanderzubringen. Sie wissen jederzeit über den Verlauf des gewissen Projektes, Sektors bzw. der gewissen Aktivität Bescheid und können detaillierte Ausdrucke erhalten.
|
![]() |
Erleichterte MwSt/USt-Verwaltung |
|
Wird MwSt/USt-Verwaltung benötigt, wählen Sie bitte von Anfang an eine Datei mit MwSt/USt oder konvertieren Sie die bestehende Datei, um die MwSt/USt-Option hinzuzufügen. Alle Berechnungen für die MwSt/USt erfolgen automatisch. Das Programm bereitet für die Schweiz das Faksimile des MwSt-Abrechnungsformulares für die effektive Methode (siehe Abbildung) oder die Saldo-/Pauschalsteuersatzmethode auf. Sie müssen die darauf aufgeführten Werte nur noch auf das Originalformular übertragen. Umsatzsteuervoranmeldung (UStVA)Für die USt-Verwaltung für Deutschland und Österreich sehen Sie bitte die spezifischen Webseiten. |
![]() |
Einfach und schnell
Excel-ähnliche Benutzeroberfläche |
|
Das Layout ist sehr ähnlich wie Excel, so dass Sie sich sofort damit vertraut fühlen. |
![]() |
Perfekt geordnetes Buchungsjournal |
|
Die Tabelle Buchungen entspricht dem Buchungsjournal. Sie ist klar und geordnet und kann direkt gedruckt oder im PDF-Format gespeichert werden. Sie können auch spezifische Perioden oder ausgewählte Zeilen ausdrucken und dabei die Spalten nach Wunsch anordnen. Wenn Sie eine Bewegung eingeben, aktualisieren sich die Kontentotals automatisch. So haben Sie jederzeit eine aktuelle Gesamtübersicht. Sie können für den Text als auch dessen Hintergrund Farben verwenden, um Bewegungen für ein leichtes Wiederfinden hervorzuheben. |
![]() |
Speichern Sie sich wiederholende Buchungen und verwenden Sie sie wieder |
|
Banana Buchhaltung bietet Ihnen die Möglichkeit, Zeilen von sich wiederholenden Buchungen in der Tabelle 'Sich wiederholende Buchungen' zu speichern, um sie bei Bedarf automatisch übernehmen zu können.
|
![]() |
Importieren Sie die Daten der Bank oder Kreditkarte |
|
Sie können Ihre Bank- oder Kreditkartenbewegungen direkt in Ihre Banana Buchhaltungsdatei importieren und müssen sie somit nicht manuell erfassen. Die Finanzbuchhaltungssoftware Banana Buchhaltung verfügt für die grössten Institute über Importfilter, welche ständig angepasst werden; sollte sich Ihre Bank nicht auf der Liste befinden, erstellen wir Ihnen den geeigneten Filter.
|
![]() |
Unmittelbare Ausdrucke und Berichte mit personalisierbaren Einstellungen |
|
Personalisieren Sie die Bilanz- und Erfolgsrechnungsausdrucke. Um die Daten nach Ihrem Wunsch zu präsentieren, können Sie zahlreiche Optionen aktivieren/deaktivieren. Wählen Sie zwischen diversen Grafikstilen aus, ändern Sie die Farben, usw. Sehen Sie das Resultat als Druckvorschau. In den Bilanzausdrucken können Sie auch einen Text für die Bilanzbeilage einschliessen.
|
![]() |
Speichern Sie Ihre Einstellungen für den Ausdruck |
|
Mit dem Befehl Kompositionen können Sie sich auf einfachste Art personalisierte Ausdrucke einrichten. Dies erlaubt Ihnen, für Bilanzen, Kontoauszüge, Buchungen extrahieren und sortieren, Adressen und Etiketten etc. verschiedene Einstellungen zu speichern.
|
![]() |
Universal
Mehrsprachig |
|
Das Programm ist in diversen Sprachen verfügbar: Deutsch, Italienisch, Englisch, Französisch, Holländisch, Spanisch, Portugiesisch und Chinesisch. Sie können die Programmsprache jederzeit wechseln. Auch jede einzelne Datei kann in einer anderen Sprache erstellt werden; in den verschiedenen online verfügbaren Vorlagen können Sie zwischen Dateien in allen Sprachen auswählen. Um die Sprache einer bereits bestehenden Datei zu ändern, müssen Sie diese konvertieren und als Option die gewünschte Sprache auswählen.
|
![]() |
Verwaltung von Fremdwährungen |
|
Sie können soviele Konten in Fremdwährungen eingeben, wie Sie wünschen und in der Tabelle Wechselkurse die Wechselkurse erfassen. Sie haben die Möglichkeit, ein Wechselkursarchiv zu führen. Die Berechnung der Wechselkurse und der Wechselkursdifferenzen erfolgen alle automatisch. Sie können Bilanz, Erfolgsrechnung und Reports auch in einer zweiten Währung erstellen. |
![]() |
Mandaten (Buchhaltungen) |
|
Banana Buchhaltung hat kein Limit für verwaltbare Mandanten. |
![]() |
MwSt/USt-Codes für das Land |
|
Erstellen Sie einer neue Datei mit der Option MwSt/USt und wählen Sie das Land, so finden Sie in der Tabelle MwSt/USt-Codes bereits alle Codes, welche für das ausgewählte Land Gültigkeit haben. Die Tabelle MwSt/USt kann jederzeit integriert und modifiziert werden, falls spezielle MwSt/USt-Codes gebraucht würden oder im Laufe der Zeit neue Codes in Kraft treten sollten. |
![]() |
Länderspezifische Apps |
|
Die Apps von Banana Buchhaltung sind Applikationen, welche zum Beispiel erlauben, mit dem Programm Banana Buchhaltung spezielle Ausdrucke und Reports zu erhalten; einige stehen bereits kostenlos zur Verfügung und Sie müssen Sie nur herunterladen! Sie können auch Ihre eigenen Apps kreieren, um dank diesen sehr spezifische Präsentationen der Erfolgsrechnungen zu erhalten, wie sie von speziellen Vorschriften verlangt werden (z.B. diejenigen von Vormundschaften oder Vereinen) oder um die Vorschriften eines bestimmten Landes zu erfüllen. |
![]() |
Professionell
Verwaltung von Kunden und Lieferanten |
|
Verwalten Sie Kunden und Lieferanten auf einfachste Art. Sie können jederzeit wissen, welche Rechnungen offen und fällig sind. Um alle Details eines Kunden oder Lieferanten zu kennen, können Sie diverse Berichte und Ausdrucke erstellen. Sie können feststellen, aus welchen Beträgen sich die Eröffnungssaldi zusammensetzen.
|
![]() |
Unzählige Berichte, auch für einen bestimmten Zeitraum |
|
Die Möglichkeiten für Berichte sind endlos. Wählen Sie die Spalten, welche angezeigt werden sollen, ändern Sie die Überschriften sowie ändern Sie die Farben. Sie können auch externe buchhalterische Berichte mit den gewünschten Gruppierungen erstellen.
|
![]() |
Datensynchronisierung mit Excel |
|
Um in Excel über die Buchhaltungsdaten zu verfügen, müssen diese nicht mehr kopiert und eingefügt oder exportiert werden. Die ExcelSync-Funktionen erlauben, die Daten aus Ihrer Banana Buchhaltung zu übernehmen und Excelblätter und Grafiken zu erstellen, welche sich automatisch aktualisieren.
Werden in der Buchhaltungsdatei neue Transaktionen erfasst, aktualisieren und berechnen sich die Excelblätter automatisch.
Für Apple/Mac ist diese Funktion leider nicht verfügbar.
|
![]() |
Export in verschiedene Formate |
|
Die Software Banana Buchhaltung erlaubt Ihnen, die Daten in verschiedene Formate zu exportieren: Html, Excel, Xml, Txt. Der Export kann für eine Auswahl von Daten oder die ganze Buchhaltungsdatei erfolgen. Sie können auch nur einige wenige Zeilen exportieren.
|
![]() |
Entwicklung von benutzerdefinierten Apps |
|
Kontaktieren Sie uns bitte, falls Sie spezielle Ausdrucke, Reports oder irgend einen speziellen Output benötigen: Wir stehen Ihnen für die Entwicklung von benutzerdefinierten Apps zur Verfügung. Bitte teilen Sie uns Ihre Ideen und Bedürfnisse mit! |
![]() |
Automatisierte Kontrollen |
|
Eventuelle Fehler werden automatisch gemeldet. Werden buchhalterische Differenzen oder Differenzen in den Anfangssaldi gemeldet, gibt es einen Befehl, um diese automatisch in der Tabelle Konten oder Buchungen zu finden.
|
![]() |
Sicher und zertifiziert
Dateischutz mit Passwort |
|
Jede Datei kann mit einem Passwort geschützt werden. Das Passwort kann jederzeit geändert oder gelöscht werden.
|
![]() |
Buchungen sperren |
|
Sie können alle oder einige Buchungen sperren, um die Sicherheit zu haben, dass diese nicht geändert werden (digitale Zertifizierung). Sie können die Buchungen auch nur schützen, um unabsichtliche Änderungen zu verhindern. |
![]() |
Datenzertifizierung mit Blockchain-System |
|
Die Datenintegrität wird von einem Avantgarde-Zertifizierungssystem (US-Patent Nr. 7,020,640) garantiert; dasselbe, das auch für elektronische Währungen wie Bitcoin verwendet wird.
|
![]() |
Kompatibilität und Austausch
Kompatibilität mit den Vorgängerversionen |
|
Banana Buchaltung 8 hält dieselbe Verwendungsart und Kompatibilität bei wie die Vorgängerversionen und ist mit diesen kompatibel. Mit Vorgängerversionen erstellte Dateien können geöffnet werden und alle darin enthaltenen Daten werden vollständig übernommen. |
|
Für alle Betriebssysteme |
|
Banana Buchhaltung 8 ist in den Versionen für Windows, Mac, Linux, Android und iOS verfügbar. Die Banana Buchhaltungsdateien können zwischen den unterschiedlichen Versionen ausgetauscht werden. |
![]() |
Cloud-Datenaustausch |
|
Die Banana Buchhaltungsdateien können in allen Cloud-Systemen gespeichert werden: Dropbox, i-Cloud, Google Drive, .... so dass mehrere Personen jederzeit und überall auf die Buchhaltungsdaten zugreifen können. |
![]() |
Versand von Banana-Dateien per Email |
|
Jede Banana Buchhaltungsdatei kann per Email (als Beilage) versandt werden, geteilt werden oder auf einem USB-Stick gespeichert werden. Im Menü Datei steht ein praktischer Befehl zur Verfügung, der automatisch eine Email-Nachricht mit Ihrer Datei in der Beilage erstellt, welche bereit zum Versand ist.
|
![]() |
360-Grad-Support
Online-DokumentationEs stehen Ihnen kostenlos über 500 Seiten Online-Dokumentation zur Verfügung. Sie ist nach Themen unterteilt, mit Bildern dokumentiert und enthält Schritt-für-Schritt-Anleitungen. Direkter Link zum FehlerEventuelle Fehler werden sofort gemeldet. Kostenloser SupportBei Fragen im Zusammenhang mit der Nutzung des Programms steht Ihnen der technische Support per Email oder Telefon 12 Monate lang (ab Kaufdatum) kostenlos zur Verfügung. Technical Advanced SupportTechnische Unterstützung und Entwicklung von benutzerspezifischen Lösungen (Apps). |
![]() |
Schweiz: Neue Normen für Berichte
In der Schweiz müssen ab Ende 2015 alle im Handelsregister eingetragenen Firmen die Berichte mit den vom Obligationenrecht (Art. 959a und 959b OR) vorhergesehenen Mindestanforderungen der Bilanz und Erfolgsrechnung präsentieren.
Die mit Banana 7 und Banana 8 zur Verfügung gestellten neuen Kontenpläne entsprechen bereits der vorgesehenen Systematik. Wurde eine neue Buchhaltung erstellt oder erstellt man eine neue Buchhaltung und verwendet dabei die neuen Kontenpläne, verfügt man über konforme Berichte.
Für diejenigen, die über einen "alten" Kontenplan verfügen, gibt es zwei Möglichkeiten:
- Auf den neuen Kontenplan übergehen und Daten der bestehenden Buchhaltung übernehmen
- Eine neue Buchhaltung erstellen. Hierbei einen Beispiel/Muster-Kontenplan mit neuer Nummerierung sowie neuer Gruppierung verwenden.
- In der Tabelle Konten eine neue Spalte 'Konto_1' einfügen und für jedes neue Konto das entsprechende "alte" Konto einfügen.
- Importfunktion verwenden, um die nach "alter" Systematik erstellten Daten der ursprünglichen Datei zu übernehmen und zu konvertieren.
- Weiterhin die Buchhaltung mit aktuellem Kontenplan benutzen und für die Präsentation die bereits in Banana 8 vorhandene Datei 'Buchhalterischen Bericht' mit Klassifizierung der Konten nach neuem Schema verwenden:
- Für den Bericht eine neue Datei erstellen:
Doppelte Buchhaltung, Buchhalterischer Bericht, Beispiele/Muster: Deutsch (Schweiz, Report Art. 959 Obligationenrecht). - Datei im Ordner speichern, in dem sich die Buchhaltungsdatei befindet.
- Für jedes Konto in der Spalte 'Gr1' die entsprechende Gruppe der Klassifizierung aufgrund den neuen Vorschriften (wie in der Datei des Buchhalterischen Berichtes definiert) zuweisen. Siehe Anleitung Berichtsdatei für Bilanz gemäss Art. 959 des Obligationenrechts.
- Für steuerliche Zwecke Bilanz und Erfolgsrechnung mittels der Datei 'Buchhalterischem Bericht' ausdrucken. Siehe Anleitung Formatierte Bilanz nach Gruppen.
- Für den Bericht eine neue Datei erstellen:
Weitere Änderungen
Die neuen Vorschriften sehen weitere Änderungen vor. Sie verlangen ausserdem, dass der Anhang der Bilanz weitere Informationen enthält. Es kann gewählt werden, ob bestimmte Details direkt in der Bilanz und Erfolgsrechnung eingefügt werden sollen, oder ob die verlangen Positionen im Anhang aufgeführt werden (z.B. die Forderungen oder Kredite gegenüber Aktionären oder Mitgliedern der Gesellschaftsorgane).
Es handelt sich um wichtige Änderungen mit steuerlichen und rechtlichen Folgen.
Bitte erkundigen Sie sich bei Ihrem Treuhänder, Revisor oder Steuerberater, um sicherzustellen, die notwendigen Vorkehrungen zu treffen, dass die Präsentation des Geschäftsresultates 2015 den neuen Vorschriften entspricht.
In den kommenden Jahren muss einfach weiterhin nach dem festgelegten Muster gearbeitet werden.
技术数据
应用程序和会计类型
Banana会计软件是一个可以在Windows, Linux 和 Mac操作系统上使用的,其功能性可以允许用户管理不同会计文件类型的本机应用程序:
收益 & 费用核算
- 收益 & 费用核算记账 (几个账户的收入和支出)
- 现金日记账 (单一账户的收入和支出)
复式记账
- 复式记账
- 多种货币记账
标签
每个应用程序可以设置有或没有增值/营业税以及包括:
- 以语言分的会计计划
- 拥有增值税的会计计划
- 不同国家的具体的会计计划
- 小公司的会计计划 (例如家庭,非盈利组织,专业工作室,店主,教堂,等等。)
所有不同的类型与Microsoft办公软件显示出相似性,并且以相似的方式进行操作: 窗口,表格,数据选择,复制和粘贴,查找和替换数据,撤销和回复操作,多种选项的打印输出,数据保护,密码,等等。
主要界面/会计账户/文件
- 多种语言: 中文,英语,意大利语,德语,法语,西班牙语,葡萄牙语和荷兰语 新
- 主要图标界面更加简单,更加用户友好 - 小屏幕的电脑,例如像笔记本电脑这样的会获益最大 新
- 对于多个会计文件的管理: 关于可以被管理的会计文件的数量是没有限制的
- 每个文件都包含了一个会计文件。对于文件的数量是没有限制的
- 每个文件都可以被保存,移动,或者复制到任何一种支持的类型上 (本地文件,网路,CD, U盘)
- 收藏夹列表 - 允许用户可以通过一个单一的点击进入其最常使用的文件 新
- 保护合成设置的可能性 新
- 对于临时工作文件的自动保存 (自动备份 + 文件名称)
- 创建有发生业务或无发生业务的备份文件的可能性
- 每个特定类型的文件可以被转换成另外一种类型
- 对于每种会计的类型,货币的设置可以由用户来做选择
- 通过使用文件菜单中的打开命令,可以打开当前会计文件被保存的文件夹。 新
账户/科目
- 所有瑞士的会计科目表都已根据新的法规做了更新 新
- 无限数量的账户/科目
- 最多256个字符的数字或字母账户
- 自由分组和汇总的设置 (高达100级的汇总)
- 自动重新计算汇总 (可以有切换到手动的可能性)
- 账户/科目数字可以适应任何国家的规定
- 可以在任何时间添加或取消账户
- 双击账户/科目数字不再能够打开账户科目 (而是会进入编辑模式). 为了能够打开账户科目,您需要点击该单元格右上角的蓝色小箭头 新
- 从账户/科目明细中, 通过点击此单元格右上角的蓝色小图标 (该图标被作为链接使用), 您可以打开该相关行的发生业务表,且也可被编辑 新
- 初期余额,实际余额
- 预算以及预算和余额之间的差额 (在整个会计记账期间)
- 按时期的发生业务和余额
- 上年的余额以及上年的差额
- 账户明细,完整的或以时期划分的,显示平衡的条目
- 多种货币: 一种以上的货币账户
- 显示账户货币以及基准货币的数额
发生业务
- 无限量的发生业务
- 无需进行反向交易也可能进行改正
- 直接在单元格内编辑文字是可能的 新
- 直接从单元格的智能填充 (已使用文本的自动完成功能), 且拥有过滤文本的可能性 新
- 在日期一栏中,只需输入 ".",当天的日期就会被自动的输入 新
- 使用鼠标点击借方或贷方的单元格,然后通过使用键盘上的空白键,就可选择您想要输入的账号 (一个账号的下拉菜单会出现,供您选择) 新
- 在状态栏中,所选数额数字的信息,除它们的汇总外,已被添加 新
- 在多货币记账中, 日期的改变也被用作完成发生业务 新
- 当前单元格的位置在行号和列标题上被凸显出来 新
- 在任何时间都有可能添加或取消发生业务
- 通过使用输入键或用鼠标选择它们,经常性业务也可从智能列表中被检索 新
- 非连续的单元格,单个的选择也可能自动整体化 (Ctrl键 + 鼠标) 新
- 简单的发生业务或几个账户
- 把链接插入数位文件的可能性 (PDF, JPEG…)
- "重命名"命令,允许用户在发生业务中使用自动替换来修改一个账户或增值税号
- 自动完成日期和账号
- 在摘要中搜寻账号
- 自动完成发生业务 (甚至基于前一年的发生业务)
- 记忆重复发生业务的可能性
- 以日期,文件日期,数值日期,支付日期,过期日来排序发生业务
- 多于多个发生业务,依然缺失的金额将被显示
- 搜寻发生业务差额的命令
- 日记账: 完成或通过时期
增值税管理
- 定义增值税代码的表格
- 在任何时间添加或编辑增值税代码的可能性
- 对于每一个增值税代码,瑞士增值税申报表的数量是当前的, 为了能够促进定期的增值税的申报
- 账户自动增值税已经在文件和账户属性中被定义了 (基本数据)
- 自动计算与增值税的拆分
- 拆分和增值税报告也在外币金额上
- 计算的一致性和增值税的拆分
- 瑞士增值税报告,有效法和统一税率法, 二者都已经综合在了程序中。数据应该由手动复制在官方的增值税表单中 新
- 统一税率法的增值税表单: 该表单也适用于自动的增值税拆分 (拥有在增值税表格中定义的百分比) 新
- 根据总额或净额定义增值税百分比的可能性
- 增值税注册的账户可以被自由的定义
- 分组总计被直接定义在增值税表格中
- 为了外部分组增补的列
- 用乘数自由定义四舍五入的可能性 (例如 0.05)
- 为所有或一个单一代码定义的四舍五入系统
- 从总额,净额或者只是增值税金额本身拆分增值税的可能性
- 可扣除的增值税也只要是一部分
- 连接一个增值税代码至账户的可能性
- 增值/营业税报表,全球或时期
- 拥有被保护的个人设置的增值税报表 (合成) 新
- 有发生业务和汇总的增值税报告可通过代码,账户,百分比,或者使用用户自己的分组方案来获得
- 进口增值税代码
- 增值税报表可以导出至 Excel / HTML / XML
报表和资产负债表
- 在收益 & 费用核算记账中,按组生成报表已被添加 新
- 有上年和预算数据的资产负债表和报告 新
- 通过时期和最终差额的合成来创建预算的可能性 新
- 收入和支出被显示的和资本定义的报告 (现金日记账和收益 & 费用核算记账) 新
- 在按组生成资产负债表中,"预算差额" 列和 "货币2" 列可以被包含 新
- 在多种货币记账的按组生成资产负债表中,货币符号被显示 新
- 在生成资产负债表和按组生成资产负债表中,大于100%的放大 (字体大小) 功能可以被应用 新
- 在收益 & 费用核算记账中的 "新建Pdf文件" 命令中,包含生成资产负债表和按组生成资产负债表是可能的 新
- 在外部的会计报告中,由用户定义的 "金额" 类型的列会被加起来 新
- 在按组生成资产负债表中, 预算金额适应所选期间和细分 新
- 详细的资产负债表, 也拥有分组 (复式记账和收益 & 费用核算记账) 新
- 使用合成创建报表和资产负债表的可能性 (被保护的个人设置) 新
- 使用直接在表格中的账户明细来编辑和更新会计报表的可能性 新
- 直接在打印预览中编辑会计报表和根据喜好选择设置的可能性 新
- 可供选择的不同风格 (默认的负债表式样)
- 修改资产负债表和损益表标题的可能性
- 通过选择不同的颜色来客制化资产负债表和报表的可能性
- 从资产负债表和报表中排除组, 分组和账户的可能性
- 按时期的资产负债表和报表
- 在具体时期内所请求的数据可以在轮到它们的期间被呈现
部门
- 资产负债表和报表被保存在 Excel, Html, Xml, Pdf 或者被复制到剪贴板
- 部门是一种对于分类和级别没有限制的成本中心。它们对于获取与主要收入和支出相关的或者关于项目的报告是非常有用的
- 部门被同时插入贷方和借方的账户
- 部门报告
成本和利润中心
- 直接被定义在账户明细中
- 与账户有相同的特征
- 在外汇中管理成本中心的可能性
- 每笔发生业务最多可以有三种类型的成本中心
- 使条目包含或不包含增值税金额的可能性
- 定期可用的成本中心报告
转到新的一年
- 自动分配会计记账期间的利润/损失 (复式记账)
- 在负债中创建"当前年份的利润或损失"组,以便获得资产和负债之间的余额
- 新年有导向的,包含有新创建文件的初期
- 账户明细,增值税表格以及初期余额的转换
- 即使上年没有被关闭也可以打开新一年的可能性
- 继续进行上年的最终期末余额的可能性
保护和数据的存储
数据保护
- 为了避免操作,行可以被锁定
- 可以设置密码的可能性
- 通过选择也可以完成行的保护
- 基于电子签名技术的系统
- 专利方法美国专利 Nº 7,020,640
- 发生业务锁定到一个被定义的日期
- 计算控制编号,以验证数据的真实性
- 验证锁定的数据是否已被处理
- 详细说明可能的操作
- 锁定信息报告
- 移除锁的可能性
存储
所有的数据都可以被存储在存档中,并且保存PDF的格式。
数据导出
- 导出文件到 HTML
- 导出文件到 Excel
- 导出文件到 XML
- 导出文件到 PDF - 页面的数量限制为 65'000
- 全球的或定期的输出
- 使用特定的,也可以被保护的设定为每项数据输出创建合成的可能性 新
- 拥有字段的文本文件的输出被标签所分隔,Ascii 或者 Utf8 (Unicode/统一码)字符, 在整个表格或仅是被选定的行
数据导入
- 导入 ISO 20022: 被添加到导入的camt.052, camt.053 和 camt.054 格式 新
- ISO 20022 (*.xml) 和 MT940 (*.txt) 格式的银行对账单可以直接在Banana会计软件中被打开和被展示 新
- 导入银行对账单在 ISO 20022 格式 - 所有的银行和机构采用的标准格式 新
- 从不同的银行导入银行对账单 (UBS, Credit Suisse, Raifffeisen Bank, ...) 直接从Banana会计软件中 - 无需再为每个银行导入和更新导入过滤器 新
- 在导入脚本中, 定义格式的日期和在内部格式中被转换的数额是可能的 新
- 文本文件: 导入的所有拥有字段的文本文件被标签分隔
- 导出整个表格或只是特定行的可能性
- 缺少字段的自动完成功能 (增值税代码, 汇率)
- 导入在Ascii 或 Utf8 (统一码) 字符的可能性
- 直接从剪贴板导入的可能性
- AC2: 从Banana会计软件导入 .ac2 文件
- 从导入数据中指示出会计期间的可能性
- 按以下正确的顺序导入账户和科目
- 导入增值税代码: 允许用户从另外的文件导入增值税代码 (也可从 .txt 格式)
不再被支持的功能
- DDE 界面 - 在第7版本中,基于http协议,将提出一个新的界面 新
系统要求
- Windows XP 或更新的版本, 32 或 64 位
- Mac OSX 10.5 "Leopard" 或更新的版本, 10.9 "Mavericks" (仅 64-位) 新
(iOS 和 iPad 不支持) - Ubuntu 12.04 LTS or 或更新版本的 LTS 新
- Intel 或者 AMD 处理器
(不支持PowerPC的苹果机) - 150 MB 内存 - RAM (随机存取存储器)的要求取决于发生业务的金额以及被插入在会计文件中账户的金额。在此指示出的数值对于拥有200个账户和2000笔发生业务的账户是有效的。不同的会计文件,账户和发生业务的金额是没有限制的
- 可通过网络连接进入此程序的帮助功能
文件
- 在线帮助 - 使用直接链接直接进入程序访问我们的网站 / 所有对话框的详细解释 新
- 索引直接连向各个科目
- 可以直接访问错误信息窗口和警告信息窗口 新
- 帮助中心和从我们网站下载在线手册: en/support_en
电子表格
Banana会计软件把电子表格的易用性和灵活性与会计软件的可靠性和高效性相结合。
Banana会计软件按照Excel的示例所示
关于Banana会计软件的发展, 我们已经提到了Excel, 寻找指令的复制和用户方向。对于电子表格而言,Excel 是最好的软件之一, 我们更新的速度是与时俱进的,我们采用新版Excel作为例子。
Banana会计软件采用Excel的:
- 在所有已被保存会计数据中单个文件的概念。
拥有尽可能多的文件,重新命名,移动或复制文件到外部的支持,到dropbox, 在邮件中附加文件,以及在任何操作系统上移动或阐述他们都是有可能的。 - 该表格收集数据和演示; 他们都具有用户友好的特征。
- 在Banana软件和其他软件中, 单元格是有可能被修改,选择组,取消内容,或执行复制和粘贴的命令。
- 增加新列,移动它们,隐藏它们,放大或使用鼠标使其变窄,或修改显示格式都是可能的。
- 在行的任何位置插入新行,复制或删除它们都是可能的。
- 撤销或重做操作的命令,查找和替换,行排序。
- 立即重新计算,这要归功于其账户余额始终是最新的状态,甚至是在修改后。
- 预览以及打印出在屏幕上看到的格式,以PDF的格式打印是可能的。
- 几种格式的数据输出 (csv, html, xml)。
Banana 是会计软件程序
Banana 从会计程序中取得:
- 会计的结构化设置。
- 预定义的列和公式不能被取消,即使是不小心。
-
当进入及报告任何可能错误时的控制和数据验证。
- 会计的打印输出:资产负债表,损益表,帐户卡,与前一年进行比较。所有这些都可以根据用户的意愿和需要进行调整。
- 导入银行对账单电子格式的数据 (ISO 20022 和其他)。
-
计算和数据的确定性。
Banana 会计软件的具体特点
- 自动完成,提取先前输入的值,并可以输入指示值。
-
错误报告,显示出包含这些红色的行(类似拼写检查)。
- 表内视图允许用户保存和撤回列的不同排序。
- 合成允许用户保存和撤回报告打印输出的配置。
- 会计软件的重复检查功能可以检查所有的交易并且有必要的话会显示错误的信息。
- 在信息窗口关于活动行数据的上下文信息
- 创建一个PDF档案来打印数据以及一个独一无二的,PDF文件的会计报告。
与Excel相比,Banana会计软件的优点
- 完全配置公式和报告的电子表格。
- 不可能被改变的计算公式,即使是不小心。
- 数据合理性检查。
- 会计报告。
与管理软件相比,Banana会计软件的优点
- 用户友好,灵活。
- 更快的数据导入。
-
无需取消操作就可修改和/或取消交易的能力。
-
包含客户感兴趣的不同的会计模式和会计设计。
- 在表格中添加列的能力,并且根据用户的需求或喜好显示。
- 没有使程序更加复杂化和使用困难化的额外模块。
- 无需支付每年的订阅。
与Banana会计软件相比,Excel的优点
- 允许用户创建自己的计算公式。
-
拥有先进的格式化功能。
- 能够创建补充表格和连接日期。
- 拥有众多图形和数据处理功能。
与Banana会计软件相比,管理软件的优点
- 拥有集成模块开具发票和其他的功能。
-
是多用户,而Banana软件只允许同一时间一个用户修改文件。
-
拥有不同级别的访问权限; 相反,Banana会计软件是打开该文件的用户可以对其做任何可能性的更改。
软件更新的技术信息
当您要把 Banana金融财务会计软件从 第5或第6版本 更新至 第7或第8版本 的时候,请您参阅此页面的重要信息。
若您想了解 Banana金融财务会计软件8的新特征,请您点击查阅 Banana财务会计软件8新特征页面。
请您注意: 在Banana金融财务会计软件8中增加了为中文市场和中文用户量身定做的中文版本。
位置或名称的变更
从 Banana 6 到 Banana 7 我们对一些功能的名称进行了变更:
- 可以在表格的单元格内直接编辑数据 (同Excel一样);
- 通过双击可以直接进入单元格的编辑模式;
为了能够打开一个账户明细或访问提取行的命令,在不进行双击操作的情况下,您可以进行以下的操作:- Alt + 鼠标点击
- 点击鼠标右键(打开菜单)
- 用鼠标点击账号右上角的小蓝图标
- 信息窗口被移到了屏幕的下面,
可以通过点击相对应的表格到达信息窗口; - 视图列表已被移动到屏幕的上方,处于表格列表的正下方;
- 当上移或下移屏幕左边的竖直滚动条时,表格的内容也会跟着上下滚动;
- 在发生业务中,日期和文件的指示不再显示;
- 在 Banana 7 中更新账户明细是可能的 (查看右上角的更新图标); 在 Banana 6 中有必要再次给予命令;
- 当打印的时候或查看打印预览的时候,现在可以仅打印所选定的行;
在打印窗口中,选择打印全部或仅打印所选的是有可能的 (仅适用于 Banana 7 的 Windows 版本); - 在日期列中,通过输入“.” 符号, 程序会自动的输入当天的日期;
- 收支记帐被改成了收益 & 费用核算;
- Cash1, Simple1, Cash2 和 Simple2 菜单由报表(1)和任务(2)菜单所取代;
- 按期间划分的账户(Accounts by period) 被改为了会计报表;
- 导出文件至 pdf 格式改成了创建PDF档案;
- 在一些功能中,例如在资产负债表中,一个新的名为“合成”的子菜单被创建,是了调出保存的个人设置(在Banana 6中它们被称为收藏夹文件)。
- 在帮助菜单的 "键盘快捷键" 命令中,您可以找到组合键列表以及与其相关联的命令。
- 在信息窗口, 靠近错误信息的地方, 会有一个“
”的符号: 如果您单击它,您将直接连接到在线页面,解释错误消息,并向您建议可能的原因和解决方案。
文件管理及交换
在 Banana 8 被下载及运行之后 (Windows 或 Mac版本),您可以启动程序,并且打开之前由 Banana财务会计软件第 2.02, 3, 4, 5, 6 或第7版本创建的财务会计文件。
- 由Banana金融财务会计软件第8版本保存的文件可以由Banana第5, 第6以及第7版本打开并且进行编辑;如果您使用的功能是Banana第8版本所特有的 (预算表格,应用程序菜单,有颜色的行等),请不要使用之前的版本;
- 由Banana财务会计软件第5,第6,第7或第8版本保存的文件不能由Banana第2, 第3以及第4版本打开;
- 文件可以很容易地从一个操作系统转至另一个操作系统。
如果文件未列在最近的文件(初始页)中,您可以按照这些步骤来查找它们。
精简版本 / 许可证密钥
如果用户下载并运行了 Banana金融财务会计软件,但却没有输入许可证密钥,那么 Banana第7或第8版本的财务会计软件将以精简版本的形式运行。在精简版本中,用户可以免费使用Banana金融财务会计软件的所有功能,最多可输入70笔的发生业务。
- 如果您想要使用 Banana金融财务会计软件第8版本的完整版本,您需要购买 (更新) 许可证密钥并且将其输入在软件内,您可以从我们的下载页面进行下载。
- 更新版本是拥有优惠价格的正常版本。它同样可以安装在以前没有安装过 Banana财务会计软件的电脑上。
- 根据不同的操作系统,有特定的许可证密钥 (Windows, Mac 或 Linux); 如果您想在 Mac,Windows 以及Linux 操作系统上都可以使用Banana金融财务会计软件,那么您需要购买一个多平台的许可证密钥; 您将收到一个特定的许可证密钥用来激活在Windows, Mac & Linux操作系统上的Banana软件第8版本。此许可证密钥可以最多在3台电脑 (属于同一个所有者) 上被运行。
- 在精简版本中,现金簿也受到最多70笔业务的限制。
在 Mac 机上使用的版本
为了避免与苹果操作系统使用键的冲突,在 Windows 操作系统上的 F4, F5, F6 功能键在 Mac 操作系统中被换成了 CMd+4, Cmd+5, 和 Cmd+6。
恢复Banana 5 和 6 的文件,在Crossover下为Mac创建的
如果您的会计文件尚未保存在“我的所有文件 (All my files)”文件夹中,请按照以下说明操作:
- 在“转到...(go to...)”菜单中选择“转到文件夹...(go to folder...)”的选项
- 输入“〜/ Library”
- 在搜索(Search)区域中输入“ac2”
- 选择“搜索:..(Search in :..)”,选择“库(Library)”
- 复制在“我的所有文件(All my files)”中的“ac2”文件。
警告:在删除 "Bottles"或卸载CrossOver之前,请确保在“〜/ Library”文件夹中没有其它的文件。
导入银行对账单
Banana 第8版本的金融财务会计软件为您提供从可以我们网站上下载的各种导入过滤器。
为了能够导入银行对账单/更新过滤器, 您需要:
- 从报表(1)菜单中选择导入套账的命令,然后再在跳出的窗口中选择导入发生业务
- 点击管理过滤器的选项来查看所有可用的过滤器
- 点击更新过滤器的选项
- 通过选择它们来启用所需的过滤器,并点击启用过滤器按钮
导入邮政储蓄的 Xml 文件
Banana 第8版本使用新的XML ISO 20022标准来导入银行对账单。只有在客户要求时,邮政储蓄才会提供这种格式。因此有必要要求您的邮政储蓄顾问更改格式,并切换到 ISO 20022。邮政储蓄的商业客户可以要求拥有 Pfd 及 ISO 20022 的格式。
多种货币记帐
与早期版本(第5和第6版本)相反,当金额是外汇时,Banana 第8版本会自动的计算其它的值,在不使用 F6键的情况下,汇率或基本货币的金额已被修改。
瑞士增值税报告
为了获得季度增值税报表,能够读取正式的格式,步骤如下::
- 报表(1)菜单 -> 瑞士增值税报告 -> 选择所需的方法 (有效方法或单一税率法) -> 然后选择时间段
- 从Banana财务会计软件第7.02版本开始,增值税报告也将适用于那些提交单一税率法的用户。
按组生成资产负债表
在按组生成资产负债表(在报表(1)菜单中的),在上年的列中,从上年度中结转的余额会被显示。如果在文件与账户属性对话框中的选项标签内没有指示出具体的上年账本,那么余额将从账户表格的前列被结转。
不再支持的功能:
- DDE 连接
主界面
当一个文件被新建或者打开已经存在的文件的时候,软件的结构中会呈现出有下列特点的元素
菜单栏
在菜单栏中包含有由菜单来分组的命令。菜单的改变是由选定的账户类型来决定的。
请您注意: 在苹果机的操作系统中,Banana软件的菜单栏会出现在屏幕的最上方,在苹果标志的右边:
工具栏
在工具栏中所包含的图标允许您可以进入最常用的命令和对话中。
如果您把鼠标摆在相应的图标上,那么您将看到一个对该图标简单的描述。
文字输入区
您可以在单元格中直接输入文字。被输入的文字也会在文字输入区显示出来,文字输入区在工具栏的正下方。您也可以在文字输入区或者单元格内直接编辑文字,或通过双击的方式直接编辑,或使用F2键。
如果智能填充选项被激活的话 (工具菜单中的软件系统选项命令), 在单元格中会出现一个层叠式的文字选项; 您只需选择自己想要输入的文字信息,然后单击回车键或者F6键。
智能填充 (自动填充)
当您输入一个文本的时候,程序会向您建议不同的选择:
- 与输入的文字相似的发生业务
- 账户的列表:在您输入文本之后,该单元格的下拉菜单中会列出包含该文本的所有账户。
执行口令
有些列与某些特定的操作相关联,可以使用执行口令(编辑菜单)或相对应的按键来执行,如在上图中信息窗口内所示的F6键。
一些例子:
- 文件列: 恢复重复行或渐进数
- 摘要列: 恢复相似行的数据
表格
每个会计文件都拥有很多表格。一些是主要的表格,一些是选项表格。根据选择的账户类型不同,表格也有所不同。
视图
视图是用来以特定的列来呈现会计数据的方式。对于每个表格来说都有不同的视图,当您想要以不同的方式展示数据,不改变基本设置的情况下是非常有用的。
视图栏在表格栏的正下方,通过使用数据菜单中的表格的设置内的视图的设置命令,用户可以进行个性化设置。
列
列是表格内的垂直元素。每个表格中都有其特定的列,且该列都拥有其特定的标题。在数据菜单中的列设置命令中,您可以编辑其的呈现方式,大小,摘要,样式,风格,长度等元素。
一些列包含的数据可以被用户编辑,一些列包含的数据只能被使用,而不能被用户编辑 (例如账户明细列)。
为了添加附加的信息,用户可以添加新的列 (通过数据菜单中的列设置命令), 但是输入的数据将不被程序所处理。
一组特定的列组成的视图只显示特定数据。
相关文件: 列设置
信息窗口
该窗口位于屏幕的下方,在此信息窗口中会展示出与激活的表格和单元格相关的有用信息。错误信息是红色的。
错误信息窗口
错误信息窗口的信息向用户展现出系统为您找到的错误信息提示。
点击信息(1)来阅读相关的错误信息提示。
在信息窗口,用户可以通过双击错误的信息连接至出现错误的行。
默认的日期和数字格式
一旦安装了程序, 在操作系统中将被自动设定为默认的格式。
如果您希望改变您的操作系统设定,您需要到面板控制中 (Windows) 或到系统偏好设置中 (Mac)。
在下面您可以找到在Windows 8 和 Windows 10 中的步骤:
- 点击开始菜单,进入面板控制
- 点击 时钟,语言和区域选项,然后再点击 更改日期,时间或数字格式
- 一个对话框将出现,在那里您可以改变数据的格式 (在 格式 标签中)
- 为了改变您的数字或是当前的格式,在同样的窗口中您可以点击附加设置按键,然后再点击数字或货币标签。
在下面您可以找到在 Mac OS X 10.9.5 操作系统的步骤:
- 点击苹果标志(在您屏幕的左上角),点击系统偏好设置
- 从出现的对话框中选择日期和时间图标
- 一个新窗口将出现,在那里您可以选择打开语言和时区...
- 一个新窗口将出现,在那里您可以选择点击高级按键
- 最终一个新窗口将出现,在那里您可以改变数字的格式,日期或时间的格式 (日期和时间标签)
Banana会计软件中的格式与数字
单元格
复制,剪贴和粘贴
正如使用其它正常的Windows系统一样,复制或粘贴单元格,行或者选定的文本是可能的:
- 选择您想要复制的行或区域的数据
- 在编辑菜单中,选择复制或剪贴的命令
- 移动至您想要复制的行或区域
- 在编辑菜单中,选择粘贴的命令
用户也可以通过使用 的图标来进行复制,剪贴或粘贴。或者使用 Ctrl+C 来复制,以及使用 Ctrl+V 来粘贴。
还有复制行,删除行和粘贴行的命令: 在这些情况下,所指的是整行,或一些行,而不是对于单元格的选择。因此不应该使用复制、剪贴和粘贴的命令。
输入文本文字
请您位于想要输入文本的单元格,通过双击该单元格,您可以看到一个下拉菜单,在此下拉菜单中将显示以前输入的所有文本; 在您输入文字的同时,系统会自动的建议您一些和您正在输入的文本相似的,之前输入过的文本; 选择适合的文本,然后:
- 使用回车键 - 为了能够自动输入所选的文本
- 使用F6键 - 为了能够自动输入所选的文本 + 以及其他行的数据 (贷方账户,借方账户,金额, ...)
编辑文本文字
从Banana 7 版本开始就可以在单元格内直接编辑文本; 您只需双击合适的单元格 (或者使用 F2 键) 然后输入新的文本。除非您关闭了智能填充功能,不然其将帮助您完成。
通过选择单元格来编辑文本并在文字编辑区输入新的文本是可能的。当您点击文字编辑区的文本时,在其最左边您会看到一个绿色的对号和一个红色的叉号,其分别代表了: 接受所输入的文本和撤销所输入的文本。
文字换行
在一行的文字信息非常长的情况下,通过使用格式菜单中的计算行高度命令,不仅可以使用户们看到完整的信息,而且还可以调整行的高度。
为了能够配合文字的内容来调整行的高度,用户应该:
-
在数据菜单中选择列设置的命令;
-
选择合适的区域名称;
-
在显示标签中激活文字换行的选项;
-
每次需要时召回计算行高度的命令。
计算行高度命令和上述的是相等的,在表格的所有行的运作是有差异的。
输入账号
把鼠标置于借方账户或贷方账户的列,并开始输入账户的号码或摘要; 系统会为您建议与该账号或摘要相同的账号或摘要。通过使用向下键以及回车键来选择合适的账号或摘要。
请注意: 要想停用去年的智能填充,您必须到文件菜单中选择文件和账户属性命令,然后在选项中取消对智能填充上年发生业务一栏的选择。
文件
Banana 文件与所有的操作系统版本以及同步系统都是相兼容的 (例如 Dropbox,ICloud...)。
欲了解更多信息,请访问文件保存的页面。
新建文件
如果您想要创建新的文件,可以使用以下不同的方法:
- 从程序中为您提供的示例及模板中进行选择;
- 使用现有的文件或模板 (不对其进行编辑):
- 新建空白账本
- 创建一个新的文件,并且从一个会计文件加载数据,但使用不同的会计科目表。
转至新的一年
当转至新一年的时候,为了创建新一年的文件以及自动结转初期余额,有要依循的特定程序。
新文件的设置
当创建具有新特点的新文件时,您需要进行文档初始设置。
新建
相关的文件
- 开始一个新的收益 & 费用核算及现金日记账的文件
- 开始一个新的复式记账的文件
- 开始一个新的复式记账内多种货币的会计文件
- 实用程序
选择初始模板
为了创建新的会计文件, 请您从文件菜单中点击新建命令,然后再从跳出的窗口中选择适合您的模板。
总组
在总组一栏内,列有不同的类别。请您选择所需的。
文件
在这个部分,您可以根据已选的应用类别选择更加具体的类型。您可以选择普通版本,含增值税管理的版本,以及含一种或多种外汇的版本。
示例/模板
通过对语言的选择,您可以看到预定义中可供您选择的多种示例/模板。所有模板的数据和设置(语言、小数四舍五入...)将被使用。在您客制化模板之后,将需使用一个新的名字来保存文件。
在线模板
点击窗口左下方在线模板的选项,您可以访问我们发布了所有免费模板的网址。
创建备份文件
从现有的文件中创建一个新的文件
- 打开源文件:
此文件将不会被更改或编辑; - 使用工具栏菜单中的创建备份文件命令;
- 选择您想要保留的数据:
对于会计文件来说,选择您想要保留的现有金额。
- 保存文件在您所选择的文件夹中 (通常在文档文件夹中)
- 输入公司的名字以及会计年份作为文件的名称,例如 史密斯_公司_2017。
使用网上的模板创建新的文件
下载文件,然后使用 Banana财务会计软件打开该文件
根据您所使用的浏览器,可以使用不同的方法下载该文件。
- 点击文件链接;
- 点击鼠标右键,从弹出的菜单中选择保存文件的命令;
- 打开 Banana财务会计软件,然后把文件或文件的链接拖入到软件程序中。
保存文件名
在您用 Banana财务会计软件打开文件后,您需要使用文件菜单中的另存为命令:
- 选择目标文件夹;
- 为每年创建一个单独的文件夹是有用的,以便您可以在其中保存与那年相关的其它文件;
- 为文件选择一个包含有公司名字和会计年份的名称,例如: 史密斯_公司_2017;
- 软件会为文件添加 .ac2 的扩展名,成为典型的 Banana财务会计文件。
调整模板
- 编辑文件属性
- 输入标题和会计文件的时期
- 输入地址
- 现在可以开始调试账户表
- 输入您的银行账户
- 根据您的需要输入和编辑账户表
当您有新需求的时候,在工作期间您依然可以进行添加或编辑。
- 如果您正在接管一个现有的会计文件,您还需要在初期列中输入初期余额
- 如果您正在编辑一个多货币的会计文件,那么您需要更新汇率。
转换到新套帐
此命令把建立设置的已存在文件转换为具有不同特征的新文件:
- 改变语言
- 改变进位
- 改变文件的类型。例如:
- 从不含增值税的账户转换到含增值税的账户
- 从复制记账转换为多种货币记帐
就好像您已经创建了一个新的空白文件,然后手动传输了数据。
已存在文件的特征可以通过 工具 -> 文件信息 来进行参考。
创建和数据传输
从工具栏菜单中选择转换到新套账的命令:
- 创建一个含有预定义列设置的,指定类型的文件
- 将数据转移到新的文件中, 然后提供必要的转换
- 保存并指示出新文件的名称
当把一个拥有更多选项的文件转换成更少选项文件的时候,在转换过程中会失去一些数据。例如,当把一个含有增值/营业税的会计文件转换成不含增值/营业税会计文件的时候,在转换过程中会失去所有增值税列的数据。
从复制记账转换为多种货币记帐
- 请确保在文件菜单的文件和账户属性命令中已选择了记账本位币 (成为基础货币的币种)
- 请选择多种货币记账为目标账户
- 系统会创建一个多种货币账户,并恢复已存在的数据:
- 发生业务表格包括了管理多种货币账户的列,作为当前的基础货币,兑换率为 1.000
- 在账户表中已存在的账户将由本位币符号来完成
- 汇率表将为空; 因此在发生业务内加入使用的货币和汇率是必要的
- 在账户表内要添加外汇的账户
把不含有增值/营业税的会计文件转换成含有增值/营业税的会计文件
- 选择您所需的含有增值税的账户类型
- 系统会创建一个含有增值税的账户,并恢复已存在的数据:
- 需要完成关于增值税的文件属性,并且默认账户的增值税记录需要被指出
- 增值税码表需有必要的增值税代码
使用导入到套账命令 -> 税码, 已存在账户的增值税码表将被导入 (例如可以从默认的增值税会计模板中导入)。
对话框
- 用户正在使用的文件类型将被指示出来
- 请在文件菜单的文件和账户属性命令中查看更多关于语言,进位和小数点方面的信息
- 呈现出不同选项的列表
文档初始设置
更多的信息,请您参阅指定的页面。
转换至最新的会计计划
下面我们将介绍如何处理以下情况:
- 传递一个不同的编号到会计科目表
- 检索和转换现有的会计数据,包括发生业务
转换为新的一年
本程序会把文件转换为所选定的年份。如果现在已经进入2014年,您可以转换2014的文件。如果您希望用一个新的账户分类表来开始新的一年,这里有两种可能(使用2015年为新的一年进行举例):
- 转换前一年(2014)的文件并创建新一年(2015)的文件。
您将会有两个不同的2014年文件(一个是包含旧的账户科目表的文件,一个是新的文件),以及2015年的单一文件。当您需要两个文件拥有相同的账户科目表时,该操作会非常有用。 - 创建新一年的文件(2015),并将它转换为新的系统。
在该案例中,2014文件将保持不变。对于2015文件,您将会有一个包含旧账户科目表和更新的期初余额的过渡文件。2015文件的转换可以在一开始就完成,但是也可以在输入一些发生业务后完成。
步骤1:创建一个新的会计文件
- 创建一个新的会计文件,并选择所需要的类型。
- 根据您的需求来修改账户科目表。
步骤2:添加匹配的账户
- 在账户表格中增加一个新的列并命名为账户_1(数据菜单;点击列设置窗口内的添加按钮,然后输入账户_1摘要);
- 在账户_1列中,在旧账户分类表中为每一个账户输入相应的账户;
- 如果有些账户需要被分在同一个组内,输入分离账户时请输入一个分号,例如“1000;1000”。
- 如果同一个账户需要被细分为几个账户,您需要进行手工处理,详情参见下文。
步骤3:开始导入操作
- 在报表1菜单中,选择导入套账,然后选择导入文件的命令
- 使用浏览按钮,选择旧的会计计划文件
- 点击OK按钮确认,并进入下一个窗口;
- 定义导入选项;
- 激活账户号码选项,表明该账户匹配在目标文件中。
一个账户细分成几个账户
当一个账户需要被转换成更明细的账户科目表时,把一个账户细分成几个账户是必要的。
在导入操作完成后,您可以从以下几个方式进行手工操作:
- 在账户科目表中,把一个账户的期初账户、预算金额和先前金额细分到几个账户中;
- 一个账户中的过去的交易,需要一个接一个地被细分,并将其分配到具体的账户中,或者当一个数额需要被细分为更详细的金额时,则需要创建额外的发生业务;
- 用相同的方式对预算表格中的发生业务进行处理。
结果和可能出现的错误
假如程序报告错误(账户缺失或其他),导入操作可能需要被取消,匹配需要被完成;然后重复导入操作。
当本程序面临不同的账户科目表时,不能自动完成广泛的核查,因此不能保证所有的数据都可以被导入或是被正确的分组。
因此,我们强烈建议您人工核查结果,确保资产负债表和损益表的总额是正确的。
文档初始设置
如果用户选择了建立新文件信息框中的示例/模板部分的新建空白账本(无会计数据,无账户目录),那么会出现下面的窗口。
语言
此处语言的选择被用在各个表格的列标题上。
金额小数点位数
为了避免会计账户的差异,每个文件的金额小数点位数是固定的。通常使用的是十进制(两位小数),但是有的货币不需要小数点,而是需要插入零。
外汇小数点位数
如果使用的是多种货币记帐,那么在外汇中定义外汇小数点的位数也是必须的。
进位方法
数额将被四舍或五入到最接近的整数。如果数额中出现刚好一半数额的情况 (例如: 100.5 / 101.5 / 102.5 / 103.5),那么下列的系统将会被使用:
- 银行规则 (四舍五入) 会被四舍或五入到最接近的偶数(100 / 102 / 102 / 104)。
- 商业规则(整数进位) 会被四舍或五入到下一个最接近的整数 (101 / 102 / 103 / 104)。这也是在会计记账中最常用到的。
- 第4版软件 小的精确度被使用,在非常特殊的情况下,可以产生不同的舍入。
账户表格中的地址列
当此选项被激活的时候,地址视图将在账户表中被创建。在此视图中,用户可以进入客户,供应商以及成员的地址。
预算表格
当此选项被激活的时候,预算表会被创建,在那里用户可以输入他们的预算业务。
用户可以创建不同的会计文件,使用不同的语言,以及选择不同的小数点。为了能够在会计文件建立后改变语言或小数点的设置,必须通过使用工具栏菜单中的转换到新套帐命令来转换账户类型。
新建空白账本
保存,复制和备份
打开一个文件
- 如果会计文件在本地计算机上或者它们可以通过网络访问,那么就可以在Banana金融财务会计软件中被打开。
如果它们通过电子邮件被发送,那么在打开它们之前,您需要把它们移动到一个计算机文件夹中。 - 在同一时间只能有一个用户编辑文件。
如果您要编辑受保护的文件或者其他用户正在使用该文件,那么为了保存您进行的更改,您需要使用另外的名字来保存该文件。 - 在下列情况中,Banana金融财务会计软件会通知您打开了一个只读文件:
- 该文件位于不可写的磁盘上 (CD-ROM)
- 该文件位于临时不可写的文件夹中
- 该文件被保护或用户没有编辑的权限
- 该文件已被另一个用户打开
- 该文件已被同一用户打开,但是在另外的会话中
如何查找 .ac2 文件
如果您忘记了文件所在的位置,那么您可以使用Windows资源管理器或Mac搜索功能来进行搜索。
在Windows系统的电脑上寻找您的会计文件
Banana 的会计文件拥有 .ac2 或 .sba 的扩展名。Windows的搜索工具将根据您的Windows版本而有所不同。
- Windows 10: 单击应用程序栏上的搜索图标,然后输入“ac2”或“sba”或您的文件名,并单击文档箭头。
- 从Explorer文件管理器中输入“* .ac2”扩展名,“* .sba”扩展名或您的文件名,并让Windows来寻找它。
- 当您位于 Banana金融财务会计软件内的“打开”对话框时 (文件菜单 -> 打开命令), 在右上角的搜索框中输入“* .ac2”或“* .sba”扩展名,然后点击搜索的图标 ,或者选择要让Windows查找您文件的目录。
在Mac电脑上寻找您的会计文件
- 当您位于 Banana金融财务会计软件内的“打开”对话框时 (文件菜单 -> 打开命令), 在右上角的搜索框中输入“* .ac2”,“* .sba”扩展名或者文件名称中的一部分。通过使用图标,选择要在哪里查找您的文件(在整个计算机或选定的文件夹内)。
- 打开Finder,在搜索框中输入“ac2”或“sba”或属于文件名的单词。
- 右键单击Finder图标,然后单击搜索,然后输入“ac2”或“sba”或属于文件名称的单词。
保存一个文件
使用保存或另存为...的命令, 数据将被存储在硬盘上。现有的磁盘数据被替换为新的。
- 一个用户可以在同一时间保存一个单一文件。
在文件没有被其他用户使用的情况下,该文件可以被该用户保存。 - 文件可以被保存在任何地方。
您可以在首次保存文件时输入文件名和存储文件的位置,或者在“文件”菜单中使用“另存为”命令的时候输入。
作为第一选项,Banana金融财务会计软件会建议您将我的文档文件夹作为.ac2文件的目标文件夹,但您也可以通过使用浏览进行更改。 - 如果您正在管理不同的会计文件,我们建议您为每个公司和每个会计年度创建一个单独的文件夹。
- 每个文件可以受密码保护。
会计文件 (*.ac2)
- 不论您使用哪种操作系统,由Banana会计软件创建的文件都会有一个"*.ac2"的扩展名。.ac2文件格式是Banana财务会计软件所特有的。当文件被保存的时候,所有的数据都会被压缩,可以最大限度的节省空间。
- Ac2会计文件与不同的操作系统兼容 (Windows, Mac 和 Linux)。您可以把这个文件保存在Window的操作系统中, 然后在Mac机上将其打开和进行编辑, 之后也可以再在Linux或Windows机上将其打开。
- 每个文件都可以电子邮件附件的形式进行发送,也可以在不同的操作系统上进行编辑,以及重新回传至发送者。
- 会计文件与Banana软件本身是完全分开的,在Windows操作系统的扩展名为.exe。
- Mac的安装文件以.dmg为扩展名,而Linux操作系统的则以.deb, .rmp, .tgz 或 .appimage 为扩展名。
自动保存
Banana会计软件会把您的工作自动创建和保存在以"自动保存_"("autosave_") 为名称开头的临时文件中。在您点击了保存键进行保存或退出程序的时候,此临时文件会被删除。如果您的电脑在您工作期间出现了死机或关机的情况,通过打开此文件来恢复您的数据是可能的。
为了使系统能够自动创建这个临时的自动保存的文件,在程序选项中(您可以通过工具栏菜单进入)相应的选项应该被激活 (通常是默认)。
当程序在突然关闭后再重新打开,发现自动保存的文件(临时)没有被删除的时候,会出现一个提示信息- 询问您是否要检索该文件。 如果用户确认恢复,则原始文件将以此格式重命名: < file_name.ac2 >. > date + time >. bak.
如何复制或移动您的会计文件
Banana会计软件可以把您的文件存储到任何一个可以由操作系统找到的单位中,也可以将其存储在可重写的光盘上。
从不可被重写的光碟中 (CDs or DVDs),Banana会计软件可以把文件以"只读"模式打开。
可以用不同的方式来移动所有的 .ac2文件:
从一个目录移动到另一个:
- 使用Windows资源管理器或Mac搜索功能来寻找您已保存文件的所在目录。
- 将它们复制并粘贴到新的目标目录中 (一旦您粘贴成功,就可以把其从原始目录中删除)。
从一台电脑到另一台:
- 先将文件存储在记忆棒上,然后再存储在新电脑上:
- 打开要被移动的文件
- 从文件菜单中选择另存为的命令,然后把记忆棒选择为目标存储单位。
- 此复制也可通过直接从资源管理器中把会计文件拉到记忆棒中的方式来完成。
- 以添加附件的方式发送电子邮件,然后把它们存储在新电脑上。
DropBox, Google Drive(谷歌公司推出的一项在线云存储服务)以及其它的同步系统
Banana会计软件与例如DropBox 和 Google这样可以使文件同步存储在云端的系统是可以兼容的。
Banana会计软件重写 *.ac2 文件,以及删除 *.ac2.bak 文件。在删除的列表中您可以找到之前所有版本的*.ac2.bak文件。
视图的改变
Banana Android 直接与 Dropbox 服务器一起工作。如果您在电脑上进行更改,通常来说您需要等待几秒钟的时间才能看到在服务器及Banana软件上的更改。
为了确保文件与服务器正确同步,在您电脑上的文件必须标有绿色复选标记。
如果您没有看到同步的符号(绿色,红色,蓝色),那么您必须更新安装在电脑上的Dropbox应用程序。
另一种从您的电脑检查同步状态的方式是点击底部栏的Dropbox图标:
此外,在使用应用程序时不会发生Android同步。 您必须关闭并重新打开它。
请注意: Banana 会计软件不能实现在多于一台的电脑上同时打开一些文件。因此有人删除了一些数据或添加了一些新数据的情况是会发生的。只有近期被保存的文件副本会被保存起来。基于此种原因我们强烈建议您避免在同一时间在同一文件上工作。
安全副本(备份)
我们强烈建议您创建会计文件的外部备份文件, 此举是为了防止可能的数据丢失, 例如出现计算机报废或其它的原因。
- 在Mac机上您可以使用"Time Machine (时间机器)"
- 在Windows系统的电脑上您可以使用"File history"的时光机器备份功能
您可以在市场上找到允许您自动创建数据备份的其它程序。
保存以及 .bak 文件
当进行保存的时候,Banana金融财务会计软件会使用最近的数据来替换现存文件的内容,如果保存过程是成功的:
- 数据被保存在一个临时文件上
只有当保存过程成功的情况下,在您磁盘中的数据才会替换成现有的。 - 只有在 创建备份(.bak) 选项被激活的情况下 (工具栏菜单 -> 基本设置命令 -> 高级标签), 程序会使用相同的名字来重命名已存在的文件,添加.bak扩展名。
一个新的名为 "文件名称.ac2.bak" 的文件会被创建,其包含在保存过程之前的数据。
如果在保存过程中发生了错误,如果例如网络磁盘不再可用,那么请您选择另一文件名来保存您的数据。
从一个.bak文件中恢复您的数据
不论出于任何原因,当您找不到文件的时候,您可以使用由系统自动为您创建的备份文件中恢复您的数据。下面是如何进行的具体步骤:
- 打开保存您会计文件的所在目录
- 打开以 .bak为扩展名的文件。如果其没有在对话窗口中显示出来,那么您需要在窗口的右下方选择"显示全部文件 (*.*)" 的选项
- 一旦您打开了此文件,那么您需要使用和丢失文件一样的名称对其进行保存。
损坏的 .ac2 文件
有时候由于技术问题或病毒的原因,电脑会出现死机的情况。有时候通过电子邮件收到的数据也会出现损坏的情况。基于以上这些原因,我们强烈建议您为您的文件备份。
如果是技术原因,使您的文件损坏,那么我们的技术支持团队可以进行验证,如果数据可以被恢复的话,此项服务是收费的。
恢复自动保存的文件
当以下对话框出现时,说明程序被非正常的关闭了,并且可能无法保存之前对文件所做的修改。
当项目再次被打开时,它可以检测到之前自动保存(临时文件)的文件还没有被取消,并询问您是否想要恢复这些文件。
您可以从以下选项中进行选择:
- 恢复
- 自动保存的文件被复制并且替换原有的文件
- 原文件被重命名为对话框中所提示的名字
- 不要恢复
- 原文件和自动保存的文件均会被保留
- 该项目不会再进行提示自动保存文件已被保留
- 取消
- 原文件和自动保存的文件均会被保留
- 当您下次再打开该项目时,系统依然会进行提示:发现自动保存文件中未保存的改变。
这些未被恢复的自动保存文件将会被保存,并且需要被手动删除。
如果程序停止工作
如果程序被正常关闭,它将会询问是否需要保存修改,以及是否需要删除自动保存文件。
然而,程序也有可能由于以下原因被非正常地意外关闭:
- 意外断电或者由其他程序引起的操作系统被突然停止
- 可能导致程序崩溃的问题
- 由于其他程序或状况导致的操作系统或驱动停止工作。
尝试重启您的电脑,并且不要与其他程序同时进行。- 有缺陷的操作系统或者错误的程序可能会引起Banana财务会计软件的中断。
- 在一些戴尔(Dell)电脑上可能会出现问题。
- 电脑故障(如内存错误)
- 病毒或者一些其他问题
- 有缺陷的操作系统或者错误的程序可能会引起Banana财务会计软件的中断。
- Banana财务会计软件中的问题
通常情况下,如果多次重复某些相同的命令会导致程序崩溃。
如果程序在截然不同的状况下突然中断,这极有可能是由电脑的操作系统问题引起的(见上文)- 首先,确保您使用的是最新版本的软件;然后,及时安装更新;以上问题就会同时解决。
- 由于其他程序或状况导致的操作系统或驱动停止工作。
联系技术支持
检测程序中断的情形:
- 明确程序中断的情形非常重要,这样才可以让技术人员模拟并诊断问题
- 当您联系技术服务时:
- 请描述如何重现问题 - 描述错误发生情形
- 输入您的操作系统详情(您可以在工具栏菜单中的基本设置命中内的系统信息中复制)
- 如果同样的错误总是在某个特定文件中发生,请发送一份该文件的拷贝(注意移除保密数据)
文件属性
当一个新文件被创建后,需要通过使用文件菜单中的文件和账户属性命令来填写基本的数据信息。
文件属性取决于所选择的会计类型。
请访问以下的页面来查看文件和账户属性信息窗口内的不同标签解释。
套账标签
左抬头栏和右抬头栏
它们是两个在上面的空的单元格,任何的文本都可以被输入,其会被作为标题打印出来 (左和右)。
开账日期
开账日期指的是会计账户开始的日期。当然此项也可以是空白的。如果您输入了一个早于会计账户开始前的日期,那么系统将会自动出现一个错误信息的提示。
结账日期
这是会计账户结束的日期。当然此项也可以是空白的。如果您输入了一个晚于会计账户结束时的日期,那么系统将会自动出现一个错误信息的提示。
记账本位币
当前账户处理货币代码。您可以输入任何货币代码,即使是不在列表中的货币代码。当本位币的代码被改变的时候,为了本位币的金额,系统会使用新的代码来改变列的标题。
在多币种会计文件中,必须对本位币做出选择,因为本位币作为功能货币,用于计算资产负债表和损益表。
更改本位币符号
如果您更改了本位币的符号,程序不会改变现有的金额。我们建议您在没有输入任何初期余额和发生业务的情况下更改您的本位币符号。
无外币的会计文件
您可以使用新符号来替换本位币的符号。
含外币的会计文件
- 从文件菜单中选择文件与账户属性的命令,然后在跳出的窗口中更改记账本位币的符号。
- 在账户表格中
- 选择整个货币列(双击列标题)
- 使用数据菜单中的查找或替换命令,然后在跳出的窗口中输入旧的和新的货币符号 - 确保您选择了只搜所选范围的选项,然后点击替换全部。
- 在汇率表格中
为所有的货币输入新的汇率。 - 从报表(1)菜单中选择检查账务的命令。
- 如果存在初期余额或发生业务,则必须手动更改金额和汇率。
选项标签
需要业务发生日期
一旦此项功能被激活,如果输入的发生业务没有相应的日期,那么系统会出现一个错误信息的提示。
人工重新核算总额 (F9)
如果此项功能被激活,那么系统将不能够自动重新核算会计账户主要组内的信息,用户则需要使用F9键。
上年账本
通过点击浏览键,用户可以从上年中选择文件。
智能填充上年发生业务
如果用户选择了此项功能,系统会内存上年的发生业务,并且在用户输入新业务的时候提供它们作为智能填充。
使用负号 (-) 作为部门分隔符
一旦此项功能被激活,那么在发生业务表格内输入的部门代码前面就要使用负号(-)。当此项功能没有被激活的时候,在会计科目表中的部门代码前面要使用冒号(:)。并且冒号始终要在部门代码前使用。
根据科目记录(+/-)成本中心
只有在收支记帐和现金日记帐中此功能才能被激活。通过激活此选项,在成本中心中输入的金额 (正或负)根据科目而定。
如果不是如上所述,此选项并未被激活的话,为了能够输入负值,在成本中心前输入负号是必要的(-CC)。
相关文件: 文本输入,编辑和智能填充
地址标签
在此标签中可以填入有关于该会计文件的公司或个人的地址信息。
外汇标签
增值税标签
其它标签
当前语言
有一些系统自动生成的文件文本 (例如: 在总计表中的行, 账户明细中的发生业务, 以及生成资产负债/损益表的打印输出); 在此标签中,用户可以为这些文本指示出语言 (通常与创建语言相同)。
创建语言
这是当用户创建会计账户时所选择的语言; 此语言会被用作列标题。如果用户想要改变创建语言,使用工具栏菜单中的转换到新套帐命令来转换至新文件是必要的。
应用程序属性
在管理应用程序对话框中被激活的属性列表。为了移除一个应用程序,请删除相应的属性。
密码标签
在没有密码的文件中输入密码
- 在确认旧密码一栏中的显示是灰色的。
- 需要填写您的新密码两次 (分别填入新密码和确认新密码一栏中)。
- 点击确定。
更改现有的密码
- 输入现有的密码。
- 填写您的新密码两次 (分别填入新密码和确认新密码一栏中)。
- 点击确定。
如何取消密码
- 输入现有的密码。
- 在新密码一栏中留为空。
- 点击确定。
提示
使用密码并不能够给予非常高的保护级别。为使能够真正进入第三方的数据,使用适当的加密软件是必要的。
文字标签
在此标签中为了节省额外的信息而输入不同的关键字是可能的,例如会计的名字。
关键字
在此区域内,输入相关的文字 (例如: 地址)。
数值
在此区域内,输入与关键字相关的数值是必要的 (例如: 海洋大道, ...).
添加
此键可以保存新输入的数据。
清除
此键可以清除所选择的关键字。
创建PDF档案
通过从文件菜单中选择创建PDF档案的命令,您就可以看到如下窗口 (或者在工具栏中点击相应的图标)。
文件名
在此区域内,您需要输入程序将创建导出数据的新文件的名称。如果通过使用浏览键选择了一个已经存在的文件,程序将用新数据覆盖它。
立即显示
一旦 Pdf 文件被创建,查看它的软件将被启动。这样一来,导出的结果将立马可视。请您留意像Mozilla和MS资源管理器这样的文件浏览器使用缓存机制。当第二次导出的时候,可能会出现直至浏览器的重新加载按钮被按下前用户仍看到上一版本的的情况。
创建文件选项
标题 1, 2, 3
这些是表格的标题。
页选项
通过激活页选项中的各个选项,可以包括的功能为:
- 页码
- 每部分重新编号
- 日期
纸张大小
您可以选择页面的格式。
其它标签
关于其它标签的解释,请您参阅以下的页面:
最近打开的/收藏夹文件
此命令显示出最近打开的文件以及收藏夹文件的列表。
为了能够清除最近打开的文件列表,请您点击文件菜单,然后选择最近打开的文件命令中的清除最近文件列表的命令。
如下图所示,您可以在刚刚打开的Banana会计软件程序的起始页中找到最近打开的文件列表,然后在最近打开的文件列表中您可以进行仅清除一个单独文件的选择,具体做法为:把光标放在您要清除的文件上,然后点击鼠标右键,之后选择点击清除。(使用Mac机的用户请使用Ctrl + 鼠标右键的组合键方式来执行此操作)。
把文件添加到收藏夹:
- 打开您想要的文件
- 点击文件菜单
- 点击收藏夹文件命令中的添加到文件夹选项
编辑收藏夹文件的列表, 请您按一下步骤:
- 点击文件菜单
- 点击收藏夹文件命令中的编辑收藏列表选项
- 在出现的收藏夹窗口中, 通过使用其中的添加,清除,打开文件所在位置等功能键来编辑收藏夹。
把.ac2文件与最新的 Banana会计软件版本相结合
当安装了Banana会计软件程序之后,".ac2文件的扩展名与Banana 8会计软件版本相结合"的选项会以默认的方式被激活; 作为结果,所有的会计文件都将被在新版本中打开。
若用户在打开程序之前直接点击了该文件,在出现了文件被之前的Banana会计软件版本打开的情况下,请使用以下的方法来解决此处所出现的问题 :
Windows:
- 使用鼠标右键来单击文件图标
- 在出现的对话框中选择 "打开方式"
- 选择最新安装的Banana会计软件程序
Mac:
- 使用鼠标右键 (或 "ctrl "+单击) 来单击文件图标
- 在出现的菜单上选择“获取信息”
- 在"打开..."下选择最新安装的Banana财务会计软件版本,然后单击“全部更改...”的选项。
编辑菜单
在所选行的下面插入空行,请使用下面的步骤:
- 把鼠标放在需要被添加的新行的上面
- 从编辑菜单中选择添加行的命令
- 在弹出的窗口中输入您想要添加的行的数量
- 输入完毕点击确认
您也可使用另外的一个操作方法来添加新行:
- 把鼠标放在需要被添加的新行的上面
- 点击在工具栏的此图标
, 每点击一次将添加一行。我们建议您在需要添加的行数量不多的情况下使用此种方法。快捷键的方式为: Ctrl+Enter。
在所选行的上面插入空行,请使用下面的步骤:
- 把鼠标放在需要被添加的新行的下面
- 从编辑菜单中选择插入行的命令
- 在弹出的窗口中输入您想要添加的行的数量
- 输入完毕点击确认
为了删除一行或更多的行,选择您想要删除的行,然后从编辑菜单中选择删除行的命令。
使用编辑菜单中的行保护命令,可以用来避免由于失误造成的改变。
保护的行不能被编辑直到使用编辑菜单中的解除行保护命令来移除保护的功能。
使保护生效的步骤为:
- 选择想要保护的行
- 从编辑菜单中选择行保护的命令
- 在完成输入想保护的行的数量后点击确定。
被保护的行拥有浅灰色的行号。为了能再次编辑它们,请先使用编辑菜单中的解除行保护命令来移除保护的功能。
数据菜单
查找和替换
需要查找的文本和被用作替代的文本应该与在文本输入区所显示的拥有相同的格式。例如,在千位数的数额中不应该插入分隔符。
搜索文本
输入要搜索的文本。
替换为
输入替代文本。
选项
字词精确搜索
如果此选项被激活,系统会为您找到全字匹配。例如,您搜索的是"银",那么将不会找到"银行"。
区分大小写
如果此选项被激活,系统会为您区分大写字母和小写字母。
只搜所选范围
如果此选项被激活,系统将仅搜索选定区域的信息。
替换全部
使用此键可以一次性的替换整个文件中所需的数据。
替换
使用此键可以一次替换一个数据。
查找下一处
使用此键会开始一个接一个的搜索数据。如果搜索中的数据不存在,那么会出现 "未找到该内容" 的信息。
查找
点击数据菜单中的查找命令。若您想继续查找,还可以直接使用数据菜单中的查找下一处(或直接使用F3快捷键)或查找上一个命令。
搜索文本
输入要搜索的文本。 必须输入不带分隔符的数额。
选项
字词精确搜索
如果此选项被激活,系统会为您找到全字匹配。例如,您搜索的是"银",那么将不会找到"银行"。
区分大小写
如果此选项被激活,系统会为您区分大写字母和小写字母。
只搜所选范围
如果此选项被激活,系统将仅搜索选定区域的信息。
重命名
此命令允许用户无须在发生业务内输入必要的修改就可以改变账户或科目的数字 (账户表或科目表) 以及增值税代码 (增值税代码表)。
为了能够重命名,您需要:
- 把鼠标置于您需要改变的单元格 ((账户表或科目表号码, 增值税代码);
- 从数据菜单中点击重命名的命令;
- 在出现的窗口中输入新的名称。
然后,该软件将运行如下 (例如您想要重命名一个账户):
- 验证没有其他的账户或组拥有相同的数字; 如果有,那么软件会提醒并且询问用户是否还想继续。请注意: 在会计账户中不可能有相同的账号;
- 验证需要被重名民的地方地被使用,并且确保行没有被保护或阻止; 如果它们被保护或被阻止的话,那么会出现重命名的操作不可被继续执行的提醒;
- 在表格中以及在文件属性中,用新的账号来替代已被使用的账号。
此软件不重新计算总计,只需重命名账号。
转入
在数据菜单中点击转入命令之后,系统会弹出一个窗口,在此窗口中用户可以转到所需的行。当选定的表格处于激活状态的时候 (例如,账户明细), 通过使用在数据菜单中的转入原始行命令,系统会自动把用户带到发生业务表格中相应的行。
提取和排序行 (提取)
在数据菜单中可以找到提取和排序行的命令。此命令和数据菜单中的行排序命令是不同的,因为它会创建一个新表,其中显示提取或排序的结果。原始表格的行将不会被改变。
提取
在提取表中,您可以单击行号(带下划线)返回到原始表的行。
列
您需要选择要从中提取数据的列。
条件
您需要选择提取的条件 (例如: 大于, 小于, 包含文本, 开始, 结束, ...)
数值
在此区域内,您必须输入您想要使之与条件相较的文本 (例如, 如果条件是 等于= , 输入 25.01.2015 作为数值, 系统将提取2015年1月25日的所有发生业务)。
如果被选择的列为日期,那么数值也是日期; 如果选定的是量,那么数值将以值的形式表现出来; 如果选择列是摘要,那么数值将为文字。
添加
此键允许用户为提取添加新的区域。
全部清除
点击此键会清除您之前在提取中填写的所有信息。
仅选定行
此选项仅在已有选定行的情况下可用。一旦被激活,仅选定的行会被排序。
总行
如果此选项被激活, 该系统将显示提取行总行的金额。
排序
列排序会被指示。其选项与行排序命令中的是一样的。
合成
可以在合成页面上找到更多的信息。
帐户列表示例
有时候您仅需含有账户的列表。
- 请您处于账户表的位置
- 使用 "提取和排序" 的命令
- 在列中,选择 "账户"
- 根据条件,注明 "不空"
如果您想拥有按摘要排序的账户:
- 请您处于 "排序" 的部分
- 在 "排序依据" 一栏中,注明 "摘要" 列
如果您仅想显示特定的列,您可以使用表格设置的命令创建一个新的视图。
提取和排序行 (排序)
在数据菜单中可以找到提取和排序行的命令。此命令和数据菜单中的行排序命令是不同的,因为它会创建一个新表,其中显示提取或排序的结果。原始表格的行将不会被改变。
排序依据
您可以选择所需的排序标准。
然后按照
除了主要的排序标准外,系统还允许您选择另外的两个排序标准。
递增
行排序以递增的顺序完成,同时也考虑到所选的排序标准 (日期, 文件, ...)
递减
行排序以递减的顺序完成,同时也考虑到所选的排序标准 (日期, 文件, ...)
数字
如果所选列的排序标准只含有数字,那么您需要查看此选项。
全部清除
点击此键会清除您之前在提取中填写的所有信息。
行排序
在数据菜单中可以找到行排序的命令。请注意行排序的命令和数据菜单中提取和排序行的命令是不同的,因为其会根据您所输入的排序关键词,改变您当前正在使用中的表格内列的顺序。我们建议您在点击确定键之前要非常小心,尤其当您在账户表中工作的时候,因为您有可能会改变整个会计计划的结构。
表格内的行可以根据列的内容被排序。可以最多输入三个排序关键词:
排序依据
从下拉列表中选择您所需的排序关键词。
然后按照
除了第一个排序关键词之外,您还可以选择另外的一个排序关键词。
递增
行排序以递增的顺序完成,同时也考虑到所选的排序关键词 (日期, 文件, ...)
递减
行排序以递减的顺序完成,同时也考虑到所选的排序关键词 (日期, 文件, ...)
数字
如果所选列的排序关键词内只含有数字,那么您需要激活此选项。
全部清除
点击此键会清除您之前所选的全部排序标准。
仅选定行
此选项仅在已有选定行的情况下可用。一旦被激活,仅选定的行会被排序。
表格设置
点击数据菜单中表格设置的命令。
此命令允许您管理:
- 表格
这些元素包含格式或行和列中的数据。
- 视图
被指示在每个表格下。
这些因素用来定义表格内列的呈现方式。
通过对视图的设置,用户可以定义可视的列,被展示列的序列以及展示其的形式。
视图的设置
为了能够添加表格,请您参阅添加新功能的页面。
对于每个表格,您可以定义:
- 名称
文件语言中表格的名称。在此区域内所输入的信息不能含有空格或特殊符号。
只有被添加的表格才可以更改名称。 - Xml 名称
此名称被用于编程。在此区域内所输入的信息不能含有空格或特殊符号。
只有被添加的表格才可以更改名称。 - 标题
出现在表格列表中的名称。 - 可视
指示出该表格是否可视。
管理视图
名称
为所选的视图输入新的名称是可能的。
Xml 名称
这是导出的Xml的视图名称。系统视图不能更改此名称。
数字
这是程序自动给予视图的数字。
可视
在选择此功能后,此视图将可视。
系统
如果此选项被选择后,那么该视图将成为系统视图,并且不能被删除或编辑。
列设置...
显示允许编辑列的列设置页面,在其中既可显示,也可对其进行设置。
页面设置...
点击该键进入页面设置。
添加视图...
使用此键为有效表格添加新视图。
删除...
使用此键删除视图。
设置为默认
定义被使用的视图。
列设置
点击数据菜单中的列设置命令。
显示标签
标题
这是列的标题。
标题 2
被系统作为仅是一些区域的标题来使用 (例如. 金额列)。
摘要
这是此区域的摘要。此摘要将被作为提示信息而显示。
格式
此格式被用来显示数字,日期和时间 (查看本页面的最后一章节)。
宽度
此部分定义了列的水平尺寸。
列的风格
这是一个下拉菜单,指示出被使用的风格 (格式,菜单,查看分章节)。这个风格优先于行的风格。
对齐文字
用户可以选择或左对齐,或右对齐文本,或在下拉菜单中居中。
文字换行
此选项允许用户可以查看多于一行的文字输出。
设置保护
此选项允许用户保护整列,以便没有数据可以被输入或编辑。
不含打印
当此选项被激活后,打印时该区域将被排除在外。
可视
此选项允许用户使列可视。
表格可以被改变。可以添加字段,可以改变标题,也可以改变显示出来的列的大小和顺序。
上移,下移
在列设置窗口左侧所列出来的各个字段的顺序正是它们在表格中所变现出来的顺序。可视的字段前面会有一个对勾。
为了能够改变它们的顺序,您只需要选择您想要改变顺序的相应字段,把其进行上移或下移。
添加
使用此键可以在当前表格中添加新的字段 (列)。被用户添加的字段只是信息字段; 系统不做任何数值型数据的计算。
删除
使用此键可以从列设置窗口左侧所列出来的字段列表中删除字段 (列)。系统自身的字段 (列)不能被删除。
设置标签
名称
这是已激活的字段的名称,被系统自动输入,不能被更改。
名称 Xml
这是已激活的Xml格式字段的名称,被系统自动输入,不能被更改。
数据类型
从以下预定义的类型中选择是有可能的: 文字,数字,金额,日期,时间。
最大和最小长度
字段的最大和最小的长度。
最大和最小值
输入最大和最小值是可能的 (数字或字符)。
小数点
定义该字段小数点是可能的。
列号码
这是为字段自动给定的数字,并且具有独特的技术目的。
全为大写
点击此选项,所有的字段数据将显示为大写。
日期, 小时和数字格式
当格式被修改,日期,时间和数字显示的方式也会随之改变.
如果没有特别指定的格式,那么将使用Windows默认的格式 (日期,时间和数字都在控制面板中有所指示)。
在设置字段/编辑属性的格式区 (数据菜单) 用户可以使用其它的格式。关于格式的类型,以下我们为您列出了一些例子:
格式日期 |
日期例子 |
d mm yy |
1 01 15 |
dd m yy |
01 1 15 |
ddd mmm yyyy |
星期五 一月 2015 |
dddd mmmm yyyy |
星期五 一月 2015 |
字母 “d” (日) 指示的是"日", 字母“m” (月) 指示的是 "月份", 字母 “y” (年) 指示的是 "年份"。 |
格式时间 |
时间的例子 |
hh:mm:ss:zzz |
04:04:36:089 |
h:m:ss:zz |
4:4:36:89 |
自然,用户也可以按照自己的需求改变日期和时间因素的顺序 (例如: mm dd yyyy). |
|
至于分隔符,用户可以选择在键盘上可供选择的 (例如: #, @, -, /, ., 等等)。 |
数字格式 |
数字的例子 |
0. |
259 |
0.00 |
258.85 |
0.000 |
258.848 |
数字字段中的十进制空间数可以根据用户的需要进行编辑。实际的计算是通过输入十进制的数字来实现的。四舍五入只是完成了屏幕上所显示的部分。 |
新列
名称
输入要被添加的新列的名称。
名称Xml
导出在Xml和脚本(scripts)中的新列的名称。
数据类型
从以下预定义的类型中选择是有可能的: 文字,数字,金额,日期,时间。
新视图
视图名称
输入您想添加的视图的名称。
视图名称Xml
这是Xml导出的视图名称。
格式菜单
在格式菜单中存在以下命令:
默认风格
这是整个文件的默认风格。
点数
使用不同的点数来定义字体的大小。
加粗和倾斜
修改默认风格
改变默认风格:
- 把所需的风格归为一行
- 在格式菜单中选择修改默认风格的命令
所有拥有原始默认风格的行将被显示在新的默认风格中。
计算行高度
在一行的文字信息非常长的情况下,通过使用格式菜单中的计算行高度命令,不仅可以使用户们看到完整的信息,而且还可以调整行的高度。激活此功能的条件是,在字段属性 (数据菜单, 列设置的显示标签中), 选择文字换行的选项。
计算所有行的高度
此命令和上面计算行高度的命令有着相同的操作方法,除了它适用于表中的所有行,而不是只有一个这点除外。
分页符
在文件中的任何地方,用户都可以插入分页符。
为了插入分页符:
- 将光标放在被创建的新页面的第一行;
- 打开格式菜单;
- 选择分页符命令
移除分页符:
- 把光标放在有分页符的那一行;
- 打开格式菜单;
- 再次选择分页符命令
突出标记所选行
为了能够突出标记所选行,您需要:
- 选择您需要突出标记的行,然后在工具栏找到这两个图标
, 如果您想为所选行的背景替换颜色,那么请点击第一个图标进行选择; 如果您想为所选行的文字替换颜色,那么请点击第二个图标进行选择。
- 要停用或更换此颜色,选择相对应的行,然后点击自动的或其它的颜色。
工具栏菜单
套账信息
工具栏菜单中的套账信息命令会为您显示出文件的特点。
列
通过激活完整的视图,Xml列也会被呈现, 通过这些可以在导出表格的时候自动传输数值。
- 类: 数值的组名称
- 标识(ID): 具体和明确的数值标识
- 摘要: 包含对数值的解释
- 以粗体打印的行是由不同元素组起来的类标题
- 数值: 格式化值
- XML部分: 此部分的名称为英语
- XML标识: 英语的标识
- Xml数值: 此字段的内容为Xml格式
XML部分和Xml标识定义了明确的标识值。
添加新的功能
点击工具栏中添加新功能的命令。
可供使用的选项根据不同的文件类型也会有所不同。
添加一个新的简单表格
其允许您添加完全由用户管理的表格。
一旦被添加,表格就不能够被删除。
您需要指示出表格的名称。
该表格将有两个预定义的列:
- 识别号码列 - 指示出所选的组
- 摘要列 - 输入文本
在此表格内,使用数据菜单中的列设置命令来添加新列。
新建表格文件
在新建的文件表格中,可允许包含文本,图片或编程代码,以及创建资产负债表的附件以及其它的附件。
文件表格中包含下面的列:
- 识别号码列
其指的是文件的名称。
以“_”号开头的文件有特定的含义。- "_budget.js"
您输入为预算所创建的特定功能。
- "_budget.js"
- 摘要列
其指的是对文件的摘要及描述。 - 附件列
显示对内容的摘要及描述。
如果您选择双击单元格,会跳出选择数据的窗口供您选择;如果您选择点击单元格,您会看到在该单元格右上角的小图标,点击此图标,会跳出选择数据的窗口供您选择。
在账户表格中添加地址列
此功能是针对会计文件而言的。
此功能允许您在账户表格中添加特定的列用来输入客户,供应商或会员的地址。
在账户表中,程序会添加以下的项目:
- 地址视图,在其中地址列是可见的
- 在此列中允许您输入地址的数据以及其它的信息
添加预算表格
此功能是针对会计文件而言的。
使用此功能将添加一个预算表格,在预算表格内您可以输入预计要发生的业务。
程序将执行以下的操作:
- 添加预算表格,在其中将指示出在账户表格内所示的预算数据 (如果存在的话)
- 锁定账户表中的预算列
从现在起,此列中的金额,将根据预算业务以及在文件和账户属性中所定义的期间来计算。
请您点击预算页面来查看更多的信息。
在发生业务表中修改增值税金额类型列
此功能是针对含有增值税管理的会计文件而言的。
此功能允许您编辑在发生业务表格内的金额类型 (增值税金额类型)。
此列允许您在必要的情况下,为每笔发生业务输入以下所示其中之一的增值税金额类型:
0 (或者空的单元格) - 意味着包含增值税 (包含增值税/税)
1 = 不含增值税 - 意味着不包含增值税 (不包含增值税/税)
2 = 税额 - 发生业务金额被认为是 100% 的增值税/税额
对每笔发生业务,像在增值税码表中的设置,程序会自动填充数据 (为每个代码)。然而,在特殊情况下,当其需要改变的情况下,在金额类型列中您可以手动输入1 或 2。
软件系统选项
通过点击工具栏菜单中的基本设置命令,便会出现软件系统选项的窗口。
在软件系统选项窗口,几个技术选项对于会计文件是可能的。
在以下的页面您将找到更多的细节信息。
界面
通过点击工具栏菜单中的基本设置命令,便会出现软件系统选项的窗口。
程序
语言
这里的语言指的是被程序所使用的语言。如果默认语言不可用或者用户想要选择和默认不一样的语言,那么可以通过使用下拉菜单来进行选择。
字体
通过下拉菜单用户可以选择其想要的字体。
缩放%
如果用户想要使在表格中所显示的数据呈现不同的尺寸,那么可以通过调节缩放功能来实现。
负数显示为红
在表格中的负数及其数额将显示为红色。
启动
检查更新
此选项和 Banana 会计公司的网站建立了连接,会及时的比较与您当前使用的版本相比是否有新的更新。
显示起始页
起始页会被显示。
显示最近使用的文件
在文件菜单的最近打开的文件选项中,您会看到最近被使用过的文件列表。
启动Web服务器
这项功能使从外部程序进入 Banana 会计数据成为可能。
编辑器
通过点击工具栏菜单中的基本设置命令,便会出现软件系统选项的窗口。
状态
单击编辑表格
通过激活此选项,只需在所选的单元格进行单击便可进入修改模式。如果此功能没有被激活,那么您则需要双击所选的单元格才能进入修改模式。
自动填充文本
通过激活此选项,程序会自动在下拉列表中选择第一个草案文本,并且会在您所在的位置自动填充文本。
被选范围金额汇总
通过激活此选项,程序将会加总所选的金额。如果这项操作减缓了某些操作的速度,那么请您停用此选项。在您使用鼠标左键选择单一单元格的同时,您可以通过按住Ctrl键来选择不相邻的数额。
进入下一行
通过激活此选项,在您点击回车键之后,光标将出现在下一行上。
输入
撤销次数限制
当使用编辑菜单中的撤销命令时,您可以插入撤销操作的最大数目 (一次一个) 。
记忆行输入限制
当输入数据的时候,该程序读取已输入的数据,并试图建议如何完成输入。在有很多行的情况下,此功能可能会减慢此进程。
用户们可以定义行数的限制,上面的智能填充将不能被使用。如果没有数值被输入,或者为零,那么智能填充则会永远被使用。
高级
通过点击工具栏菜单中的基本设置命令,便会出现软件系统选项的窗口。
备份
自动保存 (分钟计数)
此选项允许根据所需频率自动保存文件 (在几分钟内)。该程序将数据保存在一个叫做自动备份 + 文件名称的文件中。如果程序或电脑死机,打开此文件可以恢复数据,并且可以通过文件菜单用一个名称对其进行保存 (另存为...)。
创建备份 (.bak)
当用户使用同样的名称保存至磁盘的时候,已经存在的文件版本会被以 .BAK 扩展名为结尾的文件重新命名。
文件扩展名
安全的文件扩展名
此选项定义软件同意在发生业务表格的文件链接列通过双击打开的文件类型。这可以防止由程序打开非安全文件。
恢复默认
如果某些设置已被更改,通过使用此按钮,将恢复默认设置。
开发商
通过点击工具栏菜单中的基本设置命令,便会出现软件系统选项的窗口。
开发商选项
此标签包含了有用的脚本选项和应用程序,以及Banana会计软件的 http 页面开发人员。
启用截屏功能 (Ctrl+3)
在此功能被激活后,使用 Ctrl + 3 的快捷键方式,将可以对当前的表格或对话框进行截屏及保存。
显示警告和关键信息
在此功能被激活后,程序将显示警告和关键信息。
警告和关键信息可以在脚本或加载执行期间,或在网络服务器调用期间检查程序是否正常工作。此选项是为脚本,插件或http表开发商而准备的。
显示调试信息
如果这个选项被激活,将向用户显示调试消息。
次选项仅在被Banana会计软件技术人员询问之后才需要被激活。
系统信息
通过点击工具栏菜单中的基本设置命令,便会出现软件系统选项的窗口。
系统信息一栏显示出操作系统和工作环境的信息。我们的技术支持可能会要求您提供此信息。在此种情况下,请您点击"复制到剪贴板"的按键把数据复制在电子邮件或者联系表中。
应用程序菜单
Banana会计软件应用是JavaScript的应用程序使用Banana特定的程序编程接口 (API应用程序接口)。
感谢Banana的应用程序,使得用户们可以有能力加入一些新的扩展来涵盖广泛的需求: 报表,计算,导出,导入,以及更多的。
为了看到所有可用的应用程序和了解更多的信息,请您访问BananaApps列表的页面。
应用程序菜单
应用程序菜单允许您运行应用程序以及管理它们 (添加,清除,启用...)。
只有满足了必要需求的应用程序才会被列在应用程序菜单中:
- 和当前文件同样类型的应用程序
- 在文件属性中,它们应该有Banana应用程序说要求的属性
您可以通过使用应用属性按键来将所需属性分配给当前文件。
添加/安装一个Banana应用程序
为了能够使用一个Banana应用程序,您首先需要在“应用程序”菜单的“信息窗口”列表中添加它:
- 把应用程序文件下载并且保存在您的电脑上
- 您可以自由选择保存Banana应用程序文件的地方。通常来说:
- 在文件中涉及到一个特定的会计文件的情况下,使用会计目录
- 为Banana应用程序创建一个目录,在那里被用于多个会计的应用程序可以被保存。
- Banana应用程序是一个文本文件
如果您点击包含Banana应用程序的链接,那么您将看到 Javascript 程序。- 使用您浏览器中保存页面的命令
- 或者,不直接点击链接,而是把鼠标放在链接上,点击右键,并且选择另存的命令
- 您可以自由选择保存Banana应用程序文件的地方。通常来说:
- 添加Banana应用程序至可用的应用程序列表,
- 应用程序菜单 -> 管理应用程序 -> 添加...
- 选择之前已保存的文件 (.js 扩展名的文件)
- 点击打开
如何执行Banana的应用程序
- 打开 Banana财务会计软件8
- 打开所需的财务会计文件
- 点击应用程序的菜单
- 点击在菜单中出现的应用程序
程序会自动执行应用程序。
开发/创建一个新的应用程序
您需要创建一个文本Javascript文件,用来与Banana应用软件的需求相匹配。
为了能够写此文本,我们建议您使用一个文本编辑器(Text Editor)来进行具体的编程,也有免费使用的 (比如说例如,Notepad++)。
为了能够开发一个Banana应用程序,最好从一个已经存在的项目开始。
- 从 github.com\BananaAccounting 网址中选择一个现有的项目形式开始
- 我们网站上的 软件开发者的参考文献
- 使用管理应用程序命令来安装应用程序
管理应用程序
在下面的对话框中允许您安装,清除和执行Banana应用程序。
可用的应用程序的列表
在此列表中您可以找到之前你所添加或安装的所有应用程序。
启用/禁用
通过启用/禁用应用程序名称旁边的复选框,您将启用(禁用)该应用程序。
只有启用的应用程序将在应用程序菜单中可见。
如果一个应用程序的颜色为浅灰色,那么意味着此程序没有找到Banana应用程序文件。如果此文件被移动了,那么您需要清除该程序,然后再进行添加。
所选应用程序的信息
程序给出了一下信息:
系统应用程序
系统应用程序是那些可以启用或禁用的软件中的应用程序
其它应用程序的列表是由用户安装的。
应用程序标识(ID)
内部应用程序标识被用于保存应用程序设置。
所需文件类型
应用程序所需执行的文件类型。
这是目录号。 100.* 意味着应用程序需要一个复式记帐文件。
所需文件的属性
必须使用应用属性按钮或手动在文件属性中输入的文本。
应用属性
它将包括在当前文件中应用程序所需要的属性。
如果此键没有激活,那么意味着此应用程序不支持当前的文件。
侧键
执行
运行所选的应用程序。
调试
选定的应用程序在调试模式下运行。
细节
打开一个有细节的对话,比如标识或身份,日期,作者等的应用程序。
编辑
以默认的方式在编辑器中打开所选的应用程序。
清除
清除该应用程序。该应用程序不会从电脑上被删除,仅会从列表中被删除。
帮助
打开该应用程序的帮助页面。
从文件添加...
允许您添加应用程序至应用程序列表。
您需要在本地磁盘或网络上指示出已存在的文件。
提示
我们正在进一步完善应用程序管理。
打印标签
选项
第一个标签的起始位置
决定第一个标签的位置。例如,如果1是在水平和垂直领域被输入,它指的是左上角的页面。
复制标签数量
1的值,在这个领域,意味着对于每个标签只有一个副本被需要。
警告: 文字超过标签
如果该文本超出了标签的边缘,在该单元格被激活的情况下,程序将通过发送错误消息的方式来通知用户。
标签格式
您可以在列表中所提供的标签格式之间进行选择。
如果列表中没有内所需的格式,通过更改键,您可以进入标签格式的对话框,在那里您可以选择所需的设定。
数据
指示要打印的标签的数据源:
- 表格 - 当前的表格数据将被打印。如果发生了数据提取,只有被提取的数据可以被打印出来。
- 地址 - 所有表格的地址会被打印出来。
- 仅选定行 - 只有选定的地址会被打印出来。
标签
字段列表
这是一个拥有所有可能标签字段的列表; 如果您想插入一个字段,可以通过以下两种方式来实现:
- 双击列表中的元素
- 首先点击列表中的元素,然后通过使用添加字段键来确定。
所选择的字段将被插入到查看标签区域中的光标所在位置。您可以用在 "<" 和 ">" 号之间填写字段名称的方式来直接插入字段。
查看标签
显示字段的配置。条目“<名称域>”将被表格内的相应值所替换。
大于号和小于号被用作字段的分隔符。为了使它们出现在文本中,
把 "<"写成 "\<"
把 ">"写成 "\>"
把 "\" 写成 "\\"
保留换行符和空格。
在此功能不被激活的情况下,该程序不考虑最终的空格和空行。
提取
排序
合成
标签格式
页面设置 - 选项
页面
边距
输入的大小以厘米为单位; 如果没有输入尺寸,那么边距的大小为0。
水平标签号
输入页面上的水平标签的数量。
垂直标签号
输入页面上的垂直标签的数量。
横向打印
如果此单元格被激活,那么页面将被横向打印。
从右到左排列标签
标签将被以从右到左,从上到下的方式打印。
标签
边距
为每个标签输入一个边距是可能的; 标签边距的数值必须以厘米为单位。
水平居中
选择此选项使单元格中每个标签文本水平居中。
垂直居中
选择此选项使单元格中每个标签文本垂直居中。
字体
基本大小
此字段显示默认字体大小。
调整到正好,但不少于
程序对给定的标签计算出可能的最大字体大小,从14pt到8pt。该计算考虑了标签的高度和宽度。如果一个标签太长 (或者有太多行) 需要被打印,那么一个错误信息提示将会出现在信息窗口中。即使不完整,标签仍然会被打印出来。
请注意:
打印机无法打印整个页面的表面因为它们需要最小边距。该程序试图将单一标签调整到打印机所需的边距数值。
页面设置 - 合成
帮助菜单
键盘快捷键
通过帮助菜单中的键盘快捷键命令,您可以看到具体的键盘快捷键的一系列信息。
快捷键
会计键 |
摘要 |
F9 |
执行简单的复核. |
Shift+F9 |
进行全面复核. |
F6 |
根据用户正在工作的列,此键执行不同的功能.在信息窗口中对此功能进行了说明. |
Alt+ 左击 |
当点击帐号时,显示提取行表格或帐户卡表格. |
. (句号) |
在日期列插入当前日期. |
编辑键 |
摘要 |
Enter, Tab |
确认键入的文本和推进一个单元格. |
Alt+Enter |
确认键入的文本和推进一行. |
Shift+Tab |
确认键入的文本并回到上一单元格. |
F2 |
编辑单元格内容. |
双击 |
编辑单元格内容.在程序选项下您可以用单击来选择编辑单元格的内容. |
Backspace, 空格 |
删除当前单元格的内容并编辑内容. |
Backspace |
删除前面的字符. |
Del |
删除后面的字符. |
Ctrl+C |
复制已选文本或单元格. |
Ctrl+V |
粘贴已复制的文本或单元格. |
Del |
删除所选内容. |
未分配 |
删除从光标指向至单元格底的文本. |
F4 |
复制同一列的上一单元格. |
Shift+F4 |
从同一列和推进单元格复制上一单元格. |
Ctrl+Shift+C |
复制选定行. |
Ctrl+Shift+V |
插入已复制行. |
Ctrl+- |
删除已选行. |
Ctrl++ |
在光标位置前插入行. |
Ctrl+Enter, Ctrl+Return |
在光标位置下插入一行. |
移动键 |
摘要 |
Left |
向左滚动. |
Right |
向右滚动. |
Up |
向上滚动. |
Down |
向下滚动. |
PgUp |
向上滚动一页. |
PgDown |
向下滚动一页. |
Home |
滚动至行的开始. |
End |
滚动至行末. |
Ctrl+Home |
滚动到表的左上角. |
Ctrl+End |
滚动到表的右下角. |
Ctrl+Left |
向左移动到当前数据区域的边缘. |
Ctrl+Right |
向右移动到当前数据区域的边缘. |
Ctrl+Up |
向上移至当前数据区域的边缘. |
Ctrl+Down |
向下移至当前数据区域的边缘. |
Alt+PgDown |
下一个视图. |
Alt+PgUp |
上一个视图. |
Ctrl+PgDown |
下一个表格. |
Ctrl+PgUp |
上一个表格. |
Ctrl+Tab |
下个窗口. |
Ctrl+Shift+Backtab |
上一窗口. |
F5 |
通过在活动窗口中键入行的号码来滚动到所需行. |
Shift+F5 |
转入原始行. |
选择键 |
摘要 |
Shift+PgUp |
选择列向上移动,一页一页. |
Shift+PgDown |
选择列向下移动,一页一页. |
Shift+Left |
选择行向左. |
Shift+Right |
选择行向右. |
Shift+Up |
选择上面的列. |
Shift+Down |
选择下方的列. |
Shift+Home |
选择回到起始行. |
Shift+End |
选择转向行末. |
Ctrl+Shift+Home |
选择回到表的顶部. |
Ctrl+Shift+End |
选择转至表格末. |
Ctrl+A |
选择整个表格. |
其他键 |
摘要 |
Ctrl+F4 |
关闭活动窗口. |
未分配 |
退出程序. |
Ctrl+N |
新文件. |
Ctrl+S |
保存. |
Ctrl+O |
打开. |
Ctrl+P |
打印. |
Esc |
取消操作. |
Ctrl+Z |
撤消操作. |
Ctrl+Y |
恢复上一次操作. |
Ctrl+F |
查找. |
F3 |
查找下一处. |
Shift+F3 |
查找上一个. |
Ctrl+B |
粗体. |
Ctrl+I |
斜体. |
F1 |
查看帮助. |
Ctrl+3 |
保存当前对话框或表格的屏幕截图. |
Ctrl+1 |
Change license. |
多媒体键盘 |
是由 |
功能键(例如:F6) |
按下fn键以及相应的功能键(例如:Fn+F6). |
错误信息
- 把您的软件更新至最新的软件版本,您可以通过点击此处进行下载
- 检查初期余额是否正确
- 使用 Shift+F9 键来重新核算会计文件
- 如果您拥有一个多货币的会计记账文件,请您检查是否已经计算了汇率差
- 使用报表(1)菜单中的检查账务的命令来进行错误的核查
收藏夹菜单
所有被创建的合成文件的名称都会显示在“收藏夹”中。如果需要显示或者打印某一个收藏夹中的合成文件,只需要在收藏夹中选中它,无需编辑或修改任何配置。
如果您是第一次创建合成文件,并且想要将它们显示在收藏夹中,您需要关闭并重新打开会计文件。
合成
在合成中保存的个性化设定可以被之后的日期使用。
为下列会计数据创建合成是可能的:
- 账户明细
- 增值税报告
- 生成资产负债表
- 按组生成资产负债表
- 报表
- PDF 档案
- 导出文件
- 导出行
- 地址 / 标签
怎样获取合成
当关于账户明细,生成资产负债表,按组生成资产负债表,报表和增值税报告,还有从文件菜单中关于PDF档案和导出文件的合成的时候,要获得合成,主要是通过报表(1)的菜单。
- 一旦要被创建的文件被选择之后,从对应的菜单开始 (例如账户明细或者按组生成资产负债表...)然后点击默认
- 在出现的对话框中点击合成标签后再点击新建按键
- 输入新合成的名称
- 检查所需的选项
- 点击应用按键
每一个合成,一旦被创建,将出现在相应的菜单的命令中,可以被编辑,被重命名,被重复以及被删除。
名称
输入名称来识别此合成 (例如, 季度报表)。
摘要
输入该合成的摘要。
打开设置对话框
如果已被激活 (默认), 当从菜单中选择一个合成的时候,编辑设置的对话框将被显示。如果没有被激活,那么被需要的报表预览将直接被显示(资产负债表, 报表, 等等)。
显示在'收藏夹'菜单
如果此选项被激活,那么合成将被显示在收藏夹菜单中。
只读
如果此选项被激活,编辑设置将是不可能的。
新建
此键允许用户创建一个新的合成。
删除
此键允许您删除已经存在的合成。
重复
此键允许您重复一个合成。
导入
此键允许用户从其它的Banana会计文件中导入一个合成。
应用
此键允许用户为新合成保存选定的设定。
在开始菜单中显示
根据您所在的菜单,默认合成和您个人保存的合成将被显示。
合成 (默认)
如果没有其他合成被创建,这是在系统中所使用的默认合成。
在下面的例子中,会计报表的菜单会被显示。
直接进入到合成
默认合成按键也可以直接在表格中被呈现出来 (例如,当用户在增值税代码列的时候,您只需点击蓝色的小箭头,就可以生成增值税报表)。
导出
使用Banana会计软件,您可以把文件导入到不同的格式,不论是表格的数据还是整个文件 :
导出行
为了导出单一表格的内容,请在数据菜单中选择导出行命令。
如果您在执行此命令前选择了一些行,那么导出选定区的选项将被激活。
导出文件
为了能够导出多于一个表格,请从文件菜单中选择导出文件的命令。在出现的对话框信息框中,您将看到以下的标签:
导出格式
有不同的格式可供选择,每种都有其特定的选项:
导出文件到Excel
导出选定区
在此选项被激活之后,程序仅会导出选定的区。
文件名
在此区域输入系统将创建导出数据的新文件的名称是必要的,不然的话,一个已存在的文件将通过使用浏览键而被选择,系统将使用新数据覆盖它。
立即显示
一旦MS Excel文件被创建,软件会启动查看该文件。这样一来,导出的结果将立马被显示。
选项
设立单元格名称
当文件被导出之后,此选项将自动的给每个单元格一个名称。例如,包含余额的账户1000的单元格Excel中的名称将为"账户_1000_余额"。这意味着用户可以从其立场从表格中独立的,全面的识别每个单元格,因此即使会计计划被改变也无需更改创建的Excel报告。用户因此不必手动把会计数据存储到Excel当中。然而,输入单元格的名称会使打开Excel文件的速度变慢。
设立表格名称
使用此功能,当文件被导出的时候,系统会自动为属于表格的整个单元格区域给出一个名称。例如,属于账户表的单元格区域的名称将被识别为 DB_Accounts。当创建Excel文件,数据库功能被使用的时候此功能是必须的。
使用Xml格式名 (英文)
单元格名称可以被定义为它们原始的账户语言,或者被定义为英文名称。在原始的语言中,该名称将被使用该种语言的用户所理解,但是其英语名称将不会被普遍理解。通过选择此项功能,用户将获得,例如 "Accounts_1000_Balance" 来取代 "Conti_1000_Saldo"。
保护表格
当选择这个选项的时候这个单元格的内容都会被锁住,所以只能编辑格式。这可以防止由于任何意外更改而影响导出数据的可能性。通过使用Excel中适当的命令,用户可以随时取消这个保护功能。
导出选定区
如果此单元格被激活,仅选定的区域将被导出。
其他标签
关于其它标签的解释,请您访问以下的页面:
导出结果
每个会计表格都会在Excel文件中以不同的表格展现出来。
使用单元格的名称来取代所提到的行/列。
"包括"标签
重复检查账务
在此框中打钩之后, 在导出之前账务将被重新检查。
包括
通过在不同的框中打钩, 用户可以把文件导出至 MS Excel Xml 多种表格和/或所有的账户明细以及增值税 /营业税报告。
视图
选择数据被导入的视图是可能的。此选项可提供把文件导入到 PDF, Html 和 Xml 的格式中。
时期
此功能允许用户导出会计期间的细分数据。
分期间账户与科目
此功能允许根据所选期间导出账户与科目的余额。
增值税/营业税报表
此功能允许根据所选期间导出增值税/营业税。
为整年创建期间
通过选择此功能,全年的部分余额将被导出,不仅仅是选定账户的期间或是选定导出的期间。
最多期间
期间最大的可能数字。
导出文件到Html
Html 格式选项
使用样式表CSS格式
选择此单元格将允许用户连接样式表至导出的文件。通过默认的设定,系统会自动使用它自己的样式表并且合并到文件中。
使用预定义的样式表
系统默认的样式表将被使用。
停用该单元格将自动激活外部样式表选项。然后用户则可选择其个人的样式表。
系统外样式表
在一个系统外的样式表被使用的情况下,请使用浏览键来选择样式表的名称。
在Html文件内包含样式表
当数据已被发送至 Html 格式,样式表文件必须也已被发送。为了避免发送两种分开的文件,用户可以通过激活此单元格,把样式表合并到 Html 会计文件中。
选择单元格将允许该程序将数据文件拥有各种图形选项:
- 导出仅可见列
- 带有边框的表格
- 标题列
- 保存表格内的分页符
如果在原始的会计文件中有分页符,那么也将出现在导出的文件中 - 输出为数据 - 不带任何格式化的数据将被输出
其他标签
关于其它标签的解释,请您访问以下的页面:
导出文件到Xml
文件名
在此区域输入系统将创建导出数据的新文件的名称是必要的,不然的话,一个已存在的文件将通过使用浏览键而被选择,系统将使用新数据覆盖它。
立即显示
一旦文件被创建,软件会启动查看该文件。这样一来,导出的结果将立马被显示。
样式表 XSLT 格式
在此区域内, 用户可以根据系统应当组织会计数据的图形显示标准来选择样式表。由于样式表,用户可以输入他/她自己的数据以及符合当局所需的打印件。在 www.banana.ch/zh-hans 的网站上您可以找到关于样式表多样的例子和更多的信息。
选项
在下列选项中选择是可能的:
- 导出仅可见列
- 含视图名单
- 输出为数据
导出选定区
如果此单元格被激活,仅选定的区域将被导出。
其他标签
关于其它标签的解释,请您访问以下的页面:
导出行到txt
为了导出行,请您在数据的菜单中选择导出行的命令。不同的选项可供您选择:
文件名
输入文件名或者点击浏览键来选择一个已经存在的文件。
格式
选择您需要的格式。
立即显示文件
一旦文件被创建,软件会启动查看该文件。这样一来,导出的结果将立马被显示。最好记住使用像 Mozilla 和 MS Explorer 这样的浏览器来为文件使用缓存机制。当第二次时候导出后,在没有使用浏览器的刷新键之前用户看到先前的版本是可能的。
选项
如果被激活,不同的可导出的选项为:
- 仅选定行
- 仅可视列
- 列标题
- 统一码 (Utf-8)
保存
在您需要创建PDF文件, 导出文件到Html或者Excel格式,或者复制到剪贴板的时候此窗口会出现。
文件名
在此区域内输入系统将创建并导出数据的新文件的名称是必须的。不然的话,一个已存在的文件将通过使用浏览键而被选择,系统将使用新数据覆盖它。
立即显示文件
一旦文件被创建,软件会启动查看该文件。这样一来,导出的结果将立马被显示。
导入
请在左侧 “导入” 的子菜单中选择查看详细的内容。
从Paypal中导入发生业务
现在您可以直接把 Paypal 的发生业务导入到您现有的 Banana 财务会计文件中 (按照说明如何进行操作)。
我们已经为复式记账和多种货币记账准备了模板和示例,您可以将其视为一个例子,或者将其作为只为Paypa的会计业务而准备的单独的会计文件。
合并账本
合并两个文件是有可能的,但是它们必须属于同一组 (例如两个复式记账的会计文件)。不同组的会计文件是不能被合并在一起的 (例如,一个复式记账文件和一个简单记账文件)。
为了能够成功的合并两个文件,至关重要的一点是它们具有相同的账户编号:
- 打开含有两个文件的文件夹
- 从工具栏菜单中选择合并账本的命令
- 选择要被合并文件的路径和名称
- 确认合并操作
- 如果文件和之前的有所不同,即使它们属于同一组,(例如,含有增值/营业税的会计文件和不含增值/营业税的会计文件), 系统会出现一条提醒您可能会有数据丢失的信息。
导入到套账
从报表(1)菜单中选择导入套账的命令,可以导入下列数据:
- 发生业务 - 从另一个Banana财务会计文件或银行对账单中传输发生业务
- 账户 - 从另一个Banana财务会计文件或文本文件中传输账户
- 增值税代码 - 从另一个Banana财务会计文件或文本文件中传输增值税代码
- 文件 - 传输一个完整的文件, 以转换会计科目表
关于所有类型导入过滤器的更多信息,请您参见导入过滤器的页面。
为了能够一次传输数据, 请参阅从其它会计软件传输数据的页面。
导入的程序
- 选择数据的目标表格
- 选择要从中导入的文件类型
- 指示文件名称
- 选择要被导入的业务
目标表格
对于每种数据类型,都有其特定的页面:
导入格式
根据目标表格的类型,有不同的导入格式可供选择。
然而,下列格式可以被用于所有的 选项:
- 含有列标题的文字文件
特别是与其它程序一起创建的文件 (例如,一个创建发票的程序),以便于其数据可以被传入Banana会计文件中。
关于如何准备这些不同类型的文件的技术指示信息可以在这里找到中文的解释。 - 也有已存在的或已被创建的一个特定的导入过滤器的其它文件类型。
文件名
- 需要被导入数据的文件名称要被指示出来。
管理过滤器
- 添加或更新导入过滤器。
您可以创建一个解码文件类型的脚本。
确定键
- 开始导入
导入发生业务
导入的程序
- 从下拉菜单中,选择导入发生业务
- 选择要从中导入的文件类型 (现金簿业务,复式记账套账的发生业务)
- 使用浏览键, 选择要导入发生业务的文件
有关所有类型导入过滤器的更多信息,请您参阅导入过滤器的页面。
可以被导入的文件类型
导入收益 & 费用核算业务
为了能够把收益&费用会计文件内的发生业务导入到复式记账的会计文件中,收益&费用核算会计文件的目录与复式记账会计文件内的账户相对应是有必要的。
导入现金簿业务
除了导入发生业务之外,每月或每季度的导入概述也可被获得。
请参阅页面: 导入现金簿业务
导入复式记账套账的发生业务
为了能够把复式记账会计文件中的发生业务导入到另一个复式记账会计文件中,账户相对应是必要的。
从银行对账单 ISO 20022 或者 MT 940 导入发生业务
在Txt导入数据
此文件类型被用作从其它程序导入数据,例如:
- 为了能够从您的工资软件中导入每月的发生业务
- 为了能够导入使用开票软件而开具的发票
- 为了能够导入使用您的开票软件制作的付款
- 为了能够从您的在线商店中导入您的销售业务
- 为了能够从另外的会计软件中导入数据
- 为了能够从另外的现金管理软件中导入数据 (例如一间饭店或一间酒店)。
如果您想了解更多的技术信息,请参阅怎样创建一个被导入在Banana会计软件中的文件。
其它格式 (导入过滤器)
根据已安装的导入文件,如在页面管理过滤器上所述,可提供其它的导入过滤器。
创建一个可以解码包含在自己文件内数据的脚本是可能的,点击这里查看更多的信息。
选择要被导入的行
在选择了被导入的行之后,程序将出现一个窗口,在那里用户们也可以选择使用其它的功能。
目的账户
当被导入的银行账户(或者邮政)对账单,或者一个账户的收益&费用发生业务是文本格式的时候,此选项将出现。
插入与被导入报表相关的账户表的银行账户号码。
选择发生业务
起始日期,结束日期
输入与发生业务转换相关的起始日期和结束日期。在日期区域下方的框中也可以自动选择期间。
不要导入如果存在相同的外部参考,日期,金额
一旦被激活,此功能允许用户不导入已输入的发生业务,以避免业务被记录两次。此选项仅在要被导入业务的"外部参考"列出现的时候才能被激活。否则此选项将被关闭。
使用以下方式来完成业务
自动完成录入数值
此选项只有在包含增值/营业税和多种货币的会计账户内是必要的,一旦被激活,其将允许在被导入数据中缺失的自动完成录入数值 (例如, 在汇率表格中的汇率)。
初始账户编码
当被导入的银行账户(或者邮政)对账单,或者一个账户的收益&费用发生业务是文本格式的时候,此选项将出现。这是分配给第一个导入业务的文档编号。
按发票号码来组业务
如果导入文件在"发票文件"列包含数值,将出现的对话框可能指示出:
- 按发票号码来组业务
在这种情况下,相同发票的行会被组在一起,这样一来,对于相同的账户和相同的增值税码来说就只有一个发生业务。
请查看导入发票日期的解释。 - 目的账户余额差
当增值税码被应用的时候,可能存在几美分四舍五入的差异。
在这种情况下,Banana会计软件会为每一个发票创建一个额外的发生业务,差异会被记录下来。
当然,有必要注意被导入的数据要在借贷之间保持平衡。如若不然的话,发生业务行将在借贷之间包含差额。
编辑被导入的发生业务
程序会创建一些发生业务并把它们添加到发生业务表格内。
发生业务可以被编辑或删除。
在复式记账的会计文件中,程序会在借方列和贷方列添加一些符号;在收益&费用核算文件中,程序会将符号添加在账户列和科目列中。
符号应替换为合适的帐户或科目。
- [A]
当对话框中没有指示任何帐户的时候,会显示该符号。 - 当此符号出现的时候,您需要将其替换为适当的抵销账户,以便平衡借方业务和贷方业务。
在只有一个抵销账户的行中,您可以在同一行中同时找到 [A] 和 [CA] 的符号。
在具有多个抵销账户的行中,每行都将有其自己的 [CA] 符号。在没有符号-[CA] 的情况下,将无法了解其是借方业务还是贷方业务。
经常被询问的问题
我看不到我银行对账单的格式
点击"管理过滤器...",再点击 "更新过滤器",并启用所需格式的过滤器。
我看不到邮政储蓄Xml账户对账单的格式(文件 .tgz)
不再支持此格式。请您联系邮政储蓄,并要求获得 ISO 20022 格式的对账单。
出现了下面的信息 '这个 ISO 20022 文件不包含银行对账单 (camt.052/053/054)'
当 ISO 20022 文件不包含银行对账单的情况下会出现这个错误信息的提示。ISO 20022格式是一种通用的格式,其可包含不同类型的信息,例如在Banana会计文件中的银行对账单和支付确认,只有银行对账单 可以被导入 (camt.052/053/054)。
我的银行不在所支持格式的列表中
为尚未生效的格式创建过滤器是可能的。我们也支持客制化格式的执行。
我只能导入集体订单,却无法看到细节 (个人订单)
当在电子银行执行付款操作的时候 (例如在 Raiffeisen 银行), 您需要选择 '个人订单' 的选项,而不是 '集体订单',通过此项操作您就可以导入个人订单的付款。
Import ISO 20022 file
ISO 20022 is an international standard for the transmission of financial data.
The CAMT category regroups the formats used for the account statement, reporting of account transactions and account balance confirmation:
- camt052: Account Reporting
- camt053 (including version 4): Account Statement
- camt054: Credit / Debit Notification
Preview the ISO-20022 file
Banana. offers the possibility to preview contents of a camt file.
Data importing into the current accounting
Proceed as indicated with the Import into accounting ( Account1 menu) command.
Compressed files can also be opened with this function. In this case, the program will prompt the user to select the file from which to import the data of the compressed file.
Technical notes on converting ISO 20022 files
Banana, when reading the file, tries to adapt itself to the ways in which the ISO 20022 file has been prearranged.
- Reads as opening balance the similar encodings
- Reads as closing balance the similar encodings
-
All contents are read and converted into transactions
- Transaction date (Date)
- Valuta date
- Transaction amount (positive or negative)
- Description (Banana - for now - displays the various descriptions as a single text)
In the future, it will be possible to extract this information on a distinctive basis and indicate the columns where to allocate data. - Distinction of transactions between one single and detailed lines.
For transactions that are to be detailed, there will be a row for the sum and separate rows for the singular transactions that will constitute the total.
Swiss Specificities
Specifications for the use of ISO 20022 have been issued for the Swiss banking system.
Formats have been standardised as follows:
- camt053: Account Statement, with detailed transactions.
This is the file that your bank should provide, specifying that it does also include payments received.
A summary file (without any details) might be asked for, in which case camt054 form will also have to be requested, detailing the receipts. - camt054:
Transactions detailed by type (such as bills payments received for bills issued).
If detailed cash receipts are required, the bank will provide the dates in a camt054 file (as a substitute for V11).
This results in two files:- camt053 file (Account Statement) with the several payments and the daily total of cashed bills, which details are contained in the camt054 file.
- camt054 file, detailing all transactions for cashed bills with their reference number.
- camt052: Account Reporting.
Is only used in special situations, to monitor transactions for a specific day.
从现金日记账文件中导入数据
当您管理会计工作的时候,单独管理现金日记账以及定期把发生业务导入在主要的会计文件中是有可能的,根据所选的期间进行分组。
在这种情况下,会有两个单独的文件: 一个包含一般会计文件数据的文件,以及另一个只包含现金日记账管理数据的文件。
为了能够把现金日记账文件中的数据导入到主要的会计文件中,那些文件需要被连接。可以通过以下两种方式进行 :
- 现金日记账文件目录的相同账号 (对于复式记账来说), 或者, 与在主要会计文件中所使用的相同的科目号 (对于收益&费用核算会计文件)。
-
在现金日记账文件中,在科目表格的科目2列中,输入与主要会计文件相同的账号 (如果是复式记账的话) 或者相同的科目号 (对于收益&费用核算会计文件)。如果您在科目表格中看不到科目2列,那么您需要在数据菜单中选择列设置的命令,然后在跳出的窗口中对科目2选项进行选择。
示例:
在下面的例子中,与主要会计文件相关的账号被输入在科目2的列中。
为了能够导入数据, 请按照下列指示进行操作:
- 打开主要的会计文件,然后从报表(1)菜单中选择导入套账的命令
- 在出现的对话框中,在导入一栏中选择发生业务选项; 在下面的列表中选择现金簿业务(*.ac2),然后使用浏览键来选择现金日记账文件。
您可以在导入到套账页面上找到关于下列窗口的更多信息。
会计原则
目的账户
这是复式记账或简单会计账号的数据会被结转。
初始账户编码
这是给发生业务结转的文档编号。
选择发生业务
起始日期 / 结束日期
这些下拉菜单指定了导入数据的起始日期和结束日期。
组发生业务
在这个部分,用户具体指定发生业务期间被分组的方式:
- 不分期分组 - 所有会计期间都会被显示
- 月度 - 发生业务按月进行分组
- 季度 - 发生业务按季度进行分组
- 半年 - 发生业务按半年进行分组
- 每年 - 发生业务按年分组
一项业务一个账户
如果一个以上的科目被分组在单一账户内,但是用户需要为每个科目分离业务,那么此单元格必须被激活; 然后程序会为每个科目创建发生业务。当增值税码被使用的时候,发生业务不仅会被科目所创建,也会为在同一科目中的每个不同的增值税码所创建。
请注意: 当用户在使用含增值税的会计文件时,增值税的计算可能会略有不同。如果发生业务金额作为净金额被插入,现金帐户的余额也可能会因为四舍五入而不同。
会计文件随零用现金的数据更新。
导入增值税码
此功能仅在含有增值税管理的会计文件中可用,并且允许其用户从以下方式中导入增值税码:
- 其它的会计文件 (*.ac2)
- 带有列标题的文本文件(文本文件 *.txt)
添加新码和新组
新码和新的增值税组会被添加,且无需删除已存在增值税码表格内的。
替换所有行
完整的增值税代码表格会被取代。
请注意: 如果,在导入之后,您收到了一条未找到增值税账户的错误信息提示,那么您需要选择文件菜单-文件和账户属性命令-增值/营业税选项-自动增值税账户。
导入文件
源文件
这是数据来源的文件。
目标文件
"接收"数据的文件。
选项
导入业务
出现在源文件中的发生业务表格中的所有行,都将被导入。
导入经常性业务
出现在源文件中的经常性业务表格中的所有行,都将被导入。
导入预算业务
出现在源文件中的预算表格中的所有行,都将被导入。
在账户表格中替换金额
初期的金额,预算的金额以及之前在目标文件中的账户表格内的列都会被删除,并且它们都会被在源文件中出现的金额所替代。
由于是同一个账号,账户需要相互对应。或者当有替代品出现的时候,"转换账号"的选项应该被使用。
替换账户属性 (基本数据)
目标文件的文件和账户属性会被源文件的文件和账户属性所取代。
转换账号
通过使用此功能,被导入的账户号将被在另一个可供选择的列中的账户号所取代。
如果您使用了此功能,那么您还必须指示出在导入时被使用的包含有账号的列,而不是现有的。
在账号列的旁边,应该有一列,该列会指出在导入时会被使用的替代号。如果没有指定另一个号码,那么源文件中的原始账号将被使用。
- 账户匹配在源文件中
此功能被使用的情况是: 例如当您把一个会计文件放在了一个国家里,其拥有一个特定的数字系统,然后您需要使用拥有不用数字系统的账户科目,定期的把您的发生业务表格导入到一个不同的会计文件中。- 您需要把一个新的文本列添加到会计计划中 (列设置命令)。
- 对于每一个账户,指示出在表格中的目标账号。
- 账户匹配在目标文件中
比如在您想用一个新的编号和分组来切换到一个账户科目的时候,此功能会被使用。- 您创建一个含有新的账户科目的新的账户文件。
- 在账户科目中,您创建一个新的列,在那里您指示出账户匹配 (列设置命令)。
- 在此列中,指示出源文件的账号。
使用分号来分隔账户 "1000;1001" 指示出几个账户需要被分组到此账户中。
- 列包含账户匹配 (账户表)
指示出被用户添加的账户科目的列,以及包含账户匹配。
结果和可能的错误
在程序指示出错误的情况下 (缺失账户或其它), 取消导入操作的可能是必要的, 完成账户匹配,以及重复导入操作。
该程序,查找不同的账户科目,不能自动执行扩展检查以确保所有导入的数据已被正确的分组。
因此如果出现了请手动检查结果的建议,请核实资产负债表和损益表的总数是否是正确的。
高级导入选项
对于不同的和更复杂的,以及自动化的转换需求,我们建议使用脚本,因为其可以实现转换和导入的完全客制化。
管理过滤器
过滤器是扩展,其可以把新的格式加入到“导入到套账”对话框中。
在Banana会计软件8中,可以通过一些小的javascript程序来扩展一些功能。为了能够创建您自己的导入过滤器,请您查看脚本页面。
关于全部类型导入过滤器的信息,请参阅Banana应用程序的页面。
启用
启用所选的过滤器,并且使其在“导入到套账”的对话框中可视。
禁用
禁用所选的过滤器。禁用的过滤器在“导入到套账”的对话框中不可视。
编辑
其允许编辑以及对所选的过滤器进行改变。
清除
永久性删除所选的过滤器。不能删除已经安装在程序里的文件或者为所有用户的。
导入...
使添加过滤器成为可能。
更新过滤器
从Banana会计软件服务器下载最新的过滤器版本。如果有新的过滤器,将被添加到列表中。被导入的过滤器将不会被修改。
主要信息:
过滤器将被安装在用户文件夹中。因此只有导入了新过滤器或更新了可用过滤器的用户才能看到它们。为所有用户安装过滤器或者在一个系统上安装过滤器的时候,手动安装过滤器的程序是要被遵循的。
当把光标放在过滤器上移动的时候,会出现一个小框,这个小框会指示出标识,安装文件夹,版本和过滤器的日期。
在应用程序页面上可以找到如何创建客制化过滤器的文件。
导入行
为了能够导入行,请选择数据菜单中的导入行命令。
您可以在下面的对话框内选择激活不同的选项:
文件名
通过点击浏览键,选择要从中提取数据的文件。然后通过确认键来确认被选定的选项。
格式
此区域包含有可以导入数据至表格的格式列表。其中包括: ASCII 格式, 文字, CSV。
选项
导入剪贴板数据
通过对此框的选择,用户可以从Windows剪贴板中导入数据。
自动完成录入数值
当需要从一个不太复杂的会计文件导入到一个更复杂的会计文件时,选择此功能是可取的。在这种情况下,在被导入的行中,一些列将是空的。通过选择此功能,程序将从当前会计文件中自动完成那些缺失的数值。
列标题
通过对此框的选择,不仅是数据,字段标题也将被包括在导入中。
统一码 (Utf-8)
通过对此框的选择,所有的数据将被导入到可以被统一码程序读取的格式中。
从其它会计软件传输数据
从其它程序导入经常性数据
从其它程序定期导入数据的现象是经常发生的。
例如:
- 为了能够从您的工资软件中导入每月的发生业务
- 为了能够导入使用开票软件而开具的发票
- 为了能够导入使用您的开票软件制作的付款
- 为了能够从您的在线商店中导入您的销售业务
- 为了能够从另外的会计软件中导入数据
- 为了能够从另外的现金管理软件中导入数据 (例如一间饭店或一间酒店)。
在这些情况下,您可以按以下所述:
- 通过创建一个设置被导入Banana会计软件内的txt文件来适应您的数据生成应用程序。
如果想要了解更多的信息,请您参阅如何创建一个被导入Banana的文件页面上的技术信息。 - 创建一个导入脚本,其将转换从另一个程序导出的数据,以便将其导入到Banana会计文件中; 根据被安装的导入过滤器 (查看管理过滤器页面), 有很多可用的格式。您也可以查看如何创建过滤器 (Banana应用程序)的页面。
从其它程序导入一次数据
如果这是您第一次使用Banana会计软件,并且您需要从另外一个软件中导入您的数据,您可以通过MS-Excel,轻松地从任何会计程序中传送数据。
- 使用旧的会计软件,把数据导出成可以被Excel读取的格式 (CSV, txt, ...)
- 使用Excel打开被导出的文件
- 在Excel中, 把数据(列)组织成与在Banana表格中所出现的一样的顺序(账户, 发生业务)
- 在Banana会计软件中打开您新的会计文件
- 在账户或发生业务表格中,添加空行的行数应该与从Excel中被传输的行数一致
- 在Excel中, 选择要被复制的数据,并且使用复制命令
- 进入Banana会计软件中,并且执行粘贴命令。
此方式在从MS-Money, Intuit Quicken 和 Quickbooks中, 以及其它绝大多数的会计程序中传输数据的情况下是很有用的。
打印/预览
页码
在打印预览的工具栏内,您可以点击此键 来进入页码编辑的窗口。
在此对话框中,您可以设置页码的选项。通过使用页面设置或报表的设置来启用或禁用打印的页码。
开始
页码开始的数字。
添加前缀
在页面中添加的前缀。
页面设置
请选择文件菜单中的页面设置命令。
左抬头栏
在这里会显示出当前视图的标题。标题可以被编辑,将出现在打印出来页面的左上方。
右抬头栏
输入一个打印出来在页面右上方的不同文本是可能的。
边距
在此输入页面的边距是可能的。测量是以厘米为单位的。
缩小页面到可打印区域
当打印区域超过了预定义页面边距的时候,此功能可以使其调试至可打印的区域。
打印范围
文件抬头栏
这将是输入在文件菜单的文件和账户属性命令中内的文本。
表格抬头栏
这是在文件菜单的页面设置命令中的文本输入(左抬头栏和右抬头栏)。
自动文本
这是由程序自动归于表格的文本。此文本不能被用户编辑。例如,如果现金账户明细被打印了,那么"账户明细: 现金" 将被打印。
列标题
这些是各种表格的列标题。
大字体
该程序打印出的标题字体稍大。
分页符
当被激活后,此选项包含了被输入的分页符; 如果没有的话,它们将被忽略,即使它们存在。
页码
激活此选项来要求将页面编号。
打印时间
激活此选项可以在打印时包含时间。
打印日期
激活此选项可以在打印时包含日期。
行号
激活此选项若一个渐进的号码被给予每行。
格框
可以和屏幕上看到的一样打印出格框。
缩放
字体大小 %
在百分比的基础上,可以增加或减少被打印的字体的大小。
缩减至页面宽度
如果一些列超出了页面的宽度,系统会将其缩减至页面的宽度(使用缩放功能进行减少),那么在打印的时候所有的列将被以页面相应的尺寸正确的打印出来。
打印如屏幕显示
打印出来的文件将和屏幕上显示的一样。
如果内容超出了页面的尺寸:
- 一旦激活了“缩减至页面宽度”的选项,字体大小将会被压缩;
- 如果选项“打印如屏幕显示”未被激活,则不会打印超过纸张的部分。
打印黑白
所有的颜色将被转换成黑色和白色。
横向打印
横向打印的格式使页面呈现水平方向的阅读模式。
时期
此标签出现在很多的对话框中 (例如在账户明细中),此标签还可以特定想被显示或被计算的期间。
例如,如果选择了一个季度: 在账户明细中只有被选定季度中的发生业务会被显示, 而在资产负债表中只有被选定季度的结果会被计算。
全部
如果选择了此功能,那么整个会计报表的期间都会被包含在内。
选择时间段
如果您需要一个特定的期间,那么请您指示出起始日期和结束日期。
无日期的发生业务
如果有没有日期的发生业务,只有当您关闭所有期间的时候它们才会被考虑 (全部...)
然而,尽管您输入的起始和结束日期为1月1日和12月31日, 无日期的发生业务也将不包含在报告中。
会计记账
Banana 财务会计软件为用户提供不同的会计记账方法。每位用户都可以根据自己的需求进行选择。
用户可以使用工具菜单中的命令实现从一种文件到另一类型的转换。
复式记账
根据国际复式准则(借方和贷方)来管理资产,负债,支出和收入的专业工具,并获取资产负债表和损益表。
特点
- 管理账户和损益账户 (资产,负债,收入,费用)
- 会计类型包括增值税特征,增值税计算和增值税报告
- 产出所有的会计摘录: 日记账, 会计卡, 期间余额和年度余额
- 允许成本中心和分部管理
- 提供不同的数据演示方式
- 数据导出至Excel,HTML,XML,PDF
- 从不同的文件格式导入数据
表格和文件属性
复式记账由以下表格组成:
- 账户表
在那里的会计计划设有初期余额,组和分组可以和成本中心及分部一起被定义。 - 发生业务表
在那里可以输入发生的业务。 - 增值税代码表
在那里可以设定增值/营业税码, 仅在增值税管理选项被选定的情况下。 - 汇率表
在那里不同的汇率被定义,仅在多种汇率会计账户被选定的情况下。 - 文件属性
在那里总的会计账户属性被设定。
选择账户类型
为了改变您文件的语言,四舍五入系统,或者为了添加增值税或多汇率列,请您在工具栏选项中参阅转换到新套帐的命令。
理论部分
在这个章节中,将解释复式记账的基本理论。
借与贷
实践中的复式记账法
学习如何管理复式记账法的主要规则基于四大类账户:
资产 | 资产是指企业过去的交易或者事项形成的、由企业拥有或者控制的、预期会给企业带来经济利益的资源,账户代表的是正资产。 |
负债 | 负债是指企业过去的交易或者事项形成的、预期会导致经济利益流出企业的现时义务,账户代表的是负资产。 |
费用 | 费用是指企业在日常活动中发生的、会导致所有者权益减少的、与向所有者分配利润无关的经济利益的总流出。 |
收入 | 收入是指企业在日常活动中形成的、会导致所有者权益增加的、与所有者投入资本无关的经济利益的总流入 (而不是那些通过出售房地产的商品获得)。 |
- 该账户是一个实体,把属于同一个类别的业务金额集合起来。
- 根据会计账户业务的类别,每个账户必须注册为借方或贷方。
- 复式记账法使用借贷来取代收入和费用。
一般规则
资产 |
→ | 借 |
负债 |
→ | 贷 |
费用 |
→ | 借 |
收入 |
→ | 贷 |
- 资产,负债,费用和收入会受到连续变化的影响: 增加和减少。
增加
资产增加 |
→ |
借 |
负债增加 |
→ |
贷 |
费用增加 |
→ |
借 |
收入增加 |
→ |
贷 |
减少
资产减少 |
→ |
贷 |
负债减少 |
→ |
借 |
费用减少 |
→ |
贷 |
收入减少 |
→ |
借 |
复式记账的工具
在复式记账中使用的主要工具为: 账户表, 日记帐, 资产负债表和损益表。
账户表 |
这是把不同类别的业务组在一起的所有账户的列表 (例如: 现金簿,银行,购买,销售,等等)。
-
为了使用 Banana财务会计软件,用户必须用一个预定义好的会计计划,适应适当的需求,并且输入发生业务。其它的事项将由程序执行。
日记账 |
这是影响日常活动的所有操作的列表 (提款、存款、购买、销售、工资、租金等等)。其对应的是即使仅在纸上或在Excel中所记录的小企业的大部分业务,然后把其交给会计人员。
资产负债表 |
这是资产和负债的总结概述。资产和负债之间的差额代表公司的净资本额。
损益表 |
这是收入和费用的总结概述。余额代表了经营的结果 (利润或亏损)。
开始会计记账
使用 Banana财务会计软件进行会计记账的准备。
1 |
使用拥有账户表的会计模板。 |
2 |
使账户表适应一些要求。 |
3 |
在日记账中输入发生业务。 |
数学基础
对于使用 Banana财务会计软件进行复试记账的用户来说,可能会对收入(销售) 和负债(启动资金) 以负数的形式出现而感到奇怪,因为通常用户们会预期销售以正数的形式出现,而费用以负数的形式出现。
复式记帐基于通常出现在两个单独列的借方和贷方原则。如果借和贷出现在了同一列,那么在数学的角度,复式记帐会预先使用负号 (-),这样一来就能够轻易的区分借方和贷方的金额。
Banana财务会计软件完全使用复式记账的数学逻辑,因此也会用负号来表示相应的金额 (并且在打印中的红色标记可以使用户更好的区分借方和贷方的金额)。 在复式记账中呈现负数的金额 (贷方) 与以收益与费用为基础的会计核算中所指的不同。
把贷方金额标为负数的系统要比给金额添加代码的更加有效。
该系统基于简单的数学方程,该方程会保证会计核算的准确性。在1494年由Luca Pacioli (卢卡·帕西奥利) 编码的复式记账法并不是偶然的 , Luca Pacioli是意大利文艺复兴时期最杰出的数学家之一 (他曾教过达·芬奇数学)。在他的《算术、几何、比例总论》(Summa de arithmetica, geometria, proportioni et proportionalita) 一书中,Luca Pacioli 不仅处理了复式记账的问题,同时也处理了其它的数学问题。
在文艺复兴时期没有电子计算器,因此他们习惯把贷方和借方的金额标示在不同的列中,结果证明这种做法更容易汇总金额。今天,由于电脑技术的普遍使用,不需要再用手动来进行计算,因此既简便正确,又拥有用户友好特征的财务会计系统才是人们所需的。
对会计数学及 Banana财务会计软件所基于的方程式感兴趣的用户来说,可能也会对下面的解释感兴趣。
借/贷
复式记账法的原则是,在运用借贷记账法记账时,对每项经济业务,既要记录一个(或几个)账户的借方,又必然要记录另一个(或几个)账户的贷方,即“有借必有贷”;账户借方记录的金额必然等于账户贷方的金额,即“借贷必相等”
借 = 贷
账户借方记录的金额必然等于账户贷方的金额,借贷之间的总差额总是零。
借 - 贷 = 0
为了能够便于区分 (当在电脑屏幕上工作时非常有用), 贷方的金额会显示为红色,并且前面会有负号。
借 + (-贷) = 0
两笔业务的例子 |
借 |
贷 |
|
借 + (- 贷) |
现金收入 |
200 |
|
|
200 |
产品销售 |
|
200 |
|
-200 |
|
|
|
|
|
若干现金支付 |
|
170 |
|
-170 |
购买商品 |
100 |
|
|
100 |
办公用品 |
50 |
|
|
50 |
小额花费 |
20 |
|
|
20 |
总计 |
370 |
370 |
|
0 |
余额 (借 - 贷) |
0 |
|
0 |
资产负债表和损益表
复式记账的数学预算使用两个 "账户":
- 资产负债表账户 (资产负债表)在某一时刻保持财务的状况,其是一种记录股东负债收益的记录表格,具有资产、负债和权益的恒等关系一目了然的优点。
- 借方代表资产
- 贷方代表负债 (总是包括股票在内)
- 损益表账户 (损失和收益) 既是编制损益表的依据,又是反映一个单位经营成果的数据载体。由于会计报表是会计核算工作的结果,是综合反映一个单位财务状况、经营成果等的书面文件,因此,从会计报表的角度来理解账户骨助于进一步把握账户的实质。
- 借方代表费用
- 贷方代表收入
请查看下面的例子,输入在资产负债表和损益表中业务的借贷金额。
|
资产负债表 |
|
损益表 |
||
|
资产 |
负债 |
|
费用 |
收入 |
现金收入 |
200 |
|
|
|
|
产品销售 |
|
|
|
|
200 |
|
|
|
|
|
|
若干现金支付 |
|
170 |
|
|
|
购买商品 |
|
|
|
100 |
|
办公用品 |
|
|
|
50 |
|
小额花费 |
|
|
|
20 |
|
总计 |
200 |
170 |
|
170 |
200 |
余额 (借贷之间的差额) |
30 |
|
30 |
两列方程 |
|
借 = 贷 |
370 = 370 |
资产 + 费用 = 负债 + 收入 |
200 + 170 = 170 + 200 |
资产 - 负债 = 收入 - 费用 |
200 - 170 = 200 - 170 |
余额 = 余额 |
30 = 30 |
|
|
相同的业务可以用同一列来表示 (贷方为负)。
结果当然是相同的。
发生业务 |
资产负债表 |
|
损益表 |
现金收入 |
200 |
|
|
产品销售 |
|
|
-200 |
|
|
|
|
若干现金支付 |
-170 |
|
|
购买商品 |
|
|
100 |
办公用品 |
|
|
50 |
小额花费 |
|
|
20 |
|
|
|
|
余额 (借 - 贷) |
30 |
|
-30 |
单列方程 (贷方为负) |
|
借 - 贷 = 0 |
270 - 270 = 0 |
资产 + 费用 - 负债 - 收入 = 0 |
200 + 170 - 170 - 200 = 0 |
资产 - 负债 - 收入 + 费用 |
200 - 170 - 200 + 170 = 0 |
余额 - 余额 = 0 |
30 - 30 = 0 |
商业结果的方程
商业结果是资产负债表和损益表的余额 (借方 - 贷方)。
双列方程 |
|
资产 - 负债 = 收入 - 费用 |
200 - 170 = 200 - 170 |
资产负债表的余额 = 损益表的余额 |
30 |
资产负债表的余额 = 资产 - 负债 |
30 |
测定结果的方程 (在两列中) |
||
利润 |
资产 > 负债 |
费用 < 收入 |
余额 |
资产 = 负债 |
费用 = 收入 |
亏损 |
资产 < 负债 |
费用 > 收入 |
在资产高于负债,收入多于费用的情况下,会存在利润。
当负债高于资产,收入低于费用的时候,会存在亏损。
单一列方程 (贷方为负) |
|
资产 - 负债 - (收入 - 费用) = 0 |
200 - 170 - (-200 - 170) = 0 |
资产负债表的余额 - 损益表的余额 = 0 |
30 - 30 = 0 |
资产负债表的余额 |
30 |
损益表的余额 |
-30 |
在单列中测定结果的方程 |
||
利润 |
资产 - 负债 > 0 |
费用 - 收入 < 0 |
余额 |
资产 - 负债 = 0 |
费用 - 收入 = 0 |
亏损 |
资产 - 负债 <0 |
费用 - 收入 > 0 |
当资产负债表的余额为正,损益表的余额为负的时候,存在利润。
当资产负债表的余额为负,损益表的余额为正的时候,存在亏损。
在单列中使用符号
对双列中的数据使用符号对在纸质图书中的业务是理想的。借方和贷方的金额被写在不同的列中。总计位于页面的结尾处,在期末完成对总计和结果的计算。
电算化系统为保持账户余额不断更新提供了可能性。对于计算而言,软件通常会在单列中使用符号,从而使借方金额为正,贷方金额为负。为了能够在双列中使用符号,软件必须在资产负债表内把贷方的金额注册为负,在损益表中,把贷方的金额注册为正,把借方金额注册为负。
对于程序员来说,这个解决方案是更为复杂的,因此大部分的软件内部使用的是单列数学,在双列中加符号只用作演示或报告使用。
相反,Banana财务会计软件有系统的使用负号来指示贷方金额。在刚开始使用的时候,用户需要适应该程序,其具有线性的优点可以使用户更好的理解复式记账重要的数学基础,尤其是当需要进项更复杂的操作的时候,例如年末的利润或者增值税到期/可回收等。
对于资产负债表和损益表的报告来说,双列的逻辑更为适用。
然而,在打印出的资产负债表和损益表中,在结果中所展示的使用资产,负债,费用和收入所编辑的结果总是正数。当损益表被以标量的格式所呈现的时候 (收入减去费用), 收入为正,费用为负。
自我组织与整理
在会计核算的基础上,有会计凭证和收据。
关于会计的组织形式,取决于活动的规模和文件的数量。必须根据所需来组织事物。
下面我们所列出的内容是非常有用的。
不同类型的文件
区分和组织不同类型的文件是非常重要的。
- 基本文件: 租金合同,电话订阅,法规,保险合同以及所有的签一次字,有效期为几年的文件。这些文件需要被保存在一个单独的文件夹中,其中只包含此种类型的文档。对于其中一些非常重要的文件 (例如预付定金的收据,等等),我们建议您对其进行扫描并且把原件保存在一个安全的地方。不要在重要文件上打洞,请把它们放在透明的塑料文件夹里。这些都是您活动/公司的基础,您需要对其小心谨慎的处理。
- 与员工相关的文件: 把与个人相关的合同,保险以及其它的文件保存在单独的文件夹中是非常有用的。
如果有大量的文件,我们建议您为每个文件夹进行分类。 - 增值税申报: 把定期要提交的不同申报进行特定的分类是很有用的 (例如按季度,每半年或每年)。对于增值税和其它一般的文件,最好将它们与基本文件存放在一起。
- 年度的会计凭证和文件: 它们是与费用或收据相关联的收据,发票或其的凭证/票据/文件。这些都要逐年分开保管。每年都需要有一个包含这类文件的文件夹。
会计文件
一个良好的日常秩序是必要的,以便输入会计业务以及控制公司的情况,例如现金流,债务人和债权人的总数等等。
- 所有会计凭证或文件(收据,发票,票)通常必须至少保存十年。
- 把会计文件按日期,与相关联的银行付款对账单或收据一起分类。
- 在会计凭证或文件上写一个渐进的数字。此数字应当输入在文件列中,以会计为起点,您可以为会计文件定位。
- 在年末,打印日记账的备份,并把其与会计文件放在一起。
- 通常每年会使用新的文件夹来存放当年的会计文件。
在付款的时候开具会计发票或收据
小公司和协会仅在付款的时候在会计中输入发票 (现金方式)。
- 把开具的发票与您已收到付款的发票分开。
- 定期核实仍需收到付款的所持有的发票。当付款日期超过了最后的期限,发送付款提醒的通知是很有用的。不要耽误太多的时间,请您确保收到未付发票的付款。这虽然会花费时间,但却是很重要的。
- 一旦这些发票被支付,把它们与正常的会计文件存放在一起。
销售额所开具的发票或收据
在付款和开具发票的时候发票被登记。
请也可以参阅: 客户/供应商登记。
- 把所出具的发票和那些您已收到付款的发票分开。
- 定期核实仍需收到付款的所持有的发票。
当付款日期超过了最后的期限,发送付款提醒的通知是很有用的。
不要耽误太多的时间,请您确保收到未付发票的付款。这虽然会花费时间,但却是很重要的。 - 当您在会计文件中输入所开具的发票的时候,请在发票上做登记的信息。在发生业务行,使用 "原始文件" 列来输入发票号码。
- 一旦这些发票被支付,请把它们移至 "已付款" 的区域,并把它们输入在会计文件中。
- 在您输入之后,请在发票上注明会计业务 (例如使用“已核对”的标志)。
业务 / 频率
- 定期在会计文件表格内输入业务是好的 (每天,每周,每月)。
- 我们强烈建议您不要忽略对会计业务的输入,以便您总有更新的信息用来评估活动的进展。
- 通过不同的费用帐户号码,您可以轻易的了解不同费用账户的概况。
- 会计账务不仅是为了税务机关而做的。
开始创建一个新的会计文件
为了创建一个新的会计文件,您可以选择不同的模板。
创建一个新的会计文件,从包含在程序中的模板开始
在这里我们会为您解释如何从包含在程序中的现有模板中开始编写一个新的会计文件。
- 请从文件菜单中选择新建命令
- 如下图所示,在总组内选择复式记账
- 在文件一栏中,选择复式或复式记账含增值税的模板
- 在示例/模板的部分, 选择语言/国家,然后选择最接近您自己需要的模板
- 通过点击在线模板的选项,您可以访问我们的网站,在那里我们发布了所有的免费模板。
开始建立一个新的会计文件有两种可能性:
第一种方法:
- 在总组中选择复式记账, 然后, 然后在文件部分选择复式或复式记账含增值/营业税
- 在示例/模板 部分选择语言/国家,并且根据您的需要选择适合您的示例
- 进入文件和账户属性
您可以在文件和账户属性页面找到关于此窗口的更多的信息
- 为此文件保存一个新的名字(另存为...)
- 在账户表格中, 您可以个性化编辑自己所需账户的细则: 您可以添加或删除行, 改变账户的账号或摘要 , 创建更多的组, 等等。
ha
如例所示, 在下面的图片中您可以看到账号为111301的会计摘要已被改变。
如果您所需要的会计账号不存在,那您可以在账户中添加一个新的行,在新添加的行中您可以编辑账号,摘要,基本类,所属组等等。
如果您想知道关于怎样建立会计科目表的更多信息,请您阅读会计科目表分组内的信息。
第二种方法:
- 在总组中选择复式记账, 然后, 在文件部分选择复式或复式记账含增值/营业税
- 在示例/模板部分选择语言/国家,并且选择新建空白账本(无会计数据,无账户目录)的选项
- 设置文档初始设置
会计科目表
在会计科目表 (账户表) 以下数据被输入:
- 账户
会指示在什么账户(借或贷)的业务必须被注册。
每个账户有一个号码或数字 (账号), 摘要, 一个基本类和其所属的组; 同时也拥有一个初期余额,当前余额,预算,等等... - 成本和利润中心
它们是特殊的账号,在数字之前有一个句号".", 一个逗号"," 或一个分号";"。它们的目的是在基本会计账户之外给一些特殊账户分配一些数额。 - 部门
它们类似子账户,在数字之前有一个 ":"。其目的是能够为会计计划的子类别分配一些业务。 - 总组
目的是创建行,而该行是程序加起来的其它行的总量。 - 类
指示会计计划对资产负债表和损益表的打印输出。
复式记帐中列的说明
- 类
在打印按组生成的资产负债表的时候,仅允许用户打印会计科目表内已被确定部分的代码被输入。 - 总组
包含了定义组内行的账号。组的账号被用于所属组的列中,去指示一个账户或组的总计。
- 账户
帐号,成本中心或部门被输入。 - 摘要
指示账户名,组或类的文本。 - 基本类
它表示该帐户是否为1=资产,2=负债,3=支出,4=收入,查看账户。
- 所属组 (在合计)
指示一个组,以便程序可以把该行合计在组中。 - 所属组1 和 所属组2
附加的分组码与外部会计报告文件一起使用。
- 初期余额
在年初插入账户余额。在贷款金额的前面必须加一个负号。总的借方金额(正)和贷方金额(负)必须平衡,相抵为零。如果初期余额不平衡,在信息窗口会显示一个差额。如果您添加了或粘贴了账户,而差额不正确,请您进行账户重新检查 (Shift + F9)。
- 借方变动和贷方变动 (被保护列)
总的借方和贷方的动向包括在业务表中。
- 余额 (被保护列)
账户的余额包括初期余额以及借贷双方的动向。借方余额为正,贷方余额为负 (负号)。 - 预算
当年的预算金额被输入。输入预算金额的费用(借)必须为正,收入为负(贷)。 -
预算差额 (被保护列)
余额和预算额之间的差额。 - 上期
该帐户在上一年度的期末余额。
使用命令"建立新账" 或 "更新初期余额", 前一年文件的余额列中的值会被转结。
当一个新的账户被创建,用户希望获得打印输出前一年的数额,那一年的值必须手动输入。 - 上年差额 (被保护列)
余额和上年金额之间的差额。 - 关闭
如果列中包含了值 "1", 该帐户将不被建议在现有的帐户列表。 - 增值税号码
增值税号码在一些情况下连接到客户或供应商。 - 增值税代码
当账户在业务列被输入为借方账户或贷方账户的时候, 增值税代码需被自动应用。 - 地址列
为了管理客户或供应商的数据,拥有添加地址列的程序是可能的。
添加或移动列
- 当在会计科目表内添加了金额列, 该程序根据所选分组的方案进行总量合成。
-
相反,被添加列的号码类型不被汇总。
- 使用列设置命令, 该列变得可见,序列可以被改变,也可以添加其它的列。
- 使用页面设置命令, 用户也可以自定义打印(纵向或横向)和缩放的布局。
视图
- 基本: 显示主要的列,分组列和余额。
- 发生业务: 显示拥有借贷业务的列。
- 预算: 显示的是预算列和预算差额列。
- 上期: 显示的是前一列和上年前列的差异。
- 其他: 禁用列,增值税号码和会计号码列被显示。
- 打印: 只是账户列,描述和余额被显示。
视图可被客制化,以及通过视图设置添加其它的。
打印资产负债表和损益表
账户
记账账户
为了创建一个账户,请到账户表,在账户列输入一个数字或账号。
同样的账号会在发生业务表内的借方和贷方栏内被使用。
- 该账号可以由数字,字母和分离字符所合成。
- 同一个号码不可能由多于一个的账户所使用。
- 每个账户必须拥有一个基本类,必须属于一个总组。
基本类
每一个账户必须归属于下列的任一基本类:
- 1 是资产
- 2 是负债
- 3 是费用
- 4 是收入
基本类号码必须如所指示的,无关账户或组的账号。创建表外账户是可能的 (例如为了保证首期付款,以及有条件的承诺), 其必须有下列基本类:
- 5 是表外账户: 资产
- 6 是表外: 负债
初期余额
每个账户的初期余额都被输入在初期 + 货币符号列。
- 资产余额被正常的显示。
- 负债余额被和负号一起输入(负)。
- 通常只输入资产和负债的初期余额。
为了能够自动转至下一年的初期余额,请参详建立新账。
初期余额差异
在一个正确的会计文件中, 资产初期余额的合计和负债初期余额的合计应该是相等的,不应该有差额出现。
如果合计不相符,那么系统会向您显示一个警告的信息,告诉您存在一个初期余额的差额 (信息窗口)。
如果您已经改变了一些账户的数字并且认为错误信息提示是不正确的话,请使用重新核算套账。
当您第一次使用Banana会计软件的时候, 必须手动输入初期余额。
拥有地址的账户
在会计科目表中可以添加新的列,包括对地址的管理:
选择菜单中的工具栏 ->选择命令添加新功能
此命令可以在会计科目表中添加以下事项:
客户/供应商注册
在会计计划中,您需要管理客户/供应商注册, 这意味着一个为所有客户的特定账户列表, 您需要拥有地址,电话号码,电子邮件,增值税号,等等的完整数据。所以添加地址列是很有用的。
总组
分组和总计系统
Banana会计软件的分组和总计系统是基于以下几列:
- 总组(总行)
在一个行中,当一个组的标识符被输入,该行将成为一个总行。
在包含相同标识符的所属组列的行中,其数额将被汇总。
当一个组存在时,则不可能有一个账户。 - 所属组(添加该行到总行中)
这里的数字必须是定义在组列中的其中一个。
有了该系统,一个账户可以在组行中进行总计,也可以在该组的另一个组中……为了创建不同等级的总计。
总计系统是非常强大和灵活的,但是需要一些时间来“习惯”它,以达到更好地应用它的目的。
一些复式记账法中的主要组的示例
每一个账户科目表都使用它自身的总计系统。下面我们将解释复式记账法中的主要组。
在复试记账法中,借方余额(正的)与贷方余额(负的)的总和为0(零)。
- 00是所有总额被加在一起的行。
它是所有贷方&借方余额的“概要”。
假如余额列的总和不等于0,则意味着有贷方/借方差额,那么很有可能是错误的。在这种情况下,使用检查账务是有效的(参加下一点)。
在发生业务视图(账户表格)的贷方和借方列,只有正的数额,因此在00组的行,发生业务的总额将不等于0。
到达00的计算序列如下:
- 1000 账户 -> 组 1(总资产) -> 组 00
- 2000 账户 -> 组 2(总负债) -> 组 00
- 3000 账户 -> 组 3(总费用) -> 组 02 (损益表结果) -> 组 01(当年度资产负债表中的损益) -> 组 2 (总负债) -> 组 00.
- 4000 账户 -> 组 4(总利润) -> 组 02 (损益表结果) -> 组 01(当年度资产负债表中的损益) -> 组 2 (总负债) -> 组 00.
在权益中加入了损益表的结果
就像您在例子中所看到的,组2 (损益表中的收益/损失) 被汇总在负债组01当中 (本年度的结果)。
使用这样组的形式,具有以下的优点:
- 在本年度,经营业绩显示在资产负债表中;
- 总负债将与总资产(前提是没有会计错误)相匹配。
增加或删除子组
增加一个总计的等级
使用该系统很容易增加总计的等级。
当我们希望为现金及现金等价物账户创建一个子组时:
- 在一个空帐户后输入一个空的行
- 在组列中输入数值10
- 在所属组列输入数值1
- 明确所属组10在账户1000和账户1001中
- 则计算序列变为:
1000 账户 -> 组 10 (现金&现金等价物) -> 组 1 (总资产) -> 组 00.
假如您希望插入另一个子组,“流动资产”,可以用相同的处理方式。
- 在总资产行的上方插入一个空行
- 在新的行中:
- 在组列中输入数字11
- 在所属组列中输入数字1
- 在客户和商品转售(库存)行中,输入所属组11
删除子组
如果账户科目表中的子组您不再需要或是不想要,它们可以被删除。只需要删除子组的行并且修改每一个属于子组一部分的账户的所属组。
检查结构
账户科目表一旦被设置,执行账户(1)菜单内的检查账户属性命令。假如存在错误,则程序会发布一个警告。
无限循环错误
当一个组被总计在一个较低级别的组中时,该错误将会出现。因为一个无限循环的错误被创建了。
在之前的例子中,如果资产组(1)被总计在组10中时,将会出现无限循环。
在计算完成组1之后,该程序将会总计组10的数额,然后按顺序总计组1的数额,然后再次总计组10的数额……没有结束。
损益表与毛利
本软件也可以使用从营业总结果减去成本开始的损益表。
下面将使用瑞士PME账户科目表作为示例。
总计系统的延伸使用
总计系统非常灵活:
- 在一个组中,它既可以增加组,也可以增加账户
在以下例子中,我们可以看到,现金及现金等价物组(10)和账户(1100和1300)组都可以被总计到资产中 - 您可以使用任何类型的编号
- 您可以创建高达100级的总计
- 总计行可以在行的后面
- 总计行可以在行的前面
- 总计行完全可以在任何地方,在一个独立的位置
它可以被用于创建登记簿(例如,客户登记)
- 账户和组可以被总计在一个单独的其他组
但是它不能同时在两个组中总计同一个账户 - 该系统也被用于总计成本中心和部门
注意不要对正常账户和成本中心使用不同的组,因为由此产生的金额将不正确。
金额列的总计
计算过程总计金额列
- 由系统定义的金额列被总计
- 由用户增加的金额列被总计
计算序列
本程序使用以下方式计算总数:
- 将组行的金额列的数值设置为0
- 把金额行的数额加到组行的总额中去(第一计算级别)
- 把组行的余额加入到高级别的组中去
重复以上操作直到所有级别都被计算。
相关文档
- 期初余额
类
为了能够自动创建按组生成资产负债/损益表, 会计科目表需要在类的列中配置特殊的代号:
* | 标题 1 | *号作为各类之间的分隔符,并指示主标题 |
** | 标题 2 | 为副标题而输入 |
1 | 资产 | 在资产行中输入标题 |
2 | 负债 | 在负债行中输入标题 |
3 | 费用 | 在费用行中输入标题 |
4 | 收入 | 在收入行中输入标题 |
01 | 客户组 | 在客户组行中输入标题 |
02 | 供应商 | 在供应商行中输入标题 |
03 | 成本中心 | 在成本中心行中输入标题 |
04 | 利润中心 | 在利润中心行中输入标题 |
# | 附注 | 在附注行中输入标题 |
#X | 隐藏数据 |
在此行中输入的数据必须是要被隐藏的 |
资产的类
- 在资产负债表标题的同一行输入一个 * 号
- 在资产标题的同一行输入1
负债的类
- 在负债标题的同一行输入2
损益表的类
- 在损益表标题的同一行输入一个 * 号
- 在损益表标题的下一空行输入4
请注意: 当会计科目表中的收入和花费之间有一个明显区别的时候,您需要:
- 在花费标题的同一行输入3
- 在收入标题的同一行输入4
客户/供应商的类
- 在客户/供应商标题的同一行或空行中输入一个 * 号 (如示例所示)
- 在客户组标题的同一行输入01
- 在供应商标题的同一行输入02
金额的显示方式与资产和负债的是相同的。
当客户和供应商都配置为成本中心时,此编码也是有效的。
如果配置中有成本或利润中心,请输入以下内容:
- 在成本和利润中心标题的同一行或空行中输入一个 * 号
- 在成本中心标题的同一行或之前提到的空行中输入03
- 在利润中心标题的同一行或之前提到的空行中输入04
成本中心的金额和费用一样显示为正(黑色); 利润中心的金额和收入一样显示为负(红色);
如果您想了解更多的信息,请查阅类的逻辑页面
相关文件: 按组生成资产负债/损益表
类的逻辑
在类的列中输入的不同编码决定了打印输出的结果。
每一类都被打印为一个分开的表。
目录
- * 标题 1创建一级目录。
它可以包含2级类或目录。
把所需打印的类组合在一起是很有用的,例如资产负债表,其包含了资产和负债。 - ** 标题 2 创建2级目录。
基本类
类的号码或代码决定了:
- 如何打印金额; 金额可以像在资产负债表中那样显示或是反向的。
如果贷方金额(负)被反向,它们将被视为正,正金额将被视为负。 - 哪些列的金额将被使用; 余额列或期间活动被使用。
余额列指示出在具体日期的账户余额 (6月30日余额)。
总期间活动列指示在指定期间的活动额。
其被损益表所使用,在一定的期间内指示成本或收入。
以下是不同类的解释
- 1 资产 (金额在会计计划中,余额列)
- 2 负债 (反向金额, 余额列)
- 3 费用 (金额在会计计划中, 总活动列)
- 4 收入 (反向金额, 总活动列)
此类也可被单独使用,可以包括费用和收入。此种情况下收入显示为正,费用为负。
这些类必须是唯一的。因此只能有一个“1 资产”,或者一个“2 负债”。对于其他的类,比如客户/供应商组或成本中心相似的类可被使用。
衍生类
这些类与基本类相似
- 01 与资产相似 (金额在会计计划中,余额列)
被客户组使用。 - 02 与负债相似 (反向金额, 余额列)
被供应商组使用。 - 03 与费用相似 (金额在会计计划中, 总活动列)
被成本中心使用。 - 04 与收入相似 (反向金额, 总活动列)
被利润中心使用。
其他类
还有其他的类
- # 指示一个附注类 (只打印摘要列)
被资产负债表的附件所使用 - #X 隐藏类 此类不包括在所选类中,不能被打印。
通常指示不被打印的部分。
打印时列的宽度
程序自动设置列的宽度
类 1, 2, 01, 02 的宽度与列相同。
类 3, 4, 03, 04 的宽度与列相同。
部门
简介
正在使用的分部对成本进行更详细的分类,并且还可以获得公司组件或部门的计算。通过使用分部,您可以获得每个单位,部门或分支机构的损益表,而无需为每个单位创建特定的账户。
例如,博物馆可以使用分部来了解每个展览的收入,人事费用或设置费用。
当需要系统归因时,在借方或贷方业务之后,将使用分部。
相反,成本中心通常用于额外的编目,结构较少,也不一定遵循帐号。
成本中心和分部可以同时使用。
部门的特征
部门必须配置在帐户表中,在会计科目表的末尾,指示列中的帐户
- 部门是前面有冒号的账户 ":"。
- 部门代码可以由数字或字母组成。
- 可能有多达10级的部门。
- 部门前面符号冒号的数量指示了级别的数量。
- : 1级10部门
- :: 2级10部门
- ::: 3级10部门
-
- 不同级别的部门是相互独立的。
- 部门没有基本类或货币符号。
- 部门的计算是由本位币来完成的。
- 在发生业务中,部门跟随着借方和贷方账户。在没有账户的情况下无法记录部门。
- 如果在文件和账户属性内的选项标签下,已经激活了使用负号(-)作为部门分隔符的选项,那么在发生业务中,您可以使用" - "作为分隔符而不是":"。
- 可以获得单个部门业务的账户明细。
部门的配置
部门必须配置在账户表中。
- 在类的列中输入一个星号,以便定义与部门相关的部分
- 在摘要列输入部门的标题
- 输入第一级别部门的摘要,并在账号列输入":"
- 列出第一级别的部门, 在账户列为每一个输入一个识别码, 并在前面输入":"
- 输入第二级别的部门 (以及,再输入第三级别的,如果有需要的话), 同输入第一级别的步骤一样,唯一不同的是在部门的代码前要输入"::" 或 ":::", 具体情况要根据不同的级别而定。
部门余额
部门是指在账户上输入的细分。因此部门的金额总是与账户相关联的,为了得到部门的总计,您需要点击报表(1)菜单内会计报表中不同的细分命令。
在会计科目表中指示出了部门的余额。如果该部门被用于借方和贷方的账户中,那么余额为零,因为金额会自行补偿。 只有在损益表账户相关联的借贷帐户使用时,该部门的余额才可见。
发生业务
在发生业务表内输入的部门,遵循主账户,从账户部门而来。
每个部门都以冒号或者负号(-)为开头, 在此种情况下使用负号(-)作为部门分隔符在文件和账户属性中被激活(文件菜单)
如果在会计科目表中的账户含有"-" 或者 "_", 例如在客户/供应商注册账户中所示,您就不能够使用相同的符号作为部门分隔符; 在这种情况下您需要停用相应的选项,并使用 ":" 符号。
当一个部门属于多级别的时候,第一级别的部门需要在主账户之后被输入; 然后, 用第二级别的代码继续。
报告
部门的报告可以通过按组生成资产负债表/损益表或者会计报表的命令来获得。
这些命令中有细分的标签,在那里您可以找到为部门创建列的指示,选择您需要的部门。
通过项目的部门
通过分支的部门
相关文件: 管理不同的项目
管理不同的项目
使用部门属性,可以管理不同的项目,得到由资产负债表所决定的每个项目的利润或损失。
示例
在一个关联的活动中,有两个项目需要被同时管理:
- 课程
- 活动
最重要的是,有不同的分支机构具有相同的项目需要被管理:
- 罗马
- 米兰
用户希望得到一个可以显示每个分支机构下的每个项目的利润或损失的资产负债表。
如何操作:
- 在账户科目表的最后插入部门
- 输入交易额,并完成部门的借方账户和贷方账户
- 在报表(1)菜单下,启用按组生成资产负债表命令
- 在不同的选项卡中选择可用的配置;特别是在类选项卡中,取消资产负债表账户、客户/供应商账户和成本中心的显示。该部分通常所说的是损益表账户。
- 在细分选项卡下,激活按分部细分的选项
- 选择每一个需要包括资产负债表的部门(按项目或者按分支机构选择)
- 点击确定按钮,完成并显示报告
按项目分类的报表
成本和利润中心
成本和利润中心(下面被表示为成本中心)允许用户使用不同于普通账户的标准来分类发生业务。
成本中心的特征
- 成本和利润中心(成本中心)是前面有 “.” 和 “,” 以及 “;” 标识的账户
- 这里有三级成本中心:
- 成本中心1前面是一个句点 “.”
- 成本中心2前面是一个逗号 “,”
- 成本中心3前面是一个分号 “;”
- 每一级都是彼此独立的
- 每一个级别中,都可以有无限数量的成本中心
- 高级别的成本中心可以在不使用低级别的成本中心时使用
- 成本中心的代码可以是字母或数字
- 与普通账户不同的是,成本中心可以有他们自己的组。同一级别下的成本中心可以创建子组。注意不要将不同级别的成本中心组混淆,也不要与普通账户或部门混淆。
- 每个成本和利润中心都有属于自己的账户卡,用于完成业务往来和余额记录。
- 根据成本中心记录的账户与根据借方和贷方记录的账户是独立的。人们也可以记录一个没有任何借方和贷方列账户的成本中心。
何时使用成本中心
成本中心通常被用于分类某些特定活动的费用,这些活动之间不一定相互关联。
- 项目,活动,建筑工地
- 客户和供应商,会员,销售代理
- 某些支出额外的细节
相反地,部门需要遵守借方和贷方账户规则,并被用于支出和收入的进一步细分。
也可以将成本中心和部门同时使用。
在账户表格中设置成本中心
- 创建成本中心特定的类
这种设置对于成本中心在增强的资产负债表组中的展示是必要的。- 需要更改类的时候,输入一个带有*的类
- 在下一行中,输入03(或者04来表示利润中心)
- 添加一些空的行用于成本中心
- 在组列中,输入成本中心账户所属的组
- 在账户列中,在那些需要被记录在成本中心1列(发生业务表)的内容前输入前面带有句号“.”的成本中心账户(.CC1),在需要被记录在成本中心2列的内容前输入前面带有逗号“,”的成本中心2账户(,CC2);类似的,在需要记录在成本中心3的内容前输入前面带有分号“;”标识的成本中心3账户(;CC3)
- 在所属组列,请明确需要累计数额的组
- 在多种货币会计中,请明确账户使用的货币
- 增加成本中心组
- 在一个或相同的组中,只计算特定级别的总数
- 在普通账户中,可以创建不同级别的成本中心组
文件属性(增值税金额)
在文件和账户属性命令的增值税标签下,您可以使用以下选项来设置成本中心的数额:
- 使用业务发生额 - 成本中心的金额根据注册金额来记录
- 使用不含增值税的金额 - 成本中心记录不含增值税的金额
- 使用含增值税的金额 - 成本中心记录包含增值税的金额
发生业务
为了在成本中心中记录,假定成本中心账户已经被输入到表账户中。
您需要在发生业务表下的成本中心视图中处理这些记录;在成本中心1,成本中心2,成本中心3列中,您需要输入前面不包括标点符号的成本中心账户。
- 为了在成本中心的贷方账户进行记录,您需要在成本中心前输入负号(-)
- 对于收益&费用核算,在文件和账户属性中,您可以为成本中心定义所遵循的类的符号
- 为了在同一级别内的多个成本中心记录全球金额,您需要创建不同的行来记录不同的成本中心
成本中心账户卡
成本中心被视为任何其他账户,因此,每个成本中心都有属于自己的账户卡用来记录账户余额和账户内的发生业务。
为了检视所有的成本中心账户卡,在账户(1)中点击账户/科目卡命令,然后点击成本中心按钮(过滤器选择)。
相关文档:
会员名单
为了获取对协会有用并且包含全部数据的会员列表,用户需要进行以下操作:
- 在账户表格中,在账户表格的最后,会员列表可以用成本中心3(CC3)列来创建。
- 启用地址视图:点击工具栏菜单,然后点击增添新功能命令
- 在随后弹出的窗口中,确认选择在账户表格中增加地址列
- 在表格中插入会员相关的数据
- 打印:选择需要被打印的行,然后点击选择按钮来启用打印选项
为了在”发生业务”表格中记录每一个会员的往来业务,使用成本中心3列并为每一个会员插入成本中心3账户。为了显示出成本中心3列,在数据菜单中,点击列设置命令;在成本中心3上双击并且启用可视的复选框。
在账户表格中,显示会员的业务往来余额。
如果需要查看某会员的所有相关交易记录,请查看该会员的账户明细(单击单元格右上角的蓝色箭头)。
相关文档:成本和利润中心
添加/重命名
添加一个新的账户
- 把自己定位在您想添加新账户的上一行。
- 使用编辑菜单中的添加行命令来添加新的行。
- 在列中, 插入账号, 摘要, 基本类 (1是资产, 2是负债,3是费用,4是收入), 所属组要与之前输入的相对应的总组的内容一致。
请注意: 如果您在账户不存在的情况下先输入了一笔发生业务,然后您才在会计计划中创建了新的账户,那么您会首先收到一个错误信息的提示,只有在您使用Shift + F9键重新检查会计账户后才会消失, 或者从报表(1)菜单中选择检查账务的命令。
添加一个新的总组
- 把自己定位在您想添加新的总组的上一行。
- 使用编辑菜单中的添加行命令来添加新的行。
- 在列中, 插入总组号, 摘要和所属组, 需要和您希望这个总组被累加的情况一致。
一个账户或一个总组的重命名
- 把自己定位在账户表中的账号或总组列 (或者在增值税代码的税码列)
- 在数据菜单中选择重命名的命令
- 输入新的账号,总组或代码
程序会自动更新发生业务表内的新数字或代码。
删除一个账户或一个总组
- 把自己定位在需要被删除账户的那一行
- 在编辑菜单中, 选择删除行的命令
- 输入想要被您删除的行的数字
在删除了一个账号或总组之后,使用报表(1)菜单中检查账务的命令是有必要的。如果被删除的账号或总组是被使用在发生业务表中的,系统会出现一个提醒您的警告信息。
初期余额
当您第一次使用Banana会计软件的时候,为了创建初期资产负债表,初期余额需要手动输入。
在您设置完会计科目表后,您需要进行以下操作:
- 请您进入“账户”表格的“基本”内的初期列。
- 请您手动输入资产和负债账户内的初期余额。负债的前面要加负号 (-) 。
- 请您检查总资产和总负债的总额是否相同,以便确保您的账户平衡。如果初期余额有差额,那么您需要对它们进行检查并修改。
为了下一年的初期余额能够自动转换,请咨询创建新年。
发生业务
输入发生的业务
发生的业务必须被输入在发生业务表内。
发生业务表格内的列
被列出的在此之下或之前有 * 号的列通常不可视。
为了使它们可视,请使用数据菜单内的列设置命令。
日期
在发生业务表内使用的日期必须在一定的时间框架内。在此处使用的日期必须限定在会计账户的基本数据内定义的时间内。 在选项标签, 可以指示出是否需要发生业务的日期,如果不需要可以为空。
如果有枷锁业务, 如果比枷锁的同等的或更早的日期被输入的话,程序会出现一条错误的信息提示。
*日期文件
文件的日期可以被输入,例如发票的日期问题。
*日期值
银行操作的日期值可以被指示。从电子银行对账单中此值可以被导入。
文件
凭证的数量作为账户业务的基础。当输入发生业务的时候,在文件上最好指示出一个连续的编号,以便可以从发生业务轻易的追踪会计文件。
自动完成功能提出的渐进值和业务代码之前在经常性业务表内已被定义。
程序提出的下一个文件的号码,可以使用 F6 键来继续。
-
在数字编号的情况下,程序简单的增加在文件列中找到的最高值。
- 字母数字编号: 程序增加最后的数字部分; 当您希望为现金及银行的变动保持一个单独的编号时是非常有用的。
如果早些时间文件号码 C-01 被输入, 一旦开始键入C, 程序提出 C-02。
如果早些时间文件号码 B104 被输入, 一旦开始键入B, 程序提出 B-105。
如果早些时间文件号码 D10-04 被输入, 一旦开始键入D, 程序提出 D10-05。
在经常性业务中您可以设置用一个单一代码就可以重新组装的发生业务组。
为了能够添加大量的文件号码,您也可以使用 Excel 电子表格文件。您可以在 Excel 中创建您所需的文件号码的数量,然后复制并粘贴到 Banana财务会计软件内的发生业务表格的文件列中。
*文件协议
在发生业务或文件内出现替代编号的情况下,需要一个额外的列。
自动完成特性提出的渐进值功能和在文件列中的是一样的。
*文件类型
包含的代码是程序用于识别一种发生业务的类型。如果您更偏向于使用自己的代码,那么最好增添一个新的列。
- 01 在报告中, 此笔业务被视为初期业务,因此没有显示在期间中,而是显示在初期余额之中。
- 从 10 至 19: 客户发票的代码
- 从 20 至 29: 供应商发票的代码
- 从 30 至 1000: 保留为将来使用的代码
*文件发票
已发行或已支付的发票将与为客户/供应商提供的发票控制特性一同使用。
*原始文件
在文件中出现的参考编号,输入,例如,信用支票的数量。
*链接到外部文件
输入链接到外部文件,通常是会计凭证。
点击单元格上半部分的小箭头,程序将打开文件。
*外部参照
被此程序分配的任何参考编号被生成此操作。此值可用于检查一个给定的任务是否被导入两次。
摘要
发生业务的文本。
自动完成特性提出了一个已经进入发生业务的文本, 或一个已输入在前一年中的,在适当的选项已被激活。当使用 F6 键的时候, 程序会用相同的摘要检索上列中的数据并且完成活动行中的列。
*附注
有助于在发生业务中添加附注。
借方账户
将被收取的账户。
在借方账户列输入一个 部门 是可能的。这些通常被一个 ":" 或一个 "-" 分隔。
在账户列表中, 点击有部门分隔符的键,其将迅速的到下一个部门。
如果点击了输入键,输入结束并将移动到下一列。
自动完成特性会向账户和部门提出建议。您也可以输入搜索文本,程序会显示出所有包含在其中一列中的文本的所有账户。
*借方账户摘要
从会计科目表中检索到的所输入的账户的摘要。
贷方账户
账户将被记入。我们会提到在贷方账户下的其余信息的解释。
*贷方账户摘要
从会计科目表中检索到的所输入的账户的摘要。
数额
数额将被输入在借-贷账户中。
增值税列
增值税列的信息可以在发生业务表内的增值税列页面被找到。
CC1
成本中心 账户之前有 "."
*CC1 摘要
成本中心的摘要, 可以在账户科目表中检索。
CC2
成本中心 账户之前有 ","
*CC2 摘要
成本中心的摘要, 可以在账户科目表中检索。
CC3
成本中心 账户前有 ";"
*CC3 摘要
成本中心的摘要, 可以在账户科目表中检索。
*到期日期
在此日期之前要支付发票。
*支付日期
与显示到期日期的命令结合使用。
为了检查支付替代使用客户/供应商发票控制特性,为了已发出的发票或另一个用于支付的发票一笔业务必须被输入。
*锁号, 加锁金额, 累计锁, 加锁行
更多的信息请访问加锁发生业务页面。
添加新的列
使用列设置命令,它可以显示,隐藏或移动列的顺序,添加新列,或者指示出在打印中不应该出现的列。
- 在发生业务表中被添加的列也会被添加到经常性业务表中,在账户卡和增值税报告中,不可见。
为了显示在其他表格中的这些列, 请使用列设置的命令。 - 如果一个列的"金额" 类型被添加了, 那么被输入的金额将被添加在账户卡中。
视图
当新的会计账户被创建后,以下的视图也会被自动的创建:
- 基本: 主要的列被显示
- 成本中心: CC1, CC2 和 CC3 列被显示
- 到期日期: 列的到期日和支付日被显示
- 加锁: 与加锁功能相关的列被显示
使用视图设置的命令,您可以进行个性化的设置,可以创建添加了的视图。
使用页面设置的命令, 您可以修改打印模式的视图。
信息窗口
在屏幕下方的的信息窗口,显示有错误的信息以及关于使用账户和增值税代码的额外的信息。
关于账户, 账号,摘要,发生业务的金额 (借或贷) 以及账户的当前余额都将被指示。
发生业务类型
简单的发生业务
简单的发生业务涉及到两种账户 (一个是借方账户,一个是贷方账户) 并且在一个单独的行中被输入。每笔业务有其自己的文件号码。
多次发生业务
多次发生业务涉及两个以上的账户,所以要输入在几行内。用户应该每行输入一个账户,我们建议您在第一行中输入整个发生业务的对应帐户。
在不同行中所输入的文件号码是相同的,因为在此处用户所处理的业务是相同的。
请您注意:
如下图所示,在多次发生业务中,业务的日期应该是相同的,否则,当按期间进行计算的时候,在会计核算中可能会出现差额。
经常性业务
经常性业务表
为了避免总是重复书写相同的文本,把发生业务组存储在经常性业务表 (选择菜单中任务2中的复发业务命令) 中是可能的。这些组通过一个代码被识别,只需输入相对应的代码就可以在发生业务表中被检索和被输入。
当您处在发生业务表中的文件列的时候, 程序会显示出经常性发生的业务,以组的形式编号。如果其中之一的编号被选择:
- 程序输入经常性的行有着相同的代码
- 程序会完整的完成之前输入的有日期和其他值的行
- 如果数码在文件列,程序会进入进程 (基于之前输入的值)
输入经常性业务
- 您需要进入到经常性业务表 (或者从发生业务表复制) 发生业务行应该被有规律的检索。
- 在文件列,在经常性业务组输入与其相关的代码。
拥有相同组代码的行将被检索在一起 (多行的业务)。
- 渐进的文件编号 "文件号码(docnum)"
如果, 当检索经常性业务时,您希望拥有一个与自动检索不同的文件号码的时候,您需要在文件列中创建一个含有"文件号码(docnum)"的行, 以及在摘要列中您所需要的文本。在下面的行中, 描述列中指定的文本,当检索发生业务的时候将出现在文件列。- "0" 当没有被需要的自动生成的数字
- "1" 渐进编号
- "现金-1" 渐进编号的前缀 "现金-" (现金-2, 现金-3)
程序所替换的数字指示出在文本结束时的下一个渐进数字。
- 如果您希望程序建议只有一行一代码,摘要前必须有:
- 一个"*"号: 显示只有此行,没有其他行有此代码。
- 一个 "**"号显示只有此行,但是不要检索此行 (仅标题行)。
- 一个 "\*" 允许用户可以以星号开始摘要,它不需被解释为一个命令。
把经常性业务检索进发生业务表格
- 输入其他列不应该被修改的日期和信息
- 在文件列中,选择在经常性业务表中被定义的代码,并且点击输入。
- 程序将输入所有的拥有相同代码的业务,重复数据列和其他已经输入的值。
- 在文件列,一个渐进编号或者一个特定的将被插入在文件号码中。
- 或者指示在文件列中的代码以及使用F6键
复制发生业务行至经常性业务表格
为了能够把发生业务表格内的行复制到经常性业务表格:
- 在发生业务表格中,选定需要被复制的行;
- 编辑菜单 -> 复制行命令;
- 进入到经常性业务表格;
- 编辑菜单 -> 插入已复制的行命令。
银行支票
为了输入签发的银行支票,用户需要到账户表的负债下面输入一个签发的支票账户。
此时签发的支票用来支付供应商,之后将成为银行当前账户中的借方。
在发生业务之后是签发的支票账户卡。通过点击上图“2116”右上方的蓝色小窗口来生成。
显示到期日期
链接到文件
将数字文档连接到您的会计业务
- 安排一个存储您所有数字文档的文件夹。其可以是您保存会计文件或子文件夹的文件夹。
-
- 连接发生业务至数字文档。
- 点击任务(2)菜单-> 链接命令中的-> 打开链接选项来查看数字文档的内容。
文件链条列
使用文件链条列 (位于发生业务表内) 输入可以连接到外部文件的链接 (通常是收据或发票的扫描件)。
- 文件链条列通常是不可见的。
为了能在文件中插入链接, 文件链接列必须显示在发生业务表格之中 (请查看列设置页面来添加文件链条列)。 - 在文件链条列可视之后,您便可以直接修改文件的名称。
- 文件名称与会计文件是相关联的;如果该文件在子文件夹中,那么在文件链条列中的文件名称前将出现目录名。
- 网址也可被手动加入到文件链接列的单元格中。
为了能够打开已连接的文件,您可以选择任务(2)菜单-> 链接命令中的-> 打开链接, 或者点击包含有链接的单元格内右上角出现的蓝色小箭头。
输入一个链接至一个文件
有两种方法可以输入一个链接至一个文件:
- 请您把鼠标放在发生业务表的行上,然后请您从菜单的任务(2)中选择链接命令中的-> 添加链接;
- 选择需要被连接的相对应的文件,然后点击 打开 的选项; 程序会自动的插入该链接。
程序会在链接列中输入文件的名称,即使最后的会看不见。
或者
- 在发生业务表格内显示链接列,请您查看: 列设置 的页面;
- 点击单元格右上角的小蓝图标;
- 指示出文件的路径并且选择它。
编辑链接
其操作的步骤与输入新链接的步骤是一样的。
打开链接
打开链接的方法有两种:
- 请您把鼠标放在发生业务表的行上,然后请您从菜单的任务(2)中选择链接命令中的-> 打开链接;
- 把鼠标放在链接列的单元格内,然后点击图标打开链接。
处于对安全因素的考虑,该程序只打开带有扩展名的,被认为是安全的文件, 点击工具栏菜单中的基本设置选项,程序会自动跳出一个名为软件系统选项的窗口,在其中选择高级选项。
取消链接
取消链接的方法有两种:
- 请您把鼠标放在发生业务表的行上,然后请您从菜单的任务(2)中选择链接命令中的-> 取消链接;
- 删除链条列单元格内的信息。
发生业务加锁
数字认证
针对会计数据,Banana 财务会计软件使用非常安全可靠的区块链认证系统。 发生业务可以被锁定并用数字代码标记,即使在多年之后,也可以保证会计数据是可靠的。区块链加密技术还可使用户确保受保护的会计数据未被修改。
这种方法(美国专利号7020640)由瑞士 Banana.ch SA公司的创建者Domenico Zucchetti 先生在2002年开发并取得专利权。该方法保证了最高级别之一的数据完整性,并且符合国际法的规定。您还可以查看Ernst&Young审计公司对这一问题的评估,该公司验证了Banana 财务会计软件系统符合法律要求:
- Ernst&Young, 与瑞士法律法规的兼容性检查 (德语,pdf格式)
- Erns&Young, 与德国法律法规的兼容性检查 (德语,pdf格式)
此种方法, 在会计领域由瑞士 Banana.ch SA公司首次使用,其建立在名为"区块链"的计算系统之上, 区块链认为是非常可靠的,其被用来保证比特币的合法性,并且是世界上使用最广的加密货币。
发生业务加锁的命令
通过对发生业务加锁命令的使用,可以通过控制代码对会计业务进行封锁及标记,通过验证,多年来,没有被修改的业务。
请需要点击任务(2)菜单 - 锁定发生业务命令 - 发生业务加锁命令选项来对会计业务进行加锁; 然后在跳出的锁定发生业务窗口中输入新锁的日期,您也可以根据需要输入密码。
- 正在验证一个可能存在的锁的有效性。
- 在锁定日期之前的业务正在逐渐编号并被锁定。对于每笔业务,正在计算该行的数字代码和渐进的数字代码。
数字代码的计算是根据列的顺序进行的。 - 在会计中指示出,与锁定日期相等或更早日期的业务将不再被接受。
新锁日期 (包括)
指定日期,直到会计业务将被锁定。
密码 (可选)
可以输入最终用来解锁或进行新锁的密码。
如果程序在会计业务,包括加锁日期中没有找到任何错误的话,其将对会计业务进行加锁,计算以及将单个数据和代码分配给每一行的会计业务,如下图所示,这些可以在发生业务表格中的加锁表中被查看。
最近加锁
在上个加锁命令被执行后,当您再次点击任务(2)菜单 - 锁定发生业务命令 - 发生业务加锁命令选项之后,如下图所示,系统会自动填写最近加锁信息栏中的信息。
加锁生效
如上图所示,如果加锁已生效,那么在此信息栏中会出现 “确定” 二字。
加锁日期
会显示上一次被执行的加锁日期。
加锁号码
此数字是根据在锁号列的最后一行中所显示的号码而自动输入的。
当加锁被重复,如果最后一行的锁数值不变,则意味着该锁是有效的,且该数据未被更改;然而,在值被改变的情况下,系统会显示以下代码:
- (-1) 如果该锁从第一行起无效;
- (-2) 如果存在拥有相同锁号的行。
累进散列
这是最后一笔业务中的控制代码。
在点击了锁定发生业务窗口中的确定键之后,如下图所示,程序会自动显示出加锁信息的表格。
在加锁信息表格内显示的所有数据信息都是由系统自动填入的。
程序会重新计算控制码 (散列),并且将验证它们是否与相关联的业务符合。之后会发现代码所对应的锁是否为有效的,如果不是,其意味着已做出更改,该锁是无效的。
套账信息
有关文件创建的所有信息都会被显示。
加锁视图
所有的数字控制码与该程序用于创建数字签名的所有信息一起显示。
- 锁号: 标识不同行的渐进数字
- 加锁金额: 按照一些国家法规,累计交易总量类似于页末的总计
- 累计锁: 电子签名 (散列 SHA-256) 是所有业务入口的唯一标识
控制代码 (散列 Md5)
这是认证的主要因素, 其考虑到以下的内容:
- 当前条目的内容
- 上述所有业务的内容
- 渐进号码 (锁号)
- 累计余额 (加锁金额)
如果对会计数据进行了修改,即使是最轻微的,也会造成控制号码的不同 (日期和金额进行了更改)。如果控制号码维持不变,那么这意味着数据是原始的,没有改变。
在这个部分,程序会自动输入数值。
验证锁
其允许检查被保存的数字控制代码是否与输入的数值相吻合。
此验证确保该文件没有被修改,即使绕过程序锁也不可以 (例如使用直接允许更改文件的工具)。
发生业务解锁
发生业务解锁命令可以取消锁和取消散列。如果您在加锁的时候输入了密码,那么在解锁前,在相应的信息栏输入密码是必要的步骤。
如果之后您想要再次对业务进行加锁,如果它们没有被更改,那么加锁的散列数将是相同的; 相反,如果一些数据被进行了更改,那么散列数也将是不同的。
部分解锁
如果会计业务被加了锁,从一个指定的日期进行部分解锁是可能的。如果您在加锁的时候输入了密码,那么在解锁前,在相应的信息栏输入密码是必要的步骤。
为什么要为会计核算加锁?
原则上来说,被加锁的会计业务不应该再被解锁。但是也有可能发生在加锁之后,您在会计核算中发现了错误,需要纠正的情况。
用户需要在加锁之前保留该文件的副本,以便在有需要的时候进行更改。在发现错误之后,可以恢复之前的情况。与此同时,可能已经发生了其它的业务,因此通常会发生在恢复了以前会计核算的版本后被证明是错误的情况。因此,为了避免这种不必要的,浪费时间的情况,我们才决定添加了发生业务解锁的功能。
认证不得与数据安全相混淆。数据认证是一种确保会计数据是原始数据的方法。为了防止数据被修改,该方法是与数据安全性相关的方法。但是,数据安全程序只能在限制数据访问的环境中实现。
如果文件完全可供用户使用,例如在台式电脑上,用户可以完全控制数据。用户可以轻松地替换文件。通过认证,无法防止数据被更改,但是它将允许用户知道数据是否为原始数据。
组织认证和数据验证
一旦您锁定了一定期间的发生业务,您需要:
- 打印加锁信息或打印具有特定认证编号的最后一行认证的业务 (LockProgr)。
- 将此信息与会计凭证一起签署并存放在安全的地方。
为了检查会计数据是否为原始会计数据,您需要按照以下步骤进行:
- 打开加锁信息的表格。
- 返回显示数字控制编号的文档。
- 检查使用加锁号码识别的行是否仍然具有相同的数字控制编号
- 如果数字匹配,会计数据与认证数据相同。
- 如果号码不匹配,则表示会计数据已被修改。
Banana软件公司正在开发应用程序,可以比较两个文件并获取有关已更改数据的指示。
数据安全
会计人员有责任确保数据不被修改。每个行政部门必须根据其规模和需要进行组织。
如果想确保数据未被未经授权人员更改,必须采用其它的方法和工具,例如:
- 将数据保存到安全系统(受保护的网络驱动器),并设置密码保护。
- 保留数据副本。
- 加密档案。
长期存档
记帐文件包含输入的数据。 为了打开文件并获取报告或帐户明细,您需要掌管您的程序。
Banana财务会计软件提供将所有会计数据及其打印输出导出到Pdf,Html和Xml的可能性。
已生成的文件可以被保存在CD上,即使在很多年后,即便是不使用Banana财务会计软件的人也可以通过任何电脑读取CD上的信息。
文件和账户属性
打印
按组生成增强版的资产负债表 - 有颜色的列
示例具有以下的特征:
含预算的损益表
示例具有以下的特征:
- 增强版的按组生成损益表
- 在菜单报表(1)中选择按组生成资产负债表,之后再选择列来指示出要显示的列
- 列属性内的颜色选项用来设置列的颜色
增强版的资产负债表
示例具有以下的特征:
- 生成资产负债表-基本标签
- 风格标签 (在下面在示例图中选取了柏林的风格)
按季度划分
示例具有以下的特征:
- 增强版按组生成资产负债表
- 细分 -> 按时期细分:按照期间设置细分
- 在菜单报表(1)中选择按组生成资产负债表,之后再选择列来指示出要显示的列
- 列属性内的颜色选项用来设置列的颜色
按分部细分
示例具有以下的特征:
- 增强版按组生成损益表
- 细分 -> 按分部细分: 以便按照分部的细分来显示
- 打印风格
在打印分部的时候, 设置不同颜色的列是可能的
拥有所有会计核算数据的PDF档案
此PDF文件是以总结的方式创建的,用户可以简单的方式实现不同的打印。
以下数据可以保存在PDF中
- 资产负债表和损益表
- 账户表,发生业务,增值税代码,总计
- 增值税报表
- 账户明细
如果将此文件保存在不可重写的CD上(与会计凭证一起使用),则满足归档会计数据的法律要求。
示例具有以下的特征:
点击文件菜单中的创建PDF档案命令。
打印额外的列
为了能够打印在资产负债表内额外的列,需要使用以下的功能:
- 列设置(点击数据菜单), 以便在帐户表中显示或添加新列
- 增强版按组生成资产负债表
- 列-高级: 使列可见。
生成资产负债/损益表
- 资产负债表代表了在一定时期内的资产,负债,收入和支出。资产和负债之间的差额造就了个人资本。
- 账户的分组是由基本类列的内容而完成的。
- 在之前所提到的生成资产负债表,可以用不同的格式来保存 (PDF, HTML, MS Excel) 并且可以复制到剪贴板。
- 为了能够在年末或期末进行计算,展示和打印,请您激活菜单报表(1)中的生成资产负债/损益表命令。
- 不含日期的发生业务将被视为初期业务,将不会出现在打印出的损益表中。
- 在下面的窗口中,您可以激活一些您想要打印的选项:
页标题
行1到行4
在此区域内,在打印时像使用标题一样的输入文字。
打印封面 / 打印日期 / 打印页码
被激活的选项将出现在打印文件内。
列标题 (余额 / 损益)
前两个垂直区域指的是资产负债表,之后的两个指的是损益表。
本年
输入当前账户的最后日期。
上年
输入上年账户的最后日期。
打印页 / 打印范围
通过选择合适的单元格,激活您想要其出现在最终打印文件中的选项。
其它的标签
在以下标签所链接的页面中您可以找到相关的解释:
结果
按组生成资产负债/损益表
按组生成资产负债/损益表与生成资产负债/损益表的不同特点如下:
- 在打印中也包含了在会计科目表中所提到的分组 (不仅仅是总组)。
- 提供了排除总组和账户的可能性 (例如,只展示组的汇总,而不是汇总已经合成的账户)。
- 在会计科目表 - 类的部分,想要选择在打印中出现或不出现的账户是可能的。
- 在一个给定的区间内,选择您想要的细分是可能的 (例如在第一的半年中,您可以选择获得每月或每季度的数据)。
- 通过部门获得细分是可能的。
- ... 以及更多的!
为了计算,展示和打印出按组生成资产负债/损益表, 请您激活菜单报表(1)中的按组生成资产负债/损益表命令; 之后将出现一个信息窗口,在那里您可以定义想在打印文件中出现的不同部分。
请您查看打印输出的例子。
常见问题与解答
- 如果我把余额为零的组排除在外,被排除在外的组的行标题依然会被显示; 我要怎样才能消除它们?
请到类的部分,然后激活您想要排除在外的行标题上的隐藏当前行。 - 我想要在打印文件中不呈现标题中的期间 ("2013的第一个半年"); 我要怎么做?
请到标题的部分并且激活打印期间的选项。 - 在封面上, 当有长标题的时候,我希望能够选择怎样把文字细分为两行,以及是否能把其打印成粗体字,这些有办法实现吗?
更改封面上的字体是有可能实现的。 - 有些金额没有被包含在指定的期间内,为什么?
没有日期的发生业务将被视为初期业务,不会出现在损益表的打印中。请您确保在各个发生业务中都输入了日期。 - 根据账户期间的结果,包含有全部的类3和类4账户的总组被以损或益重新命名。我能改变这种情况吗?
请到类的部分,在激活行的选择文本区覆盖原始文本。 - 如果显示上年选项已被激活,在上年文件中有的组已经不再在本年中出现,程序会出现错误信息的提示。我要怎么做 ?
为了能够打印出有上年和本年数据的资产负债表,上年的组也要出现在本年中。
标题
行1(1),行2(2),行3(3),行4(4)
输入您想要其出现在打印页面上的标题。它们会以标题的形式出现在封面上和其他的页面上。
打印期间和/或细分
只有当特定的期间被选定的时候才能激活此选项。当您未激活此选项的时候,在打印页面的标题部分将不会出现此选项。
页脚
打印页码
在您激活此项功能之后,页码将被打印。
打印日期
在您激活此项功能后,日期将被打印。
打印封面
在您激活此项功能后,封面将被打印。
版面设计
放大
打印的版面会根据输入的值而变化。
页面方向
您可以选择页面的方向: 自动,横向和竖向。
边距
上, 下, 左, 右
这是页面边框和内容之间的距离。
标题
这是页面标题和内容之间的距离。
页脚
这是页脚和内容之间的距离。
增加边距至可打印的区域
如果内容超出了页边距,它将自动调整至适合打印的区域。
类
此部分取决于在会计计划中列的设置 - 请您参考相关的资料: 在会计计划中的类。
如在账户表中所示
按组生成资产负债表的表现形式以及打印设置与账户表中的是一致的。
根据您的选择,不同的部分有着不同的选项:
- 1, 2, 3, 4, 01, 02, 03, 04... 不同的部分是资产负债表中所提到的主要项目
- 账户部分是指选定的账户
- 组的部分是指选定的组
如果您选定的部分带有星号(*)的话, 那么您将看到如下图的选项:
带有 *号的部分
隐藏分区
点击您想要隐藏的部分。
隐藏当前行
点击您想要隐藏的行。
开始新页
点击您想要开始新页的标题以及激活该选项。
备用文本
如果您想要一个所选的不同行或不同的类,请输入备用文本。
如果您选择了数字的类 (1, 2, 3, 4.....), 会有一个额外的选项:
当您选择了一个分组, 您会有以下的选项:
计算百分比组 (%)
在本页的第一张图片中,您可以看到此项。这个选项只有在您选择了一个类之后才会出现 (资产, 负债, ...). 指示出哪个总组的计算百分比根据是可能的。
隐藏子行
如果您选择了一个组,并且激活了此项功能,那么在打印出来的生成资产负债表中将不会出现此组的子行。
显示为账户
如果您选择了一个组,并且激活了此项功能, 那么此组将在资产负债表中以账户的形式呈现。
外部会计报告
根据会计报表文件的结构来打印按组生成资产负债/损益表。
报表文件
您可以使用浏览按键来选择外部会计报告的文件。
列分组
在外部会计报告中被定义的组的列。可供选择的列为: 所属组1, 所属组2, 所属组, 基本类和增值税组。
信号丢失分组
用来控制是否全部的账户都属于在外部会计报告中的一个组。
行
账户, 零余额账户, 含业务发生额账户,零余额组,空行。
通过激活不同的选项,您可以使它们在打印中出现。
列
资产负债表, 损益表和附注
您可以选择希望包括在资产负债表,损益表和附注内的选项:
- 账号
- 当前: 在本位币中的余额或活动在所选的时期或时期细分中被提到。
- 外汇: 在当前账户中的余额在所选的时期或时期细分中被提到。
- 行的百分比: 在汇总中提到的包含有百分比的列 (例如, 总资产的百分比)
- 初期: 在初期的初期余额
- 预算: 在所选的时期或时期细分中被提到的预算额。
- 上期: 在所选的时期或时期细分中被提到上期金额。
- 上年: 在上年同一时期内的金额。
- 差额: 当前时期和其他列金额间的差额 (预算, 上期, 上年)
- 差额百分比: 当前时期和其他列之间以百分比形式呈现的差额 (预算, 上期, 上年)
- 年到日: 从账户的初始至最后一笔业务日期间的余额或活动。
标题的编辑,颜色或列的呈现及改变
每部分都有高级按键,在那里您可以改变列的设置和选项。
列(高级)
标题和选项(列属性)
标题
行 1/ 行 2 / 行 3
通过选择文本选项来改变列的标题是可能的 (从下拉菜单中选择),然后输入新的标题。如果您选择了列选项,那么被选列的名称将被显现出来。
选项
可视
若此单元格被激活,列标题则被显示。
显示为一个总列
若被激活, 此选项仅显示在总列中的金额。
列 - 添加
添加/删除
在资产负债表,损益表和备注中,添加新列是可能的 (从列表中选择), 或者删除您不需要的列。使用菜单中的报表(1) ->按组生成资产负债/损益表 -> 列 -> 高级键 -> 添加键。
如果一项或更多的选项被激活, 程序包括:
账户表格列
如果您点击该标题,账户表格列的列表将出现:
然后您就可以从中选择添加想要其出现在打印文件中的任何已存在的列。
会计金额
这些列包含有由系统计算出的金额,初期余额和被输入的发生业务,为了指定的期间或为了细分的期间。
账户货币金额
外币的账户余额也会被显示。
当前
本年的余额也将被显示。
初期
初期余额将被显示。
上期 (期间)
上期的余额将被显示 (余额,季度,本年,等等)。
上年的
上年的余额将被显示。
本年度截止到目前为止-YTD (本年度截止到目前为止)
此列仅在损益表中可见。从年初到最后一笔业务日期为止的余额被显示。
预算金额
请您也查看预算的信息。这些列包含有根据在账户表中或预算表中的预算金额,并且由系统计算出的金额。如果您创建了预算表,并且一些行已经被输入,系统将会使用本表格的数据进行计算,尽管在账户表中的预算列中已有数值。
预算 (本期的)
与本期预算相关的金额会被显示。
上期预算
与上期预算相关的金额会被显示。
上年预算
与上年预算相关的金额会被显示。
计算期间的备注
系统无法计算在几个会计年或拥有初始和结束会计日期不相符的年份之间重叠的金额。
颜色(列属性)
您可以通过点击列属性中的颜色标签而看到此窗口 (在菜单报表(1)中选择按组生成资产负债表,之后再选择列-高级...- 属性)
更改
使用此项功能,您可以改变文本颜色或背景颜色。
默认颜色
使用此功能,您可以恢复文本或背景的默认颜色。
细分
从菜单的报表(1)中选择按组生成资产负债/损益表的命令,然后再在按组生成资产负债表的窗口中选择细分的标签。
不选
整个期间会被显示。
按时期细分
此项功能可使您选择的日期以每天,每月,每两个月,每季度,每四个月,每半年和每一年的形式展示。所选期间会显示在列的标题中。
仅部门
只有与选定部门相关的数据会被显示。
为整年创建期间
当会计账户的期间与太阳年不同时,但用户仍然想要查看全部的月份,那么此功能需要被激活。
列汇总
此功能为在损益表中选定的期间创建了列汇总,以及在会计报告命令中的汇总视图 (菜单中的报表(1))。
分部的最大数量
最大的默认期间为36。在特殊情况下,如果用户想要在一个相当长的时间跨度上获取特殊的和非常细节的统计数据的话,可以手动来改变数据。一个非常高的最大期间可以使系统变慢。
按分部细分
与选定部门相关的数据会被显示。只有当部门已被设定的情况下此功能才可用。
- 全选 - 所有的选项将被选择
- 空白的 - 只显示未分配给任何部门的金额
- 部门细分 - 每个细分都有在会计计划中给定的标题。被选定的细分的数据会被显示。
列汇总
当此选项被激活的时候,将可获取所选定部门的汇总。
部门标题
如同部门的标题列一样,您可以选择被显示的文字。
时期
请您点击以下链接来查阅关于时期部分的解释:
https://doc8.banana.ch/zh-hans/node/7763
风格标签
使用风格
提供不同模式的生成资产负债表。通过选择,用户可以获得相关的生成资产负债表。
风格属性
对每一种风格,可定义字体和背景的颜色。
数值 / 更改... / 默认
这些功能允许用户改变风格或恢复默认风格。
忽略边线格式
如果此功能被激活,格式将无法维持。
数字格式
除以 1'000
如果有大金额,通过激活此选项,三个零将被去掉。
显示分币
通过激活此选项,分币将被显示。
显示零金额
通过激活此选项,可以选择零金额以0,00数字显示或以-,-符号显示。
负数
可以在金额的前面或后面加以负号显示其是负数,或者金额可以在括号中被显示。您也可以激活负数显示为红色的选项。
文字
此标签用来更改在打印中程序列标题中的文字。
为了更改数值列,您只需要双击您想要编辑的单元格。
合成
请您点击以下链接来查阅关于合成的解释:
https://doc8.banana.ch/zh-hans/node/7769
附件
点击报表(1)菜单中生成资产负债/损益表的命令,便会看到下面的窗口。
会计报表
- 此功能可以允许用户看到特定组账户的金额,某一个特定的时期或特定的细分。
- 为了能够计算,获得和打印报告,请您选择在报表(1)菜单中的会计报表命令。
- 没有日期的发生业务将被视为初期业务,并且不会出现在打印出来的损益表中。
基本标签
报表
您可以选择所需的分组方案:
- 在账户表 - 该报告会显示一个所有账户的列表,正如含有初期余额和初期列的账户一样
- 按类的账户 - 报告将显示不含分组的账户的列表
- 外部会计报告 - 报告将根据一个单独的文件中的组来显示数据 (文件菜单, 新建命令, 复式记账组, 会计报表)。
选项
您可以选择被包含或不被包含的账户:
- 只显示组汇总 - 仅组汇总会被显示
- 含发生额账户 - 仅含发生业务的账户将被打印
- 含零余额账户 - 零余额的账户也将被打印
- 不含无账户的组 - 仅含零余额账户的组将不被打印
其他的标签
在下面的页面中您可以看到其它标签的说明:
报告结果
一个新的展示结果的表格会被创建。
日记账
在Banana会计软件中与日记账相对应的是发生业务表。选择您想要打印的行,打印全部的日记账或一部分的日记账是有可能的。
为了能够个性化打印日记账,您可以改变列的顺序或标题: 您可以在列设置的页面上找到所有的信息以及操作的过程; 您也可以在打印中选择几个选项; 请访问页面设置的页面。
有不同的方式进行打印:
- 请您到发生业务表的位置,并且点击打印的图标
- 请您到发生业务表的位置,选择文件菜单中的打印命令
- 请您从报表(1)的菜单中选择分期日记账的命令; 在这里您应该指示出您想到打印整个表格或者是一个特殊的时期
时期标签内的信息在一般设置的时期页面中有详细的解释。
在排序列标签中选择日记账排序和打印的标准是可能的。
账户/科目明细
账户明细为一个或多个账户,成本中心,部门和组提供了一个完整的会计业务列表。
如何打开账户明细
有两种办法可以打开一个账户明细或科目明细:
- 在现金账簿及收益&费用核算中,从报表(1)菜单中选择账户/科目明细的命令;在复式记账文件中,从报表(1)菜单中选择账户/明细的命令。
- 如下图所示,当您点击账号的单元格时,在其的右上角会出现一个蓝色的小箭头,点击此箭头便可获得该账号的明细表。
- 从报表(1)菜单中选择账户/科目明细的命令 (现金簿和收益 & 费用核算) 或账户明细的命令 (复式记账),用来打开和/或打印所有的或部分的账户明细。
新: 更新账户明细
账户明细表格的数据反映的是当下的情况,如果您对发生业务表格中的业务进行了更改,或者添加了新的业务,那么这些数据和信息不会在账户明细表中得到自动的更新。用户需要重新选择账户明细的命令,或是在发生业务表格的单元格内对小蓝箭头进行再次的点击,或如下图所示,如果账户明细表格仍处于打开的状态,您也可以点击右上角的蓝色更新键。
在账户明细表格里面,如下图所标示的,双击行号可以自动回到发生业务表格内的原始行。
被选择的列
使用数据菜单下的列设置命令,可以隐藏选定的列。
当您获得一个或多个账户,组和部门的账户明细的时候,您就会看到已被使用的确切的账户。
在账户明细表格内的抵销科目
指示出完成业务账户的抵销科目在账户明细表格中被显示。
当存在多个账户的业务 (多行业务),并且在借方输入了一个账户,在贷方输入了多个账户的时候,或者在相反的情况下,软件会用以下的逻辑法来抵销可能的抵销科目:
- 第一行的会计业务被视为会计业务所跟随的抵销科目;
- 如下图所示,如果在抵销科目列中显示有 [*] 的符号,这意味着一个会计业务存在着多个账户;
组和类的明细
在组和类的账户明细中,属于所选组或类的所有账户的发生业务都会被组在一起。
通过把选定的列变成可视的列 (通过数据菜单下的列设置命令),组或类的账户可以被显示。
打印所有的账户明细
如果您想要打印账户明细,那么请您参照下列步骤:
- 报表(1)菜单中选择账户明细的命令
- 通过过滤器,可以自动选择需要完全或部分打印的所有帐户明细(例如,仅帐户,成本中心,部门)
- 在时期,选项,合成的各个选项中,激活您所需的选项
- 在选择您所需的选项后,请点击确定。
对于上面所示的“账户明细”窗口中的不同标签,请您访问以下的页面:
程序会显示出您所选的账户明细。
请从文件菜单中选择打印的命令进行打印。
保存设置
如果您定期打印特定帐户的账户明细,例如,所有与销售帐户相关的帐户明细,那么创建特定的合成是很有用的。
- 点击合成的标签
- 使用新建的选项键来创建新的合成
- 指示出合成的名称,例如在摘要栏中填入“销售账户”
- 选择出您想要打印的账户
每次您希望打印这些帐户的时候,您都可以选择您创建的合成。
页面设置
在页面设置中,您可以指定页面的边距和其它的设置。
账户/科目标签
点击报表(1)菜单中的账户明细命令进行选择。
搜索
输入账户或摘要用来过滤账户列表。
您还可以输入要与分部一起显示的账户 (仅限实验版本)。
可以组合账户和分部 (请参阅开发人员说明):
- 例如10000:01会显示1000个账户和一个分部的所有发生业务。
- 又例如1000|1001会显示账户1000和1001的发生业务。
账户
全部可选账户的列表。
如果您想要打印一个或多个的账户明细,您只需激活想要选择的账户。
全选
如果选择了此选项,那么所有的账户都会被自动选择。
过滤
次功能允许您可以过滤所有的账户明细,或是一个选项:
- 账户; 成本中心; 部门 - 如果没有做出选择,它们将会为默认过滤
- 账户/科目 (现有的成本中心和部门将被排除在外)
- 账户; 成本中心 (仅部门被排除)
- 成本中心 (账户和/或科目以及部门被排除)
- 部门 (账户和/或科目以及成本中心被排除)
- 组- 现有的组将被显示 - 您需要选择被打印的
- 类 - 所有的类将被显示 - 您需要选择被打印的
实际交易或预算交易
在会计核算文件中激活了预算表格后,您可以在账户明细窗口(点击报表(1)菜单中的账户明细命令)中选择:
- 实际交易
业务标签中的条目将被处理。 - 预算交易
预算标签中的条目将被处理。
会计分录差额(账户明细00)
如果发生会计分录差额(请参阅借方-贷方差额页面),打开组00的账户明细(或您的会计科目表中包含基本类 1,2,3,4 的所有帐户明细)。
您将拥有所有具有连续余额的业务列表,每次输入之后应等于零。余额不是零的行包含错误。
时期标签
时期标签的解释与保存文件为Pdf - 时期标签中的是一样的。
选项标签
页尾前可加行数
此功能的创建是为了避免在打印账户时一部分出现一页上,另外一部分出现在其他页上的情况。如果要打印的账户明细没有与此区域的数字输出相对应的行数,那么全部的明细的打印将被移到下一页上。
每页一个账户
通过激活此功能,每个明细都将被打印在单独的页面上。
重复列标题
通过激活此功能,在页面内,每个账户的列标题将被重复。
包括没有发生业务的账户
通过激活此功能,没有发生业务的明细也将被打印。
视图
您可以选择会被包含在账户明细中显示和打印的列视图:
- 基本
- 增值税
- 成本中心
- 到期日
如果没有特定的标准,那么系统将保持在发生业务表中的顺序。
列排序
在账户明细中, 发生业务可以根据不同的数据标准被排序:
- 文件日期
- 起息日
- 到期日期
- 支付日期
预算
在账户表格中输入预算的金额
关于预算表格及预算列(存在于账户表格中)的出现分为以下两种情况:
1. 在您点击文件菜单中的新建命令之后,如果您选择的是空白文件,那么系统会自动出现一个文档初始设置的对话框 (如下图所示),如果您没有选择预算表格的选项,那么在账户表格的预算列中,您可以输入相关的数据。
如果您需要添加预算表格,请您点击工具栏菜单中的添加新功能的命令。
2. 如果在您打开的会计文件中已存在预算表格的话,那么当您在预算表格中输入相关的业务及金额之后,在账户表格的预算列中会自动显现出相应的金额, 在预算表格被激活的情况下,在账户表格的预算列不可以手动输入数据。
请您注意: 如果在账户表格中没有出现预算列,那么请您点击数据菜单中的列设置选项进行添加。
在账户表格中的预算列中:
- 费用显示为正,收入显示为负;
- 为部门添加预算目前来说是不可能的;
- 在预算差额列中,会显示出与账户余额相比下的差额;
- 在显示期间的会计报表中,程序会细分在开账日期和结账日期之间的给定月数的预算数额;
- 在预算表格被激活的情况下,在账户表格的预算列不可以手动输入数据。当您在预算表格中输入相关的业务及金额之后,在账户表格的预算列中会自动显现出相应的金额,
如下图所示:
- 在预算表格中输入2016年的业务 (如图所示的费用和收入)
- 根据上图所输入的预算业务,在账户表格的预算列中系统会自动显示相关的数据 (费用显示为正,收入显示为负)。
预算表格
请您查看 Banana财务会计软件第8版本中预算表格的例子。
使用Banana财务会计软件8的好处有:
- 您可以准备每项预算的细节
- 程序会顾及到经常性业务的操作
- 预算也可指示部门和成本中心的部分
- 您可以提供非常详细的信息 (例如: 当您需要退还贷款的时候)
- 您可以按月输入预算,为每月创建一个特定的表达方式
- 除了成本和费用的预算外,您还可以获得资产负债表和流动资产的预算
- 您可以准备好几年的财务计划
- 您可以根据自己的喜好选择在报告中的显示方式 (按月,按季度或按年)
添加预算表格
请您注意: 此操作不能撤销
- 点击工具栏菜单
- 选择添加新功能的命令
- 在跳出的窗口中选择添加预算表格的选项
(如果在跳出的窗口中没有此选项,那么说明预算表格已经被添加了)
如果在添加预算表格之前,您已经在账户表格中添加了预算列,并且输入了相关的数据,那么在您添加预算表格之后,程序会:
- 在添加了的预算表格中会自动出现您输入在账户表格中的相关数据。
- 一旦添加了预算表格,那么在账户表格的预算列中将不再被允许输入任何的数据。您可以在预算表格中输入相关的业务及金额,在账户表格的预算列中会自动显现出相应的金额,
在预算表中输入预算业务的行
预算表格中业务的输入与在发生业务表格中业务的输入是一样的,您需要指示出相关业务的日期,摘要,借方和贷方的账户等等。
您还可以在下面所提到的列中输入相应的数据:
- 重复列
可以输入重复码,重复码前面可能会有数字。
(3M 代表的是季度, 6M 代表半年, 7D 代表每周的, 3ME 代表的是每季的月末)。- 空 (Empty): 代表没有重复发生
- "D" 代表每日重复
- "W" 代表每周重复
- "M" 代表每月重复
- "ME" 代表每月末重复
例如,如果开始日期为 28.02.2017, 那么下个日期为 31.03.2017 - "Y" 代表每年重复
- "YE" 每年末重复
例如,开始日期为 28.02.2015, 那么下一个日期为 29.02.2016
- 期末列
没有重复的之外的日期应该被指示。 - 变体列
在这里可以指示出一个可能的变体形式,与应用程序相结合。 - 新的一年列
在这里您可以指示出在创建新的一年的时候转移是如何发生的。- 无值: 日期正以每年增加
- "1" 日期保持相同
- "2" 该操作不被转移到新的一年
- 金额列 (在本位币中)
用来记录金额。
如果使用了公式,该数值会自动配置为公式的结果。
在重复的情况下,其是第一个发生业务的金额。 - 汇总列
在重复的情况下,其是在会计文件的文件和账户属性 (基础数据) 中被指示出的会计期间的总和。 - 公式列
如果存在一个公式 (或者任何的文本),那么金额列数值的设定是由公式的结果而定的。此列提供给用户输入计算公式的可能性,其中包括javascript 语言,以及 Banana 应用程序的编程功能。
也包含以下这些特殊的功能:- 公式的结果通常必须是正数。
- 调试 是一个变量,可以使真实的,也可以是错误的。
如果是真实的,在信息中,所有公式的结果都会被显示。 - 行
指的是一个 javascript 的对象,其指向当前的行。
单元格的值可以使用价值函数来检索 ("columnNameXml")。
row.value("date") 返回发生业务的日期。 - 预算期/BudgetGetPeriod(tDate, period)
返回开始的日期 (startDate) 以及期末的日期 (endtDate) 相对的日期和期间可以是:- "MC", "QC", "YC" 分别指示当月,当季度或本年度。
- "MP", "QP", "YP" 分别指示上月,上季度或上年度。
- t = BudgetGetPeriod('2015-01-01', 'MP') returns
t.strartDate // 2014-12-01
t.endtDate // 2014-12-31
- 以下的功能与在 Banana.document 中可用的相似,但是,通过为预算期/BudgetGetPeriod添加可能的指示起始期/StartDate,以便该功能使用当前日期,并作为开始日和结束日的日期返回的预算期/BudgetGetPeriod。
预算余额/budgetBalance('1000', 'MP'); //返回1000余额至上月末。
总预算/budgetTotal('1000', 'MC'); //返回1000账户的当月总变动。- 预算余额/budgetBalance(account, startDate, endDate, extraParam)
- 初期预算/budgetOpening(account, startDate, endDate, extraParam)
- 总预算/budgetTotal(account, startDate, endDate, extraParam)
- 预算货币余额/budgetBalanceCurrency(account, startDate, endDate, extraParam)
- 初期预算货币/budgetOpeningCurrency(account, startDate, endDate, extraParam)
- 总预算货币/budgetTotalCurrency(account, startDate, endDate, extraParam)
- 预算利息/budgetInterest( account, interest, startDate, endDate, extraParam)
- 贷方 (金额)
如果金额小于0,返回金额为正;如果不是返回为0。 - 借方 (金额)
如果金额大于0,返回金额;如果不是返回为0。 - 包括
包括并执行一个 javascript 文件,拥有创建在脚本中可以被召回的函数和变量的可能性。- 包括 "file:test.js"
执行被指示文件的内容。所指示的名称是正在工作的文件的名称。 - 包括 "documents:test.js"
执行被包含在文件表格中的文本文件的内容。
其必须是 "text/javascript" 类型的文件。
- 包括 "file:test.js"
- 改变利润/changeprofit 或 改变亏损/changeloss
只针对多种货币记帐,其计算出指示在借方账户列或贷方账户列中的资产负债表账户(外币)中指定日期内的汇率差异。
系统使用在历史汇率中计算出的汇率差额来完成本位币的金额。
有必要指示出两个不同的行:- 对于改变亏损/changeloss行,资产负债表账户应该在贷方,而汇率差账户应该在借方。
- 改变利润/changeprofit行,资产负债表账户应该在借方,而汇率差账户应该在贷方。
- 账户货币金额需要为空,货币也需要是本位币。
- 公式的结果通常必须是正数。
- 账户货币金额列
这是在账户货币中的发生业务额 (请您查看多种货币发生业务)。
此金额有必要在所指示的汇率下,以基础货币值进行计算。
如果存在一个公式,那么其值为公式计算的结果。
在重复的情况下,第一个金额将被指示。 - 账户货币金额公式列
可以输入计算公式。计算的结果被指示在账户货币的金额中。 - 账户货币总金额列
如果存在重复,其是在账户中定义的基础数据的会计期间汇总。
变量
可以直接在行中定义和使用变量。
必须提前定义变量。
price = 10; total = price * 5;
用户定义功能
用户可以使用JavaScript语言来定义个人功能,并在公式中调用它们。
定义功能是可能的:
- 直接在公式中
- 在JavaScript编码的附件中; 此附件必须含有 "_budget.js" 的信息作为行识别号
- 在文件表格的文本中,需要包含在包括命令中
function Taxcalculation(profit) { var percentage = 10; if (profit > 50000) percentage = 10; else if (profit > 100000) percentage =20; return profit * percentage / 100; }
计算及重新计算序列
当您每次更改预算表格内金额的时候,或者当您手动重新计算会计文件的时候 (Shift+F9), 软件程序会:
- 如果存在,首先程序会执行“_budget.js”文档的内容。
- 重新计算预算表格内的行:
- 程序会根据开始日,结束日和重复列生成重复行。
如果1月份有一个每月都会重复的行,那么程序会创建12个相同的行,每个行的月份日期不同。 - 预算行是按日期排序的 (如果这些行具有相同的日期,那么它们将按照输入的顺序进行排序)
- 业务金额是根据数量和单价来计算的,如果有公式,那么则要按照公式的结果来计算。
- 对于多币种会计核算来说, 程序首先会以帐户货币来执行公式,然后才以基本货币来执行。
如果没有基本货币的公式,程序会使用历史汇率来计算在本位币中的值。 - 对于包含增值税的会计文件,将按照发生业务的金额来核算增值税。
- 之前操作的行将被用于计算以下的行。
预算行日期所在的账户余额,将包含之前操作的金额。
例如,如果您在二月份的业务中输入了一个公式来计算全年的余额,那么您只能在二月底之前获得余额。
- 程序会根据开始日,结束日和重复列生成重复行。
- 其会根据预算业务和初期余额来重新计算在账户列中的预算值。
- 其会在预算表格中更新总金额的列。
如果修改了会计核算的开始日或结束日以及用于计算预算金额的其它值(例如增值税表格),则需要手动操作进行重新计算(从报表(1)菜单中选择检查账务的命令)。
如果您拥有很多行,许多经常性业务和较长的计算周期,在重新计算预算表格的时候,程序可能会放缓。在这种情况下,我们建议您取消文件和会计属性(文件菜单)中选项标签下的人工重新核算总额选项。
打印预算
为了打印您的预算,请您使用报表(1)菜单中的按组生成资产负债表的命令。然后在窗口中的列选项中,激活预算的选项。
如果预算是输入在预算表格内的,那么您也可以根据时期来打印预算。
转移到新的一年
当转移到新的一年的时候,根据包含在 "新的一年"列中所包含的值来把发生业务转移到新的一年中。
年末结束和新年
在每个会计核算年的末尾,在对资产负债表和损益表归档和打印之前,重新核对会计文件的步骤是非常重要的。
请您访问检查账务的页面。
税收方面
在结束会计核算之前,有必要进行一系列具有财政影响的操作。商品帐户需要进行调整,折旧的业务需要被输入,应计收入和负债,增值税申报需要被完成,建立盈利或亏损的账户以及还有其它许多验证和检查的工作。
从程序的角度而言,不论收益是高还是低都没有区别。然而,从财政的角度看,却意味着很多。这些方面的事项需要与您的税务顾问或会计进行核对。尤其在您第一次管理会计核算的时候是非常有用的,在您进行结算之前,我们建议您向专家进行咨询,以便了解什么是您所需的。会计师在年初和在纳税申报最后期限之前的时期是非常忙碌的。因此在会计结算的几个月前与您的会计师会面或把会计文件发送给他/她是非常必要的。
创建新年
为了能够开始记录新的一年,请您点击任务(2)菜单中的建立新账命令,从当年的文件开始,一个新的会计文件被创建。一旦新一年的会计文件被创建,文件就会以新的名称被保存,用户可以在新一年的文件中工作,但也可以在前一年的文件中工作。
即使在您正在工作文件中的已结束的一年中,您也可以像这样创建新一年的文件。在您在上年的会计文件中做了最后一次修改之后,请您使用任务(2)菜单中的更新初期余额的命令来检索初期余额以及再次归属去年的利润。
执行操作
通过建立新年/建立新账的命令:
- 创建拥有账户科目表,与当前文件具有相同设置,但是没有会计业务的新文件 (没有名称)。
- 把您当前文件余额列的数据复制到新文件的初期列中 (仅为选定的类)。
- 把选定的金额添加到新文件中上年利润或亏损账户的初期余额中。
- 把您当前文件余额列的数据复制到新文件的上年列中 (对于所有的账户)。
- 在新文件的文件和账户属性窗口中 (点击文件菜单中的文件和账户属性命令),更新开账日期和结账日期。
- 在多种货币记账中,把上年的收盘汇率输入为初期汇率。
建立新年/建立新账的命令
- 打开当前的文件,然后从任务(2)菜单中点击建立新账的命令: 在执行该操作之后,会自动出现一个窗口,该窗口是相对应于尚未分配的盈利或亏损而出现的差额的窗口。由于会计核算中所出现的错误也会产生差额。
- 从所显示的列表中,用户可以选择会计期间结果被分配的账户,或者如果分配的结果要被推迟。您也可以直接点击确定键。
转结账户开账余额
所选定选项的初期余额被结转。
指示出哪些账户被要求结转初期余额。通常来说,损益账户的余额不会被结转。对于特定的需求,您总可以激活相关的选型。
损益分配
划分汇总
程序将指示出需要在各种账户之间共享的盈利/亏损。
账户/金额
如果仅选定了一个账户,那么金额会被自动的输入。选择账户,或者选择会计期间结果被分配的账户 (最多三个)。如果对于会计期间结果存在多个目的账户,那么金额应该被手动输入在不同的单元格内。程序会对初期余额进行自动的更新。总资产将与总负债完全匹配。
把会计期间的结果分配至多于3个的账户
在这种情况下,像平常一样,把会计期间的结果自动分配到损益结转的账户,然后继续建立新年的会计核算文件。
在新的一年 (新的文件) 中,在发生业务表格中继续进行业务是为了能够把损益结转账户会计期间的结果分配到不同的目的账户中。
- 确认新一年的文件和账户属性。
- 从文件菜单中,激活另存为... 的命令,以指示出新的会计文件需要被保存的文件夹。
更新初期余额的命令
更新初期余额的命令:
- 检索指定文件的结束数据
- 把它们当做上年的数据复制在当前的文件中 (查看建立新账的命令)。
此命令不影响已经输入的记录。事实上,当您在创建新一年会计文件的时候,就像您在记录当年的是一样的。
必须在下列情况中更新初期余额:
- 您已经创建了新的一年,然后您输入了更多的业务 - 或者进行了改正 - 在上年中;
- 当上年的盈利/亏损没有被分配的时候。
以下是如何进行更新的具体操作步骤:
- 打开当前的会计文件,然后从任务(2)菜单中选择更新初期余额的命令;
- 通过在下图中所看到的浏览键来选择上年的会计文件;
- 遵从之前提到的建立新年/建立新账命令的步骤。
初期余额中的差额
平衡初期余额
在初期余额中,总资产与总负债的金额数应该是相同的,否则就不能拥有一个正确的平衡。您需要检查在屏幕下方的信息窗口中是否出现了“初期账目差额(应为0)”的信息。如果存在该条信息,那么您首先需要纠正资产负债表中的初期余额,以确保总资产和总负债平衡 (初期余额列)。
如下图所示,您可以看到错误信息的提示,差额为人民币 2100元。
在纠正资产负债表中的初期余额之后,总资产和总负债的数额应该是一样的。
如下图所示,您也可以在合计的表格中查看总资产和总负债是否平衡。
多种货币记帐
多种货币记帐是以复式记账为基础的,并且可以管理账户和外币业务。
多种货币记帐和复式记账的很多话题都是一样的。为了能够找到更多更深入的信息,我们建议您访问复式记账的页面。
特点
- 也可以用外币来管理账户
- 根据输入在汇率表中的汇率,自动计算转换
- 自动计算汇率差
- 也在第二种货币中提供资产负债表和损益表。
如果想要把复式记账的文件转换为多种货币记账的文件,请查阅转换到新套账的命令。
信息
会计科目表,文件属性以及汇率表
我们建议您选择已经为您建立好的例子,然后再根据您的需要对其进行个性化的编辑。请您注意会计科目表必须包括汇率变动的损益表账户,并且必须有外汇账户。
发生业务
会计账户的发生业务必须要与在复式记账发生业务中输入的一样。
打印
转换
要想了解如何将多种货币记账的特点加入到复式记账的会计文件中,请访问转换到新套账的页面。
如果您想要改变现有会计文件的基本货币 (例如,您会计文件中的基本货币是欧元,您想要把它转换成美元), 那么请您按照下面的步骤:
- 用不同的名字来保存文件
- 在文件和账户属性(点击文件菜单中的文件和账户属性命令)中
- 指示出记账本位币
- 删除上年文件的参数
- 在汇率表内输入相对于基本货币的汇率
- 如果有很多交易要转换,在汇率表中,您可以输入中间汇率 (例如,对于每月来说,指示出该月份的开始日期)。 系统会使用在交易中的历史汇率。
- 在会计计划中
- 用新货币来代替旧货币
您也可以使用查找或替换(点击数据菜单中的查找或替换命令)的功能 (仅限被选择的区域) - 如果存在初期余额,那么您需要用新货币重新输入
- 上一年的余额,预算和其它列也必须转换
- 用新货币来代替旧货币
- 在发生业务表格中
如果有发生业务,您需要一行一行的纠正它们:- 对于已经使用正确货币的发生业务,通过使用F6键,系统会以新的基础货币来重新计算金额。
- 对于其它的业务,您需要以基本货币为单位输入正确的金额,然后再使用F6键。
- 在预算表内
与在发生业务表格中的操作是一样的。 - 使用检查账务的命令(报表(1)菜单中的检查账务命令)来修复可能存在的错误,并继续使用检查账务的命令,直至没有任何错误信息的提示。
理论部分
在这一部分,有关货币兑换的基本理论概念会被解释。
汇率和会计问题
每个国家都有自己的货币,要获得另一种货币,就必须用合适的汇率购买它。汇率是一种货币兑换另一种货币的比率,是以一种货币表示另一种货币的价格。由于世界各国(各地区)货币的名称不同,币值不一,所以一种货币对其他国家(或地区)的货币要规定一个兑换率,即汇率。换钱的意思是指把一种货币的金额转换成另外一种货币的金额。货币的兑换率 (汇率) 不断的变化,并会指示出转化率。例如,在1月1日
- 1 欧元 (EUR) 等于1.32030 美元 (USD)
- 1 美元等于 0.7580 欧元
- 1 欧元等于 1.60970 瑞郎 (CHF)
- 1 欧元等于 157.2030 日元 (JPY)
当保留有不同货币账户的时候,多种货币记账指的是多货币核算或者多值核算。当一个公司拥有超过一种货币的银行,现金以及债务人账户的时候,使用多种货币记账是必须的。哪怕只存在一个外币账户,也有必要进行多种货币会计核算。
基本货币
不同货币的金额不能被直接合计。有必要使用一种基本货币作为进行合计的参照货币。会计的主要观点是“借方”的余额必须相当于“贷方”的余额。为了验证会计核算是否平衡,必须使用一个用于合计的单一货币。如果存在其它的货币,必须首先指示出基本货币。在选择了基本货币,并且执行了一些操作之后,基本货币便不可以再被改变。如果想要改变基本货币,用户必须关闭当前的会计文件,然后再打开一个拥有不同基本货币的会计文件。基本货币也被用来建立资产负债表以及进行损益操作的计算。
为了能够添加汇总以及验证会计核算是否平衡,每一笔业务中都应该拥有以基本货币形式存在的汇率值。在这种情况下,您就可以查看借方的总计是否等于贷方的总计。如果基本货币为欧元,但是存在使用美元的业务,用户需要在汇率表格内输入美元与欧元之间的汇率,用来替换业务内存在的美元金额。所有欧元的金额将被用来验证会计核算的余额。
账户货币
每个帐户都有其自己的货币符号,该符号代表了管理该会计账户的币种。因此用户必须指示出会计账户所使用的货币。每个账户都会拥有用自己的货币表示出来的余额。在此账户上仅允许使用该货币的条目存在。如果账户的货币为 Euro (欧元),那么在这个账户上只能看到以 Euro (欧元) 显示数额的条目; 如果账户的货币为 USD (美元),那么在这个账户上只能看到以 USD (美元) 显示的条目。如果您想以 RMB (人民币) 管理该会计账户,那么您需要拥有货币符号为RMB/YUAN的账户。
基础货币的账户余额
对于每个账户来说,为了计算基本货币内的资产负债表,除了账户本身货币的余额,基本货币的余额也将被保留。美元银行账户明细中的数据要与银行对账单中有关美元的金额相一致。在基本货币中的值将总指定每个会计条目。如果账户的货币为 USD (美元),在所输入的数据中,除了美元的金额,如果也存在欧元的金额,欧元的余额将由所输入欧元的合计来决定。基本货币的实际余额取决于使用汇率来计算每个不同货币的值。如果在某一天,用户使用美元作为实际余额的货币,然后按每日汇率把其转换为欧元,那么用户将获得一个与在基本货币的账户余额中不同的汇率值。造成此差异的原因是由于在之前所使用的日汇率与实际上的每日汇率是不一样的。因此,在每日汇率的实际值与基本货币的账户余额之间存在着差,而这个会计核算的差异就被称为汇率差。其中与基本货币余额之间的差额和被计算的值要被注册,当关闭会计文件的时候,作为汇率的利润或亏损。
其它货币的余额 (货币2)
所有的会计报表都会以基本货币为单位进行计算。如果您使用基本货币作为基本单位,然后把它们转换为另一种货币,那么您将得到另一种货币的余额。在 Banana会计软件程序中存在着货币2的列,在此列中所有的数值都是被自动输入的,然后以指定货币2的形式出现。对金额转换的逻辑如下所述: - 如果货币2与账户的货币或操作的货币是一致的,那么原始值将被使用。如果账户货币是USD(美元),那么USD(美元)的金额将被使用。在其它的情况下基本货币的金额将被使用,并且换算成货币2。会使用每日的汇率。即使对于过去的条目,也将以最新的汇率为基础来表述货币2的值,而不是使用在过去输入该条目当天的汇率。您需要注意的是: 被转换为另一种货币的余额在总计中会出现小的差额。通常而言,总转换值不等于拆分交换值之和,如下面的示例所示:
基本货币 EUR (欧元) |
货币 2 USD (美元) |
|
现金 |
1.08 |
1.42 |
银行 |
1.08 |
1.42 |
总资产 |
2.16 |
2.84 |
个人资本 |
2.16 |
2.85 |
总负债 |
2.16 |
2.85 |
在基本货币中,总资产等于总负债。可以允许在资产负债表中包含差额的情况仅为: 如果它们是可以理解的,以及如果差额是由另一种货币的计算所造成的。
下图为币种2表格的示例:
转换货币
兑换的变率
出现在自由市场上的购买或销售的资金。价格 (汇率) 基于供求的规律。根据汇率的波动会出现或多或少的兑换值差额。
日期 |
兑换欧元/美元 (EUR/USD) |
兑换值为1000.00的欧元兑美元 |
根据 01-01(一月一日)的汇率修改兑换值 |
01-01 |
1.32030 |
1'320.03 |
|
31-03 |
1.33350 |
1'333.50 |
13.47 |
30-06 |
1.34750 |
1'347.50 |
27.47 |
30-09 |
1.42720 |
1'427.20 |
107.17 |
汇率基础
汇率所指的基本货币。根据作为基本货币的货币,在两种不同的货币之间总是存在着两种不同的兑换值。
例如,对于美元 (USD) 和欧元 (Euro) 这两种货币来说,存在着两种不同的汇率:
- 如果在兑换中的基本货币为欧元 (Euro),那么汇率为 1.32030
1 欧元 (EUR) 对应 1.32030 美元 (USD) - 如果在兑换中的基本货币为美元 (USD),那么汇率为 0.75800
1 美元 (USD) 对应 0.75800 欧元 (EUR)
在当今的文件中,通常使用欧元 (EUR) 作为与其它货币进行比较的基本货币。
反向汇率
欧元/美元的汇率为1.32030,可以通过1除以汇率的方式得到美元/欧元的汇率。
汇率 |
反向汇率 1/汇率 |
反向汇率四舍五入至6位数 |
欧元/美元 (EUR/USD) 1.32030 |
0.75800 |
0.758000 |
使用反向汇率计算出的兑换值可能与原始值之间存在着差额,这是因为在中间过程中运用了四舍五入的缘故。
汇率 |
反向汇率 |
交换值 10000 x 原始汇率 |
交换值10000 x 方向汇率 |
差额 |
欧元/美元 (EUR/USD) 1.32030 |
0.75800 |
13'203.00 |
13'192.61 |
10.39 |
为了不产生差额,请您避免使用反向汇率。
例如,向欧元的过渡就禁止使用反向汇率。
乘数
在兑换某些货币的时候,存在着大额的汇率值。
例如,以1月1日的汇率作为基准:
- 1 美元 (USD) = 670,800 土耳其里拉 (TRL)
- 1 土耳其里拉 (TRL) = 0.00000149 美元 (USD)
为了不输入那么多的“0”,也可以用以下的形式表现:
- 1000 土耳其里拉 (TRL) = 0.00149 美元 (USD)
在这种情况下,所使用的乘数为1000,而不是1。
精确度
作为规则,汇率的数值至少要精确到小数点后的第6位数字。
在有必要的情况下,需要精确到小数点后更多位的数字,例如:
- 1 土耳其里拉 (TRL) = 0.00000149 美元 (USD)
当精确度被改变,汇率被以不同的方式四舍五入的时候,兑换的金额也会随之改变。因此,汇率的精确度是非常重要的。
最低面额
对硬币和纸币而言,特别是存在最低面额的情况下。例如,瑞士法郎 (CHF)的最低面额为5分 (0.05)。当进行兑换的时候,例如是欧元/瑞郎(EUR/CHF):
1 欧元 (EUR) = 1.60970 瑞郎 (CHF)
欧元(EUR) |
汇率 |
实际瑞士法郎(CHF) 的兑换值 |
四舍五入到最低面额的瑞士法郎 (CHF) |
差额 |
有效汇率 |
10.00 |
1.60970 |
16.09 |
16.10 |
0.01 |
1.61 |
汇率和数值的计算
当欧元是基本货币的时候:
欧元兑美元 (EUR/USD) 的兑换率是1.32030;
1 欧元 (EUR) 对应 1.32030 美元 (USD)。
兑换值的计算:
用兑换率乘以基本货币金额:
100 欧元 x 1.32030 = 132.03 美元
计算基本货币金额:
用目标货币金额除以汇率:
132.03 美元 / 1.32030 = 100 欧元
计算兑换系数:
用基本货币金额除以目标货币金额:
100 欧元/132.03 美元 = 0.7574
购买和销售的汇率
银行进行购买和出售的货币,并保持盈余的利润。根据确定值被购买或销售,它们会应用不同的汇率。
销售: 银行接收国内货币,并提供 (销售) 外国货币。
购买: 银行接收 (购买) 国外货币,并提供国内货币。
货币兑换和纸币兑换 (溢价)
货币兑换: 书面交易的兑换 (从一个账户到另一个)。
纸币兑换: 兑换纸币。
溢价: 书面金额转换为现金的佣金。
要兑换货币,与兑换纸币相比,银行会维持较小的保证金 (购买/销售之间的差额)。当书面值 (账户的信贷) 需要被转换成现金的时候,银行会申请一个佣金,叫做溢价。
转换回基本货币时的差额
当一个金额被兑换成另一种货币的时候,人们会预期反向兑换也会呈现与原始值相同的金额。
基本金额 |
汇率 |
兑换值 |
返回 |
100.00 |
1.32030 |
132.03 |
100.00 |
然而,当您把货币兑换回去的时候,不总会得到相同数目的金额。由于四舍五入的误差,有的时候不能得到与原始额相同的返回值。
基本金额欧元 (EUR) |
汇率 |
兑换为美元 (USD)的值 |
回归为欧元 (EUR) |
差额 欧元(EUR) |
328.67 |
1.32030 |
433.94 |
328.66 |
|
328.68 |
1.32030 |
433.95 |
328.67 |
0.01 |
328.69 |
1.32030 |
433.96 |
328.68 |
0.01 |
通过拆分的总计差额
一个数额的组成部分的总交换价值不总是拥有与总金额相同的兑换值。
在下面的例子中,2.16 欧元 (EUR) 兑换成 2.03 美元 (USD )。通过拆分量和增加两个兑换值,可以得到 2.04。
金额欧元 (EUR) |
汇率 |
兑换为美元 (USD)的值 |
2.16 |
1.32030 |
2.85
|
|
|
|
1.08 |
1.32030 |
1.42 |
1.08 |
1.32030 |
1.42 |
总计 2.16 |
|
2.84 |
差额 |
|
0.01 |
如果它们没有被正确的记录,就不能消除在数学上的差额。
重估和汇率差
由于汇率时刻都在变化,因此兑换到基本货币的值也会随之不断的变化。在一个时期和另一个时期之间,必然会有不同的汇率差。
汇率差并不是会计错误,而是为了保持会计数据与正常波动相协调而对数值所做出的简单调整。
当您打开会计文件之后,在余额列中的数字与在初期列中的是一致的。当有条目的时候,它们会更新在余额列中的数字。
计算出的余额列包含了对帐户余额基本货币的兑换值, 使用的是每日的汇率 (在汇率表中)。在基本货币的余额与被计算余额之间的差额就是汇率差。
|
初期货币 |
兑换值的初期为欧元
(EUR) |
基本货币的余额为欧元 (EUR) |
计算 30.03.20XX年的余额,货币为欧元 (EUR) |
汇率差 |
||
汇率 |
|
|
1.32030 |
1.32030 |
1.30150 |
|
|
|
|
|
|
|
|
||
现金 |
欧元(EUR) |
93.80 |
93.80 |
93.80 |
93.80 |
|
|
银行 |
美元(USD) |
100.00 |
75.74 |
75.74 |
76.83 |
1.09 |
|
房地产/不动产 |
欧元(EUR) |
1'000.00 |
1'000.00 |
1'000.00 |
1'000.00 |
|
|
总资产 |
|
|
1'169.54 |
1'169.54 |
1'170.63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
贷款 |
美元(USD) |
-500.00 |
-378.70 |
-378.70 |
-384.17 |
-5.47 |
|
个人资本 |
欧元(EUR) |
-790.84 |
790.84 |
-790.84 |
-790.84 |
|
|
总负债 |
|
|
-1'169.54 |
-1'169.54 |
-1'175.01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
亏损 |
|
|
|
|
-4.38 |
|
在3月30日欧元兑美元 (EUR/USD) 的汇率与在年初的汇率是不一样的。在上面的例子中,在3个月期间没有会计条目的输入。在这种情况下,从会计角度而言,意味着从年初就没有变化。尽管这是已更新余额的总计,但是使用3月末的汇率与年初的相比还是会有差额。信贷银行的余额和美元的贷款会在欧元中有不同的值。因此,即使没有任何条目,会计也会有其后果。
在上面的例子中,您会发现,与年初相比,现在的欧元兑换更少的美元。换言之,美元可以兑换更多的欧元。
与年初相比,美元账户余额的兑换值更多。您拥有更多的不动产以及会产生汇率利润。
在借方存在着500美元的贷款。与年初相比,现在的欧元兑换值更大。贷款的价值增加了,由于汇率差造成了损失。
在下面的例子里我们会使用存在相反发展的假设。我们假设欧元升值了,可以兑换更多的美元。美元 (USD) 账户的欧元 (EUR) 兑换值比年初的时候要少。
|
|
初期货币 |
兑换值的初期为欧元 (EUR)
|
计算 30.03.20XX年的余额,货币为欧元 (EUR) (假设) |
汇率差 |
汇率 |
|
|
1.32030 |
1.36150 |
|
|
|
|
|
|
|
现金 |
欧元(EUR) |
93.80 |
93.80 |
93.80 |
|
银行 |
美元(USD) |
100.00 |
75.74 |
73.44 |
-2.30 |
房地产/不动产 |
欧元(EUR) |
1'000.00 |
1'000.00 |
1'000.00 |
|
总资产 |
|
|
1’169.54 |
1'167.24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
贷款 |
美元(USD) |
-500.00 |
-378.70 |
-367.24 |
11.46 |
个人资本 |
欧元(EUR) |
-790.84 |
-790.84 |
-790.84 |
|
总负债 |
|
|
-1’169.54 |
-1'158.08 |
|
|
|
|
|
|
|
|
|
|
|
|
|
利润 |
|
|
|
9.16 |
9.16 |
作为欧元/美元 (Euro/dollar) 汇率上升的结果,您所拥有的兑换值为欧元 (EUR) 的美元 (USD) 银行存款比年初时候的要少。总值减少了,因此造成了损失。
美元贷款拥有更低的欧元兑换值。更少的负债是公司的优势,因此会出现汇率利润。
汇率利润
当出现以下情况的时候,您会得到汇率利润:
- 您资产的兑换值增加 (投资的增加)
- 负债的兑换值减少 (贷款的减少)
汇率损失
当出现以下情况的时候,您会得到汇率损失:
- 您资产的兑换值减少 (投资的减少)
- 负债的兑换值增加 (贷款的增加)
汇率差的会计特征
汇率可以有不同的发展趋势。有时上升,有时下降。会计的原则是,资产负债表上写的数据必须是真实的。当您展示资产负债表的时候,外币账户的兑换值必须是由当天的汇率而得出的。如果您已经明确地将金额转换成基本货币,汇率差会被计算。在现实中没有明确的转换,所以您所处理的仅是对会计的更正。
收盘汇率
在每年的年末有必要准备完整的资产负债表。因此汇率要与收盘汇率一起更新。也有必要一次性的输入汇率差; 如果这些没有被输入,那么在初期余额中将存在差额。
输入汇率差
|
|
货币余额 |
账户余额 欧元 (EUR) |
计算 30.03.20XX年的余额,货币为欧元 (EUR) (假设) |
汇率差 |
汇率 |
|
|
1.32030 |
1.36150 |
|
|
|
|
|
|
|
银行 |
美元(USD) |
100.00 |
75.74 |
73.44 |
-2.30 |
|
|
|
|
|
|
汇率差 |
欧元(EUR) |
|
-2.30 |
|
|
|
|
|
|
|
|
银行 |
美元(USD) |
100.00 |
73.44 |
73.44 |
0.00 |
如在上例中所显示的,银行的余额为 100.00 美元。对于会计记账来说,其对应值为 75.74 欧元; 但是按今天实际的汇率仅为 73.44 欧元,因此在基本货币中会出现 2.30 欧元的汇率差。因此该条目必须降低欧元的金额。您进行的交易会通过 2.30 欧元借记银行账户以及信贷汇率损失账户。您可以看到,实际银行账户的余额为 100.00 美元,并没有改变。该条目仅改变基本货币的余额。
当输入汇率差的时候,您需要确保基本货币的兑换值与实际的兑换值是相当的,无论是通过每日汇率还是收盘汇率来进行的计算。
账户货币中的数字不得更改。因此您所输入的条目必须仅在特定的账户中改变基本货币的余额。
对于另一方的账户,您将拥有汇率盈利或损失账户。
在购买时含汇率的业务
使用购买时的汇率来计算输入的账户值
当位置,使用购买时汇率输入的账户值 (历史上的) 发生增加或减少的时候,您就必须在考虑到金额向前发展的同时,计算出汇率表中的兑换率。
|
美元(USD)金额 |
汇率 |
兑换后的欧元(EUR)金额 |
总计 美元(USD) |
总计 欧元(EUR) |
历史汇率 |
股份收购 |
100'000.00 |
0.9416 |
106'202.00 |
100'000.00 |
106'202.00 |
0.9416 |
股份增加 |
50'000.00 |
0.8792 |
56'870.00 |
150'000.00 |
163'072.00 |
0.919839 |
投资和特殊汇率
按购买时的汇率来衡量的投资值
某些投资 (股票,海外房地产) 的值不是由当前的汇率来计算的,而是由购买时的汇率来衡量的 (历史汇率)。汇率的利润和损失在真正发生的时候才会被核算。因此,您必须确保这些帐户不使用当前的汇率来核算相关的值。
为了输入一个固定的、历史的汇率,您需要使用固定的汇率在帐户表内创建一个补充货币 (如美元1/USD1)。此货币只会被用于这个拥有固定汇率的账户。如果您想从美元 (USD) 账户转账至美元1 (USD1) 的账户,那么您要像在两种货币工作情况下进行相关的操作。基于此种原因,您需要使用两行式的条目。
特殊汇率下的初期
在“初期” 列中输入初期余额,外币的金额就会通过初期汇率转换成基本货币的金额。
如果这个系统被证明是不够灵活的 (您需要使用各种各样的,特别的汇率或者在存在四舍五入误差的情况下), 您则可以通过使用正常的条目手动来完成,您需要指示出每个账户所需的金额和汇率。在这种情况下,账户表格内的 “初期” 列将为空。
开始多种货币会计记账
创建一个会计文件,选择程序中包含的模板示例
为了创建一个新的会计文件,有不同的模板供您选择。
在这里,我们将向您解释如何从程序中选择现有的模板来编辑会计文件。
- 从文件菜单中选择新建的命令
- 如下图所示,在总组一栏中,选择复式记账
- 在文件一栏中,选择复式记账含外汇,或复式记账含外汇及增值税的记账方式
- 在示例/模板的部分, 选择语言/国家,然后选择最接近您自己需要的模板
- 通过点击在线模板的选项,您可以访问我们的网站,在那里我们发布了所有的免费模板。
设置文件和账户属性内的信息 (基本数据)
- 从文件菜单中点击文件和账户属性的命令,并在其跳出窗口中输入基本的数据。
套账标签
- 在抬头栏中输入在打印输出的文件及其它地方出现的公司名称。
- 选择在会计文件中将使用的记账本位币。
程序信息
Banana 财务会计软件受到 Excel 的启发。用户指南和命令尽可能保持与Microsoft Office的相似。
有关程序一般用途的更多信息,请参阅程序界面页面上的说明。
软件是由不同的表格所组成的,各个表格之间自动连接,实现了智能化的核算,所有的表格都具有相同的操作方式。
保存文件
- 从文件菜单中选择另存为...的命令, 最好指示出公司的名称和当年的年份 (例如, "XX公司_2017")
- 选择文件应该保存的文件夹(例如Documents - > Accounting)
- 程序会为被保存的会计文件自动添加上"ac2"的扩展名。
汇率表
在输入多币种的发生业务之前,有必要在汇率表中定义要被使用的货币参数。
自定义会计科目表
在账户表中,自定义会计科目表, 并按照您的需要进行调整:
在会计科目表中,您还可以定义成本中心或部门, 用于以更详细或具体的方式对金额进行归属。
发生业务表格
多币种业务必须输入到发生业务表格中; 在一起它们将合成日记账。
加快发生业务的录入
为了可以加快发生业务的录入,您可以使用:
检查客户和供应商发票
Banana 财务会计软件允许您关注及查看已支付的发票,应收的发票和已出具的发票,详情请参阅:
账户明细
账户明细会自动显示在同一账户上所记录的所有业务 (例如, 现金,银行,客户,等等)。
当您点击账号的单元格时,在其的右上角会出现一个蓝色的小箭头,点击此箭头便可获得该账号的明细表。
按时期划分的账户明细
如果您想要显示特定期间内含余额的账户明细,那么您需要点击报表(1)菜单中的账户明细命令,然后在跳出的账户明细窗口中,点击时期的标签,然后激活选择时间段的选项,您便可以输入起始日期和结束日期。
欲了解更多的信息,请您参阅时期的页面。
打印账户明细
为了打印一份账户明细,只需从账户表格或发生业务表格中显示该账户的明细,然后点击文件菜单中的打印命令。
若想要打印几个或全部的账户明细, 您需要点击报表(1)菜单中的账户明细命令,然后在跳出的账户明细窗口中选择您想要打印的。 通过过滤器,可以自动选择所有需要打印的所有账户明细,或者只有其中一部分(例如只有帐户,成本中心,部门)。
欲了解更多的细节,请您参阅账户明细的页面。
资产负债表及损益表
资产负债表显示所有房地产账户,资产和负债的余额。资产与负债之间的差额决定股本。
wojuede ni
您可以使用报表(1)菜单中的生成资产负债表/损益表或按组生成资产负债表/损益表的命令来显示和打印资产负债表/损益表。
在PDF格式中归档数据
在年末,在整个会计文件都已完成,已更正,已审计的情况下,所有会计数据都可以通过文件菜单中的创建PDF档案命令归档。
预算
- 账户表格, 预算列。对于每个账户,会指示出年度预算的金额。
在这种情况下,当您点击报表(1)菜单内的按组生成资产负债表命令,在其中设置预算,预算列将显示整个年度的金额。 - 预算表格可以通过工具栏菜单中的添加新功能命令进行添加。
在预算表格中,您可以通过输入发生业务从而输入所有预算成本和预算收入。如果您激活了此表格,那么账户内的列将自动停用。在这种情况下,您可以设置详细的预算, 同时考虑到一年中可能发生的变化以及一年中的不同时期。
欲了解更多细节,请您参阅预算页的信息。
文件和账户属性 - 外汇标签
外汇利润账户
从账户列表中,选择一个用于外汇利润的账户。
外汇亏损账户
从账户列表中,选择一个用于外汇亏损的账户。
货币 2
选择一个第二种的货币是可能的,以便在一种不同于基本货币的货币中查看余额。
多种货币会计账户科目表
多种货币会计核算的账户科目表与不含外汇的会计科目表是一样的,除了以下所指出的。
基本货币
在文件和账户属性中, 外汇应该被定义,基本货币应该在汇率表中被定义。
在下面的例子中,基本货币为人民币 (RMB), 可以在列标题中看到基本货币的基本单位为RMB。
账户货币
- 资产和负债 (资产负债表账户) 可以使用基本货币或外币;
-
成本 (费用)和收入账户必须使用基本货币。

收入和费用账户必须使用基本货币。
对多种货币会计记账列的解释
- 初期余额中使用的是基本货币。
初期列是被保护的列,系统对其结果的计算基于货币初期余额和初期汇率 (在行中指出的汇率表中不含日期的汇率)。 - 余额货币
由程序通过初期余额和在发生业务行中所指示的货币金额来计算的。 - 余额RMB (示例中使用RMB作为本位币)
由程序通过使用基础货币的初期余额和在发生业务行中所指示的货币金额来计算的。 - 换算余额
其指的是账户货币的余额按当前的汇率进行转换 (在行中指出的汇率表中不含日期的汇率)。
-
如下图所示,在账户表格下的其它表格中,存在一个名为账户汇率差额的列。
在此列中,对于特定的帐户/帐户,您可以输入一个账户 (或几个账户,用逗号分隔) 用来输入汇率差。这些账户与在文件和账户属性中的是不同的 (汇率损益账户)。
如果在账户汇率差额列中没有任何账户,那么程序会在文件和账户属性中所指示出的账户中注册汇率差; 如果账户在文件和账户属性及账户汇率差额列中都被指示了出来(在账户表格下的其它表格中),那么程序只会考虑在账户汇率差额列中的账户,而忽略在文件和账户属性中的。

初期余额
- 在输入初期余额之前,要在汇率表中输入不同货币的初期汇率。
初期汇率指的是在不含日期的汇率行中及初期汇率列中所输入的数据。 - 初期余额要输入在账户表格-基本视图表格内的初期货币列中。基本货币及外币账户都需要执行此操作。
- 初期基本货币列是被保护的,在此示例中为初期RMB列; 程序会自动计算在汇率表中所显示的以初期汇率为基础的基本货币值。
- 对于负债中的初期余额,在金额前要加负号 (-)。
- 资产和负债的期初余额必须平衡; 如果想要了解更多的信息,请您访问检查账务的页面。
重估账户和历史汇率
一个账户的基本货币金额是通过在发生业务中所指示的初期汇率和汇率计算而来的。由于此值对应对等于今日的汇率,所以重新评估账户是有必要的。
通过记录汇率差进行评估。我们需要记录的帐户只是一个基本货币的金额(汇率差),使得基本货币余额结果对等 (计算的余额)。
有些账户 (例如与投资相关的) 使用的是历史汇率。这里所说的历史汇率指的是一个不随时间而变化的汇率。
为了能拥有不变化的汇率, 必须要在汇率表中创建一个额外的货币符号 (例如欧元2/EUR2)。对于这种货币,同样的汇率会一直被应用。
通过历史汇率,您可以根据自己的需求,为不同的账户创建很多个货币符号。
外币总计
正常情况下,含有外汇金额的列是没有总计的,因为计算不同货币的总计并没有多大的意义。
如果您所拥有的组仅包含特殊货币的账户,货币符号可以在组的级别被指示,在账户表格中,程序会合计这些金额。 如果有不同货币符号的帐户,将没有被指示的金额(该程序也不会报告错误)。
在初期余额中的差额
如果在上年的时候,汇率差没有被计算,那么程序会发出相应的信号,在新的一年中,初期余额中会有差额。
想要解决这个问题,有以下两种可能:
- 在汇率表的汇率列中,插入12月31日的官方汇率;
- 从任务(2)菜单中激活汇率变动更改设置的命令;
- 打开新一年的文件,并且更新初期余额。
- 打开新一年的文件;
- 根据当下的情况,在账户表的资产或负债中插入一个新的账户未记录的汇率差,或者如下例所示: 输入1120-内部转账账户以及在初期货币列输入与汇率差相等的金额 (在下例中为8.25元,因为在上图例中的初期账目差额为8.25元)。
- 在日期为1月1日的发生业务表的行内,通过使用与其相对应的,在损益表内与汇率差相关联的账户 (兑换盈利/兑换损失),以业务的方式把汇率差账户变为零 (发生业务表)。
在输入业务完成之后,使用过的账户会被设为零,或者是发生业务之前同等的金额。
汇率表
在输入多货币的业务之前,有必要在汇率表中定义所要使用的货币参数。
汇率表中的列
日期
此日期为汇率的日期。
对于每一种外币,必须有一行没有日期的交易/业务。
基准货币
此货币作为汇率的基础货币 (示例中为RMB)。
货币
此货币指的是目标货币, 其是通过汇率,从基准货币转换而来的。
文字
此文字用来指示说明用户正在进行处理的外币。
固定
真或假。如果存在固定的汇率,在此列中输入是 (Yes)。在汇率列中会指示出所使用的汇率。
乘数
乘数通常为1, 100 或 1000,乘数的使用是为了获得有效汇率。 另外,使用乘数也是为了避免在兑换一些非常低币值的货币时输入太多的零。乘数也可以为负数 (-1)。在这种情况下,程序会使用一个反向汇率,或者表现为使输入在货币和基准货币列中的货币进行实际上的反转。当同一种货币已存在发生业务的时候,请不要改变乘数,否则程序会显示错误信息的提示。
汇率
此列中显示出目标货币根据基准货币所得出的实际汇率。
此汇率也被用来计算汇率差。在计算汇率差或关闭会计账户之前,必须通过输入收盘汇率来更新对应的值。
通过以下的公式来应用汇率和乘数:
- 当乘数 > 0的时候
货币金额 = 基准货币金额* (汇率 / |mult.|) (Currency amount = Ref. currency amount* (exchange rate / |mult.|))
- 当乘数 < 0的时候
基准货币金额 = 货币金额 * (汇率 / |mult.|) (Ref. currency amount = Currency amount * (exchange rate / |mult.|))
初期汇率
此汇率指的是在会计账户刚开始时的汇率。仅在不含日期的行中被指示。
- 其用来把货币的初期余额转换为会计账户基础货币的初期余额。
- 应该与上一年的收盘汇率相一致。
- 在这一年的过程中,初期汇率不应该被改变,否则汇率差就会在总的初期余额中被创建。
- 当创建新的一年或更新初期余额的时候,程序会根据在上一年会计记账汇率列 (不含日期的行) 中所指示的值来定义初期汇率。
最低
此列显示可被接受的最低汇率。如果在输入或记录的过程中使用了更低的汇率,会出现警告的信息。
最高
此列显示可被接受的最高汇率。如果在输入或记录的过程中使用了更高的汇率,会出现警告的信息。
小数点
此列显示在对货币2进行四舍五入时所使用的小数点后的位数。
行
没有日期的行
对于每种所使用的货币, 有必要在汇率表格中拥有不含日期的行,如下所示值:
- 初期汇率
其用来把初期余额转换为基本货币。
初期汇率应该在年初的时候被设定,然后整年无变化。 - 当前汇率和收盘汇率 (在计算汇率差及关闭会计账户前被更新)。
有日期的行
从 Banana财务会计软件第7.04版本开始, 对于每种货币,可以保存含有相关日期的汇率列表。
可以在历史或完整视图中查看数据列。
- 当您输入一个新业务的时候,在汇率列中的值将被提议作为默认的更改。程序选择含有日期的汇率,与业务行或与最接近该日期的行相当。
- 当输入含有日期的业务的时候,不应该指示出初期的汇率。
在汇率表中的修改
- 对初期汇率的修改
在下次您重新计算会计核算的时候,账户的基本货币余额将使用新的汇率被重新计算。因此,在您输入了初期余额之后,请注意对初期汇率的更改。如果您修改了初期汇率,并且存在初期余额,那么对会计核算进行重新计算是非常重要的。
- 对乘数的修改
-
当改变一个已经在发生业务表格中被使用的货币乘数的时候,当会计文件被重新计算或移到业务行后,程序讲显示一个警告的信息。业务额和基本货币的正确金额将被重新输入。
- 当会计文件被重新计算之后,基本货币余额将被重新计算。
-
管理间接汇率
- 直接汇率是指基本货币和外币在同一行上所示的汇率。
在下面的例子中,存在直接汇率 RMB->EUR 以及 RMB->USD。
- 间接汇率是指在两种货币之间没有指示出直接的汇率 (不推荐)。
根据所输入的其它汇率的组合,该汇率被程序扣除。在下面的例子中, EUR->USD 间的汇率没有被定义, 程序依赖于 RMB->EUR 以及 RMB->USD 的组合。

与之前版本中不兼容的汇率
当本位币被输入为基准货币的时候,乘数大于1的汇率可以呈现出 Banana 8 和之前版本之间的计算差异。在这些罕见的情况下,当打开之前版本的会计文件的时候,会出现一个警告的信息,并且被打开的文件显示为 "只读" 模式。
- 在 Banana财务会计软件8 中打开该文件并且确认警告信息;
- 重新核算套账 (Shift + F9);
- 可以忽略 "此乘数并非来自于汇率表" 的警告信息;
- 验证会计文件期间的余额和结果与之前版本的余额与结果相比较是否有差额。如果没有差额,请把会计文件保存在一个新的名称下; 否则,需要按下列要求进行操作:
- 在汇率表中,对于大于1的乘数的汇率,通过将其与乘数的值相乘以及把乘数定义为1来纠正汇率。例如,如果我们有一个100的乘数和0.9944608的汇率,那么我们需要把汇率纠正为 99.44608,乘数为1;
- 重新核算套账 (Shift + F9);
- 可以忽略 "此乘数并非来自于汇率表" 的警告信息,也可以通过点击来删除它们,在相对应的发生业务行,在基础货币的金额上按 F6 键;
- 验证会计文件期间的余额和结果是否与之前版本的余额与结果相对应;
- 把文件保存在一个新的名称下;
- 在这个时候,你可以定义汇率和乘数的首选格式,反向或直接,含或不含乘数,在每次修改后,验证会计文件期间的余额和结果。
发生业务
关于列的解释
在多种货币会计记账的发生业务表格中,除了复式记账的列外,还存在以下的列:
- 币种金额
其指的是在列中所标记出来的各个币种的金额。
此金额被程序用来更新相关货币账户的余额。 - 币种
此货币符号是货币金额所指的货币。
这里的货币符号必须是在文件与账户属性中设置的基本货币,或者是显示在借方或贷方账户中的货币符号。只要所示的借方和贷方是基本的货币帐户,您还可以使用不同的货币。在这种情况下,货币的金额会被作为参考,但不会被用作会计核算的目的。 - 汇率
用于将外币金额折算为等值的基本货币。 - 基本货币金额
用基本货币来表示的业务金额。
此金额被程序用来更新相关账户基本货币的余额。 - 兑换乘数
通常在视图表格中是不可见的,此值由汇率相乘而得。
在多种货币记账中输入业务

请您注意
所有的金额,不论是本位币还是外币,您都需要将其相应的数额输入在币种金额列中。
对于每笔业务来说,都存在两个账户 (借方账户和贷方账户)。在 Banana财务会计软件的程序中,每一行的业务只能使用一种外币。 所以可以有以下的直接组合 (在上图的示例中,基本货币为RMB):
- 在该笔业务中: 借方和贷方账户都为基本货币账户,业务的金额也为基本货币。(在上图中,文件 4中的业务)
账户的货币为基本货币。 - 在该笔业务中: 借方和贷方账户都为基本货币账户,但是业务的金额为外币。 (文件1)
所显示的账户为基本货币账户,但是在此业务行中所指示的货币及其符号并不是基本货币,而是某一种外币。在该行的币种一列中,用户需要手动输入不同于基本货币的外币符号。此种组合在您出国,要把货币兑换成当地货币的时候使用。在这种情况下没有特定的金额。对于余额的计算 (借方和贷方账户都为基本货币),仅使用基本货币列的金额。 - 在该笔业务中: 一个账户为外币账户,另一个账户为基本账户。 (文件 2)
该业务中的货币符号使用的是外币账户中的货币。
对于外币账户的余额计算,程序使用基本货币的金额以及以基本货币为单位来计算余额。 - 在该笔业务中: 借方账户和贷方账户为同一种外币账户。 (文件 6)
借方账户和贷方账户所使用的货币应为同一种外币。 - 在该笔业务中: 借方账户和贷方账户为不同的外币账户。 (文件7 和文件8)
例如,银行在两种外币之间进行外汇交易:
在这种情况下,该业务需要被分成两行记录。
在基本货币中的金额应该是相同的 (如上图中所示, 文件7和文件8中的基本货币金额同为10000 RMB)。使用一个接近于当前汇率的金额,以避免过多的汇率差是非常有用的。
为了能够使在基本货币单元格 (在上例中为“金额RMB”单元格)中的金额是相等的,您可以手动在两行中输入相同的基本货币额,之后系统便会计算出汇率。 - 该笔业务所显示的是汇率差。 (Doc 5)
此业务/交易的目的是为了在使用今日汇率的前提下,重新调整基本货币账户与等值的外币账户之间的余额。
在外币账户上,只有与汇率差相关联的基本货币额会被记录。
通过使用任务(2)菜单中的汇率变动更改设置命令,可以自动生成:- 对于汇率利润,账户的重新评估显示在借方,汇率利润账户在贷方。
- 对于汇率损失,账户的重新评估显示在借方,汇率损失账户在贷方。
- 货币金额为空。
- 货币符号为基本货币。
- 在基本货币金额列,账户的重新评估金额 (利润或损失) 会被指示。
建立汇率
会计是决定每笔单向操作使用哪个汇率的人员。一般来说,以下的规则会被使用:
- 对于一般的操作,使用的是当天的汇率。
- 对于货币的出售或购买,会使用由货币兑换处或银行所指示的值。
在程序中,外币的金额会首先被指示出来,然后是基本货币的金额。程序会计算汇率。由银行所指示的汇率会有稍许的不同,因为银行经常会对金额进行四舍五入的计算,并且明确规定小数点后的数字。 - 当几个拥有相同汇率的操作被记录的时候,在汇率表中更新汇率是非常有用的,以便程序可以对其自动的应用。
- 对于来自海外,涉及增值税的操作,国家的相关机构可能会制定一个标准的汇率。在这种情况下,汇率应该被输入在发生业务表格中的汇率列中。
- 要购买房地产或股权投资,会使用历史汇率。在此种情况下,需要在汇率表中使用历史汇率创建一个货币符号 (例如: 美元1/USD1), 其不受汇率波动的影响。
用户可以根据自己的需要,为所有的历史汇率创建尽可能多的货币符号。
含有增值税的发生业务
增值税账户以及从中扣除增值税的账户必须是基本货币账户。使用增值税代码把增值税从外币账户中扣除是不可能的。为了记录拥有外币账户作为其对应的增值税的操作,必须使用两行的发生业务:
- 首先,购买的金额被记录在一个基本货币的内部转帐帐户,以及相关的增值税代码会被应用。基本货币的金额必须通过按照税务局要求的汇率进行计算。
- 在第二行中,内部转帐帐户的余额被输入为零; 作为其对应物,应输入外币帐户。。
用于本次业务/交易的金额,包括基本货币和外币,必须不包括增值税。 很明显的,在这里需要被使用的汇率与前一业务/交易中所使用的是一致的。
在下面的图例中,基本货币为 RMB。我们正在处理一个国家的购买行为,但是从一个外币帐户支付(欧元)。
输入多货币发生业务时的自动化操作
当一个新的发生业务被输入之后,要完成以上所提到的列中的数据。
当业务行的某些值被更改之后,程序会使用预定义的值来完成业务。如果这些值不能够满足用户的需求,那么需要在业务行中进行更改。
汇率表中值的更改对于已经输入的发生业务行没有任何的影响。因此,当汇率表中的汇率被修改的时候,对于已经输入的业务来说并没有任何的影响。
- 当货币的金额被输入,或是贷方账户,或是借方账户,并且没有其它被输入的值,程序操作如下:
- 货币符号从当前使用的账户中被检索,优先考虑不以基本货币为基础的账户;
- 被定义在汇率表中的汇率,应用以下的逻辑:
- 历史汇率被应用,使用的是较早的或与业务日期相同的日期;
- 如果没有找到任何的历史汇率,会应用行中没有日期的汇率。
- 定义在汇率表中的乘数会被应用,如果是基本货币,乘数则为1;
- 基本货币金额会被计算。
- 当货币金额被更改之后 (目前还有其它的值),程序会进行以下的操作:
- 使用现有的汇率计算来计算基本货币的金额。
- 如果货币符号被更改,程序会进行以下的操作:
- 含有乘数的汇率被应用,基本货币的金额被计算 (同上)。
- 如果汇率被更改,程序会进行以下的操作:
- 使用输入的汇率来计算基本货币的金额。
- 如果基本货币金额被更改,程序会进行以下的操作:
- 汇率被重新计算。
更多的帮助
- 当您处在币种金额列的时候,通过使用 F6 键,就像没有其它值的存在一样,程序会使用之前所解释的逻辑来重写所有的值。当借方账户或贷方账户被修改的时候,此功能是非常有用的。
- 如果使用单一的本位币账户进行注册(以 "多次发生业务" - 见发生业务类型),并且"货币"列的价值以外币的货币符号进行手动更改,则有必要位于"货币"列的单元格上,然后按F6键以更新汇率,并以基础货币计算金额。
- 汇率列的智能填充
程序会建议多个汇率,这些汇率是从汇率表或从之前在发生业务表内所使用的汇率中所选择的。
信息窗口
在信息窗口中,程序指示出:
- 借方或贷方基本货币总额之间的差额, 如果存在的话;
- 对 F6 键不同用途的解释。
如果您点击发生业务表格内,业务行中的借方或贷方账号,在程序下方的信息窗口中会指示出:
- 账户号码;
- 账号摘要;
- 用基本货币来表示的业务金额;
- 用基本货币来表示的当前账户余额;
- 账户货币符号;
- 用账户货币来表示的业务金额 (如果不同于基本货币);
- 当前账户余额 (如果不同于基本货币)。
从早期版本中传输数据
在第4版或更早的版本中,发生业务表格中货币符号的缺失被解读为在基本货币中的业务。
在 Banana财务会计软件第7和第8版本中,每一笔业务都需要拥有自己的货币符号。因此,当用户从第4版本更新至第7版本的时候,在会计文件中,需要完成没有货币符号的业务。
汇率差
在最新的会计期间被关闭的时候,由于汇率的波动,货币需要在基本货币中被重新评估,为汇率损失或盈利创造业务 (在理论方面,请您查阅重估和汇率差的页面)。
从任务(2)菜单中选择汇率变动更改设置的命令,用来计算外币账户的重估。
汇率差额的业务日期
输入您的汇率差业务应该有的日期。
软件会根据最后一笔业务的日期建议当月的最终日期。
如果存在相同日期的汇率差业务,那么程序会询问是否要替换。
如果汇率差具有相同的日期,文档,摘要,账户和货币以及帐户币种中没有金额,那么软件将该汇率差业务视为现有的。
文件号码
输入您的汇率差业务应该有的文件号码。
使用历史汇率 (含日期的汇率行)
对于汇率差的计算,程序使用汇率表格中不含日期的汇率 (最新的汇率)。通过使用历史汇率的选项,程序不使用所指示的汇率,而是使用在汇率表格内拥有相同或较早日期的汇率。
用来创建业务的值
要想获得更多的信息,请您参阅多货币记账发生业务的页面。
业务的金额
- 汇率差业务仅为拥有指定日期的外币账户而创建, 此外币账户与被计算的账户相比拥有不同的基本货币余额。
- 对于在基本货币中的金额,使用的是基本账户的账户余额与外币账户余额之间转换成基本货币的差额。
账户余额
对于汇率差的计算,指定日期的账户货币与基本货币的余额被使用。
汇率盈利和汇率亏损账户
作为被使用的汇率盈利和亏损账户,优先顺序为:
- 在会计账户科目表的特定列中输入所指示的账户;
- 在文件和账户属性中所指示的汇率盈利和亏损账户。
被插入行的位置
如果,在传递命令的时候,您发现自己处在发生业务表中,那么在业务表中的行会被插在光标所处的位置。
否则,在它们取代现有业务的情况下,它们会被插在最后或之前的位置上。
在使用命令之前
- 在文件菜单的文件与账户属性中,在外汇标签部分确保汇率利润账户和汇率亏损账户已被指示了出来。同样也可为汇率盈利和亏损指示相同的账户。
- 请确保外汇账户已经更新,以及这些账户的外币余额 (例如银行账户) 与银行所指示的余额相符。
- 更新汇率表中的当前汇率。
您应该指示出收盘汇率,或者在汇率列中的,不含日期行的一个期间末尾的汇率 (不要更改初期汇率列中的初期汇率)。为了计算汇率差,程序会使用不含日期的汇率行。如果最后的这些不存在,那么程序会给出错误信息提示。
新年的汇率
为了能够使在基本货币中的新年余额与在前一年中的收盘余额完全符合,指示在汇率表中的新年初期汇率必须与用来关闭会计核算文件的相一致,因此:
- 收盘汇率必须被指示在汇率列的行中,并且不含日期;
- 初期汇率要被指示在初期汇率列的行中,并且不含日期。
创建新的一年或更新初期余额的过程,把上年复制及余额收盘 (汇率列,不含日期的行)至新一年文件的初期汇率中 (汇率表,初期汇率列,不含日期的行)。
账户明细
列和账户明细的视图
在账户明细中,存在着三组借方列,贷方列,以及不同货币的余额列。
- 基本货币
所指的是初期余额,发生业务以及在基础货币中的余额。 - 账户货币
指示出使用账户货币的业务。
当账户是基本货币的时候,这些值与基本货币相同。 - 币种2
对于每笔业务来说,币种2的金额会被指示。币种2的金额相当于使用实际汇率转换后的基本货币内的金额。
请您参阅汇率和会计问题的页面。 - 基本视图
在同一时间,基本货币列和账户货币列是可视的。
在列标题中,相关的货币会被指示。
使用适当的命令,可以修改该列的配置并创建其它视图。
数据编辑
在账户明细中编辑数据是不可能的。当您在账户明细表格的时候,双击位于表格最左侧的行的数字,就可返回到在发生业务表格或预算表格内相对应的行。更多的细节请点击查看账户/科目明细 (有关更新账户明细的段落)。
信息窗口
信息窗口的位置处在程序屏幕的下方,在信息窗口中会显示与对应业务相关的账户值:
- 账户号码
- 账户摘要
- 业务账户的基本货币金额
- 以基础货币为单位的实际帐户余额
- 账户的货币符号
- 业务账户的账户货币金额
- 以账户货币为单位的实际帐户余额
生成资产负债/损益表
多种货币会计记账中生成资产负债/损益表的步骤与在复式记账中的是一样的。欲了解详情,请您点击生成资产负债/损益表的页面。
如下图所示,在您点击了菜单报表(1)中的生成资产负债/损益表命令之后,系统会跳出以下的窗口,您可以在其中选择需要被打印的项。
事实上的区别在于: 外币账户报告中的金额为外币及本位币 (被转换的金额)。
按组生成资产负债/损益表
在多种货币记帐中的按组生成资产负债表与在复式记账中的按组生成资产负债表的方式方法是一样的。在下面的链接中可以找到相关的信息: 按组生成资产负债表。
区别在于, 事实上外汇账户报告外汇以及本位币的金额 (被转换的金额)。
会计报表
收益 & 费用核算
介绍
收益 & 费用核算允许用户保留专业会计,在账户上显示收入和费用。在这种类型的会计中,可以使用与复式记账相同的工具; 即使没有使用复式记账的方式,您也可以获得完整及专业的报表。
收益 & 费用核算是为小公司,协会,个体户或者项目而量身定做的记账方式。 其可包含增值税,也可不包含增值税,但是没有多汇率的功能。
其包括:
- 收益 & 费用核算账户 - 允许用户管理几个账户的收入和支出。
- 现金日记账 - 用于跟踪单一账户的收入和支出 (现金,银行账户,客户,供应商,等等。)
主要表格
账户
固定资产账户被输入在账户表格中。只有一个单一账户被输入在现金日记账中 (现金,银行账户,邮政账户 ...)。相反,在收益 & 费用核算会计文件中,几个账户会被输入在账户表格中 (现金,客户,供应商...)。在收益 & 费用核算会计文件中,负债账户的初期余额前面要输入负号 (负)。
科目
收益和费用科目被输入在科目表格中的两大组中。有的时候它们可能会有分组。科目共同决定了记账年份的收益或损失。
与复式记账相似的主题
命令
打印
开始
从文件菜单中选择新建的命令,然后再选择收益 & 费用核算会计记账。
在收益 & 费用核算会计记账中您可以选择包含或不包含增值/营业税的文件。
我们建议您选择一个已经存在的示例,然后进行个性化编辑。
现金日记账和收益 & 费用核算记账有着下列相同的表格: 账户,科目,发生业务以及可能的增值/营业税表格。两者的不同特点如下:
- 在现金日记账的账户表格中,您可以插入一个单一的账户
- 在收益 & 费用核算记账的账户表格中,插入所有的地产账户是可能的 (资产和负债)
- 在现金日记账的发生业务表格中,有余额列来一行一行的显示账户余额
- 在收益 & 费用核算记账的发生业务表格中没有余额列,由于发生业务涉及几个账户。余额被显示在账户和科目表内。
下列图片指示出收益 & 费用核算记账。
从文件菜单中的文件和账户属性的窗口中输入基本的数据。
在账户表格中的初期列中输入余额。请您注意,对于负债账户 (例如债务),在初期余额的金额前面应该有负号 (-),您可以使用F6键进行正负额的转换。此项操作只需在第一次使用 Banana财务会计软件的时候被执行;在第一次使用之后,在每年末,当创建新一年的时候 (任务(2) 菜单, 建立新账的命令) 初期余额将会自动的被转移。
在科目表中,安排收入 (盈利/收入) 和支出 (费用/成本) 的科目,为每项指定一个代码,一个摘要以及一个所属的组。
在年初科目没有任何的初期余额。
在发生业务表内输入日常的收入与支出,并且指示出相关账户和科目的代码。
Accounts
Estate accounts are entered in the Accounts table. Only one account is entered in the cash register (cash, bank, postal account ...); In Income/Expense accounting more accounts are entered (cash, customers, suppliers ...) and the accounts that refer to existing debt must have the opening amount with preceded by the minus sign (-).
The columns of the Accounts table:
Section
Enter an asterisk to signal a section change. For example, to distinguish Total Assets from Cost Centers.
Values must be entered in the Sections table for presenting the enhanced Statement with groups.
Refer to the Sections page for further details and information.
Group
Values are added up for the categories that have the same GR. They are fundamental for totalization.
Account
Enter the number or initials of the account to be managed (cash, bank, post).
Description
Enter a description for the relative account.
Gr
Enter a value that identifies the category belonging to a specific group.
Opening
Entering an account balance is only necessary if a new file is opened or Banana Accounting 8 software is used for the first time. When creating a new accounting year, balances will be generated automatically.
Income
This locked column displays the balance of incoming entries. The balance will be updated automatically after each registration.
Expenses
This locked column displays the balance of expenses. The balance will be updated automatically after each registration.
Balance
This locked column displays the balance resulting after income and expenses. The balance will be updated automatically after each registration.
Opening balance
The first time Banana Accounting 8 software is used and new file is created, opening an account balances must be entered manually in the Accounts table Opening column.
Balances for Liabilites accounts must be entered preceeded by a minus (-) sign.
When creating a new accounting year, balances for the new year will be generated automatically.
Categories
The headings for Income and Expenses are entered in the Categories table via two principal groupings, which may - in their turn - contain subgroups. The set of categories will determine the profit or loss for the accounting period.
Groupings:
In the example below, there are three principal groupings:
- Group 3 - Total for Categories that have 3 in their Gr column (total Income)
- Group 4 - Total for Categories that have 4 in their Gr column (total Expenses)
- Group 00 - Total for groups 3 and 4 (Total Income and Expenses), which will determine the result for the accounting period.
The columns of the Categories table:
Section
Enter an asterisk in the row that contains the title, to signal a section change, that will be displayed in the enhanced Statement with groups.
(the asterisk is inserted in the "Operating Result" title row in our example).
If different sections than Income and Expense are planned, such as Cost and Profit centers, another asterisk may be entered on the respective title row. Refer to the Sections page for further details and information.
Group
Enter an identifier (numerical or sign) identical to the one entered for each category in the GR column. The totals for each category belonging to the same GR will then be added up (in our example, Group 3 totals the Income Category and group 4 the Expenses category)
Description
Enter a description for the relative Income or Expense Category.
GR
Each Category has an identifier that allows the establishment of the totals for the relevant Group (in our example all categories of Income are GR3, because they will be total in Group 3, Total Income.
Income
This locked column displays the balance of incoming entries. The balance will be updated automatically after each registration.
Expenses
This locked column displays the balance of expenses. The balance will be updated automatically after each registration.
Balance
This locked column displays the balance resulting after income and expenses. The balance will be updated automatically after each registration.
发生业务
在发生业务表中输入发生业务。
对于每项发生业务,请您输入日期,文件编码, 摘要,收入和支出的金额,以及科目。
收入/支出: 进入或支出的金额。
账户: 输入其中之一的账户 (现金,银行,邮局,客户,供应商...)。
科目: 输入一个收入或支出的科目。
为了能够快速的输入发生业务,请您参考文本输入、编辑和智能填充 和 经常性业务的页面。
请注意: 如果您想要停用去年的智能填充,您必须到文件菜单中选择文件和账户属性命令,然后在选项中取消对智能填充上年发生业务一栏的选择。
示例: 不含增值税的发生业务表
示例: 含增值税的发生业务表
提示: 在发生业务表格中,除了账号之外,您也可以找到您想要找到的文本信息。
请您位于想要输入文本的单元格,通过双击该单元格,您可以看到一个下拉菜单,在此下拉菜单中将显示以前输入的所有文本; 在您输入文字的同时,系统会自动的建议您一些和您正在输入的文本相似的,之前输入过的文本; 选择适合的文本,然后使用回车键就可以自动输入所选的文本。
在您输入发生业务后,为了能够显示一个账户或科目的活动情况,如下图所示,您可以点击在账户或科目单元格右上角的小蓝色箭头。
账户和科目明细
在账户和科目明细中,发生业务的呈现方式与其在发生业务表中的是非常相似的。如果您输入了更多的发生业务,或者做了一些改变的话,如下图所示,您可以通过点击账户和科目明细表中右上角的刷新图标来进行更新。
打印
按组生成报表
这一特征仅在 Banana财务会计软件的7.0.4版本或更高的版本中可用。其可以允许用户们获得按组生成的报表,并且拥有在复式记账中所有可用的选项。
生成报表使以下成为可能:
- 在打印中,包括所有出现在账户和科目表中的组;
- 排除组或单个账户;
- 通过时期选择一个细分;
(例如,在上半年,用户可以选择每月或每季度的细分); - 通过分部选择细分。
类
通过使用报表(1)菜单中的按组生成报表命令, 以及在账户和/或科目表格中的类使定义要被打印的一系列账户和科目成为可能。
- 在账户及科目表格中的类一列中所指示出的类;
- *(星号)指的是一类的开始;
- * *(两个星号)表明一个分段的开始;;
- 一个#表示备注部分的开始;
- 一旦下一个类开始,此类就结束;
- 与复式记账相反,对于类不可能使用数字标识;
- 在没有指示出任何类的情况下,当第一次使用命令的时候,程序会将其自动输入
- 账户表中的 "资产"
- 科目表中的"运营结果"
- 如果存在成本中心,分部或者客户/供应商登记,创建单独分开的类是非常有用的;
使用此种方法,用户可以只打印出其所需的信息。
账户及科目的配置
点击报表(1)菜单中的按组生成报表命令,就会在程序中出现下面的对话框,您可以自定义想要打印出来的账户及科目。
- 在账户表中所出现的账户,总会在所指示的期间末与余额一起被打印出来;
- 所指示期间的科目活动情况会被打印出来。
按组生成报表的例子
在下面显示的图例中,您可以看到在账户,收入和费用部分单独的类被创建。
生成报表
- 生成报表为资产的发展情况及指定年度的运营结果给出了一个概况。此功能存在于收益 & 费用会计核算中;
- 点击报表(1)菜单中的生成报表命令,来对要打印的生成报表进行设置;
- 在跳出的生成报表窗口中 (如下图所示),您可以输入页标题,该标题会出现在被打印出的生成报表的首页; 用户们还可以选择其它更多的选项,对打印出的报表进行细节的编辑;
- 不含日期的业务将被视为初期业务,其不会被显示在打印出的损益表中。
页标题
行 1-4
在这些行中,用户可以自由的定义报表的标题。
列标题
开始日
输入会计核算的开始日期。
结束日
输入会计核算的结束日期。
上年
输入上一会计年度的最后日期。
打印页
选择您想要其出现在打印出的生成报表上的选项,一旦被选择:
账户
账户将被打印。
首页
拥有文件标题的首页将被打印。
科目
科目将被打印。
账户页尾
账户和科目将被打印在两张不同的页面上。
打印范围
被选中的选择必将会出现在打印出来的生成报表中。
其它标签
对于其它标签,您可以在下面的页面中找到相对应的解释:
会计报表
- 点击报表(1)菜单中的会计报表命令;
- 此命令通过使用特定的组,特定的时期及细分来显示账户的金额;
- 不含日期的业务将被视为初期业务,其不会被显示在打印出的损益表中。
显示
您可以选择所需的分组方案:
- 账户 - 报表会显示出一个拥有以下列的所有账户列表: 初期余额,收入,费用及账户余额;
- 科目 - 报表会显示出一个拥有以下列的所有科目列表: 初期余额,收入,费用及账户余额。
Options
您可以选择被包含或被排除的账户:
- 不含账户 - 只有科目会被打印;
- 含发生额账户 - 不含发生业务的账户也会被打印;
- 含零余额账户 - 拥有零余额的账户也会被打印;
- 不含无账户的组 - 零余额的账户组将不会被打印。
其它标签
对于其它标签,您可以在下面的页面中找到相对应的解释:
新的一年
使用以下的几种方式,您可以自动转到新的一年:
- 打开刚刚结束的这一年的文件,然后点击任务(2)菜单中建立新账的命令;
- 确认账户属性中的数据基础;
- 保存文件及文件名。
该程序会自动接管:
- 账户 (如果是现金账簿) 或多个账户 (如果是收益 & 费用核算),接管初期余额;
- 科目 - 这些将在不含初期余额的情况下被实施,因为为了确定新一年的经营业绩,将从头开始。
Cash book
Introduction
The ideal tool to manage the cash account of small sized companies, associations, private enterprises or project planning.
It can be configured with or without VAT. On the other hand, it does not have the multi-currency functions.
Features
- Manages your cash account, or another estate account and income and expenses
- VAT option allows VAT calculations and VAT tax returns
- Process all your accounting records: accounting journal, account cards, periodical and annual reporting
- Manage the Cost Centers and Segments
- Several possibilites to submit and present your data
- Export to Excel, Html, Xml, Pdf
- Import various types of data files.
Tables and Properties files
The Cash book is part of the Income & Expense accounting type. It contains the following tables:
- Accounts
Where you find the Cash account or another estate account you manage and the relative opening balance. - Categories
Define the categories of Income & Expense here, the Cost Centres and their segments. - Transactions
Record your transactions here. - VAT Codes
If you have selected the VAT option, enter your VAT codes here. By selecting one of the VAT templates, VAT codes will be allocated correctly, allowing you to have a facsimile of your official VAT statement. - File and accounting properties
Manage the general settings of your accounting here.
Immediate information
The account balances will be displayed instantly in the Accounts and Categories tables, after the income and expense recordings.
Balances will be adjusted automatically after each registration of a transaction and you will not need to require a specific report to have an overview of your financial situation, which you can call up via the Accounts and Categories tabs.
Support
- Detailed information on the different functionalities of the program, with concrete examples and screenshots of the software, for your use
- Free support for one year included.
Topics similar to Double-entry accounting
Commands
Printouts
Getting started
To start working with Banana Accounting 8 software, proceed as follows:
- Download Banana Accounting 8 software
- Install Banana Accounting 8 software by inserting the license key.
Creating a new accounting file
- From the File menu, activate the New command
- Select the Income & Expense accounting group and the Cash Book File (with or without VAT)
- Select the Examples/Templates according to your language and nation
Banana provides predefined templates.
You may download:
- from the program - select the language / country and choose the model that suits you
- Clicking the button Online Templates - you will access our Apps page internet site, where all existing accounting templates are available free of charge. You can run a detailed search by entering the language, country, and category of activity (company type, non-profit, independent ...).
Setting up the File properties
Set up your own data from the File and Accounting properties command and save with your own file name.
Inserting the opening balance of the account
Enter the account you wish to manage in the Accounts table of the Cash book and the initial amount in the Opening column.N. Activating the Creating a new year ... command in the Account2 menu will automatically generate the opening balances to be carried forward.
Only one account can be entered at a time.
Customizing the Categories table
In the Categories table, customize the income and expense categories, according to your own needs. It is possible to:
- change the category numbers
- change the description
- delete categories
- add categories
- insert subgroups
- delete subgroups
All balances of the categories will determine the result of the accounting year (profit or loss) and must therefore not contain any balances.
Add new categories
If new categories need to be added in an already existing group, proceed as follows:
- Insert an empty row (Edit menu, Insert rows ... command) before the Total of the Group
- Insert the number or sign for the category in the Category column
- Insert the Description that identifies the category
- Insert the identical Gr of the other categories belonging to the Group Total in the Gr column.
Add subgroups
To add new subgroups, proceed as follows:
- Insert an empty row (Edit menu, Insert rows ... command) where wish to add a new subgroup
- Insert a number or sign in the last empty row of the Group column (in our example 31 - Other income)
- Insert the Description that identifies the new subgroup
- Insert the Group Total number in the Gr column (in our example 3 - Total sales).
Delete categories or subgroups
Select the categories or subgroups you wish to delete and proceed in the Edit menu, Delete rows ... command to eliminate.
Transactions
In the Transactions table, income and expense transactions are entered, indicating the category to which the income or expense is attributed.
Speeding up the recording of the transactions
In order to speed up the recording of your transactions, you can use:
- the Smart fill function that allows the automatic autocomplete of data that have already been entered at an earlier date.
- the Recurring transactions function (Account2 menu), used to memorize recurring transactions into a separate table.
- import of your bank or post office statement.
Transactions with VAT
In order to enter transactions with VAT please proceed as follows:
- from the File menu, choose New command and choose Income /Expenses accounting - Cash book with VAT/Sales tax
- Choose one of the existing templates for your nation.In order to enter transactions with VAT, please refer to the Transactions page.
The Category or Group card
The Category or Group card allows you to have a complete list of accounting entries relating to the same category or group.
- To open an category or group card you click once on the account number cell and then click once on the small blue arrow appearing in the upper right corner of the cell.
- To open multiple category or group cards you must select the Account cards command from Account1 menu.
- To update the category or group cards, following changes in the Transactions table, you must click on the two circular arrows symbol, located at the top right corner of the account card.
Account cards per period
To open an category cards with account balances at predefined dates, click on Account1 in the menu, Account/Category cards ... and click Period selected in the Period tab to insert your selected period.
Consult the Period page for further information.
Print the Category card
To print a Category card, open it from any table (Accounts or Transactions) and start printing from the File menu.
To print out several or all the Account/category cards, click Account1 menu, select Account/category cards and select the accounts/categories you wish to print. The filter in the window allows you to select automatic selection of all categories, cost centers, segments, groups etc ...
For further information refer to the Account Cards page.
Enhanced Statement
To view the Enhanced Statement and the Enhanced Statement with groups, choose the Account1 menu and then the Enhanced statement or Enhanced statement with groups command. You can also obtain statements by period.
- The Enhanced statements displays all accounts and categories without any subgroups
- The Enhanced statements with groups displays all accounts and categories also with subgroups
Archive data in PDF format
At the end of the year, when the accounting is done, corrected and revised, you can store all accounting data with the Create Pdf dossier command from the File menu.
The Budget
Before starting your accounting year, you can create a budget with your assumed expenses and revenue, in order to have control over the financial and economic situation of your company.
The budget can be set in two different ways:
- From the Budget column of the Categories table. For each account the yearly budget is indicated.
In this case, when you process the budget from the Account1 menu, Enhanced statement with groups command, the Budget column shows the amounts that relate to the entire year. - From the Budget table, that you need to manually activate using the Add new functionalities command from the Tools menu.
In this table all estimates are entered as budget transactions, either income or expenses. If you activate this table, the Budget column of the Accounts table is automatically deactivated.
In the Budget table you can setup a detailed budget that takes into account possible variations during the year and in different periods of the year.
Printouts
Instant information
The account balance and those of the income and expense categories are on ready display in the Accounts and Category tables.
After each entry of a transaction, balances are adjusted automatically and there is no need to run a report, as you can simply display the Accounts or Categories tables.
Advanced printouts
All printing is run from the Account1 menu, where the different functions for prining are located:
-
Journal - command to define the period. You can display and print the whole table or just a specified period.
-
Account/Category cards command. You may select all cards or define your selection.
Define the required period in the Period tab and click the required settings in the Options tab. Print settings can be saved in the Composition tab so they can be resumed without them to be having defined again. -
Enhanced statement command. You may also print a defined period and various options and compositions may be included.
-
Enhanced statement with groups command. You may also print a defined period and various options and compositions may be included.
-
Accounting report command. The required options are displayed in the Accounts table. Reports are possible for current, previous periods or previous years; each period may contain subdivisions and the compositions can be saved.
Example of printout of Enhanced statement with groups
Transactions
The transactions are entered in the Transactions table.
For further information relative to the columns used in the Transactions table of the Cash book, refer to the Transctions (Income & Expense accounting) page.
For each operation enter the following:
- the date
- the document number
- the description
- the income or expense amount
- the category relevant to the income or expense in the Category table
- should the transaction be subject to VAT tax, enter the VAT code in the VAT code column.
The VAT codes are listed in the VAT codes table.
Speeding up the recording of the transactions
In order to accelerate the recording of the transactions, you can use
- the Smart fill function that allows the automatic autocomplete of data that have already been entered at an earlier date.
- the Recurring transactions function, used to memorize recurring transactions into an appropriate table.
- importing bank or post office statement.
Examples of transactions without VAT
Examples of transactions with VAT
Category card
To display the entries of a category, click once on the small blue arrow appearing in the upper right corner of the cell.
The display of entries in the Categories table is identical to the one in the Transactions table.
To update the category or group cards, following new entries or changes in the Transactions table, you must click on the two circular arrows symbol, located at the top right corner of the category or group card.
客户子菜单
在任务(2)菜单,客户命令中的子菜单中,您可以看到以下的列表:
检查客户发票的逻辑
为了使程序能够准备收到发票的列表:
- 在发生业务表格中的发票列中,指示发票的号码。
- 在发生业务表格中的借方列或贷方列中,指示出客户的账号。
而且,在输入发生业务之前:
- 在会计科目表中, 客户账户和/或组需要被创建
- 如果有需要,可以添加地址列
- 在客户设置中,指示客户组或是一般的客户账户。
您也需要选择,在会计科目表中,您需要拥有:
- 每个客户一个账户
当发票的列表需要被客户单独提出的时候这项做法是必须的。
在这种情况下,需要为客户创建一行,并且每个客户账户指的是在总组列内的组 (见下文)。 - 一个单一的账户里面包含所有的客户
开的发票和过期发票的列表是所有客户在一起的,而不是单一客户的。
请注意:
- 报告基于账户货币余额; 将不考虑可能的汇率差。
- 报告的摘要列将为每个发票复制第一行的摘要。
- 对于基于现金收入的会计文件,您可以设置一个客户注册的成本中心。
详细解释
- 设置客户账户
- 设置注册
- 激活地址列 (选项)
- 设置客户的设定
- 输入发生业务
- 在发生业务表格显示发票列
- 输入已发出的发票
- 输入信用支票
- 提取发票行和打开发票链接的命令
- 报表和打印
- 显示开发票
- 显示过期的发票
- 显示从客户那里收到的发票
- 自动完成
示例文件
设置账户
- 设置登记
- 设置客户/供应商登记为成本中心
- 激活地址列 (可选)
- 设置客户的参数
设置登记
- 在账户科目表中每位客户都是单独的一行,并且拥有它们自己的账号;
- 有一个总组会把所有的客户账户都组在一起,然后此组会被组在资产内。
在账户科目表的最后,请您添加:
- 总客户将被归在号码为110A的总组中;
- 在总组中所使用的相同的号码或代号(110A),也必须使用在资产总组的列中,在与总客户相对应的行中。您可以自由的选择组的号码 (查看总组)。
与成本中心一起管理客户登记
如果您不想在资产负债表中看到“客户”的信息 (例如,对于增值税的业务收到的现金),可以使用成本中心 (CC3) 来创建客户账户。
设置客户/供应商登记为成本中心
作为成本中心来管理客户/供应商登记是可能的 (也可查看成本和利润中心的页面):
- 我们建议您使用 CC3 成本中心 (在账户前添加一个 ";" 号);
- 在资产负债表中不会出现客户和供应商的成本中心余额。
发生业务
请您查看含增值税的客户及供应商收到的现金页面,了解更多的信息。
未经登记
客户或供应商的账户以及组可以正常账户的方式输入在资产和负债的部分。
激活地址列 (可选)
在账户科目表中可以添加一些特别的列,您可以输入地址以及客户的其它数据:
- 从工具菜单中选择增添新功能的命令;
- 选择在账户表格中添加地址列的命令 (如果在选择数据的窗口中没有该项选项,那意味着这项功能已被激活)。
程序在账户表格中添加:
- 在地址视图的表格中可以看到很多不同的列 (如下图所示)。
- 在这些列中您可以添加地址及其它的信息。
- 您可以使用数据菜单中的列设置命令来添加及移除这些列;
- 使用数据菜单中的表格设置命令来编辑其中的视图设置。
选择账户表,地址视图以及添加您所需的信息至客户账户。
设置客户的参数
- 从任务(2)菜单的客户命令中选择设置;
- 请在“组或账户”的选项中指示出不同的客户组;
- 请您到客户和供应商设置的页面参阅不同选项的详细解释。
客户和供应商设置
组或账户
选择包含客户或供应商列表的通用组或账户。该组或账户需要已经存在于账户表中。请您查看设置客户登记以及设置供应商登记。
发票到期 (天数)
当在发生业务中没有日期被指示出来的时候,使用此功能来计算逾期的天数。
包括之前(几)年的业务
包括出现在前(几)年的会计文件内的发生业务,其被指是在会计文件的基础数据 (文件和账户属性) 内。
连接至发票文件
您可以插入一个链接至一个发票文件 (pdf, doc 或者其它的)。当链接被打开的时候,程序会使用在行中出现的发票号来替代 <DocInvoice>。
链接可以包含:
- <DocInvoice> XML名称或者是包含在<>之间的另一列的名称;
如果您使用 "<DocInvoice>.pdf" 的命令,您所处行的发票号为100,程序会尝试打开 "100.pdf" 的文件。您也可以在文件名前加上一个目录的名字; -
您可以使用任何文件扩展名。但是这个扩展名必须包含在“安全的文件扩展名”列表中 (您需要点击工具栏菜单中的基本设置命令, 然后在跳出的软件系统选项窗口中选择高级标签,在文件扩展名一项中添加安全的扩展名);
- 也可以在该字段名称之前指示一个路径,其包含要被打开的文档的名称;
通过链接 "c:\temp\<DocInvoice>.pdf",以及发票号码100,程序会打开文件 “c:\temp\100.pdf”。 -
目录的名称与该文件所在的目录是相对的。
将发票数据输入发生业务表格内
在发生业务表格内显示发票列
在发生业务表格内的发票列中输入发票号码, 如果发票列没有显示在发生业务表格中,那么请您进行以下的操作:
- 首先请您位于发生业务表;
- 点击数据菜单;
- 选择列设置的命令;
- 然后激活发票文件的选项。
在下面的图例中,您可以看到发生业务表格内的发票列。
如在下图中所示,使用鼠标右键点击各个发票单元格,您就可以看到提取发票行以及打开发票链接的命令。
记录开具的发票
记录付款
- 输入发生业务的日期;
- 点击相应的发票单元格,然后使用 F2 键或者空格键,您就会看到如下图所示的下拉菜单: 会出现一列的发票信息。如果使用了F2键却没有反应,那么您需要点击任务(2)菜单中客户/供应商中的设置命令,然后输入登记的组;
- 作为一种替代方案,您也可以开始输入发票号码,客户/供应商登记或者金额,然后根据您的搜索数据,程序会为您展示一列的发票信息;
- 选择您所需的发票,然后使用回车键;
- 在程序中通过摘要列,贷方账户,金额等列来完成相应的发生业务。
输入发票金额已被转移的帐户。
记录信用票据
为了能够从原始发票中扣除金额,需要使用相同的发票号码。如果在纠正文件中 (例如: 信用票据) 提出了一个需要保持可用的不同数字,那么像这样的参照信息可以输入在其它列中,例如原始文件列。
提取发票行以及打开发票链接的命令
提取发票行的命令可以显示所选发票的交易信息。
如在下图一中所示: 用户可以通过点击发票单元格右上角的蓝色图标来执行提取发票行的命令; 也可以如在下图二中所示: 通过点击鼠标右键来选择提取发票行的命令。
图一:
图二:
打开发票链接命令所建立的文本已在客户设置中被定义 (任务(2) - 客户 - 设置 - 连接至发票文件)。
例如,如果发票由 Winword 创建,并且保存在文件 (Documents) 的文件夹中,那么这些文件可以通过设置文本的命令行 'C:\Users\myname\Documents\<DocInvoice>.doc',直接被打开。程序使用名为 <DocInvoice> 的文字来做替代,与列相对应来执行命令。
在命令行中,通过使用XML名称来指示出表格中其它的列是可能的。
如果出现了 '扩展文件不安全' 的警告信息,您需要点击工具栏菜单中的基本设置命令, 然后在跳出的软件系统选项窗口中选择高级标签,在文件扩展名一项中添加扩展名 (例如: .doc)。
报告和打印
创建发票
此功能目前仅适用于Banana财务会计软件9
要想了解更多的信息,请您参阅创建发票的页面。
供应商子菜单
在任务(2)菜单,供应商命令中的子菜单中,您可以看到以下的列表:
检查供应商发票的逻辑
为了使程序能够准备收到发票的列表:
- 在发生业务表格中的发票列中,指示发票的号码。
- 在发生业务表格中的借方列或贷方列中,指示出供应商的账号。
而且,在输入发生业务之前:
- 在会计科目表中, 供应商账户和/或组需要被创建
- 如果有需要,可以添加地址列
- 在供应商设置中,指示供应商组或是一般的供应商账户。
您也需要选择,在会计科目表中,您需要拥有:
- 每个供应商一个账户。
当发票的列表需要被供应商单独提出的时候这项做法是必须的。
在这种情况下,需要为供应商创建一行,并且每个供应商账户指的是在总组列内的组 (见下文)。 - 一个单一的账户里面包含所有的供应商
开的发票和过期发票的列表是所有供应商在一起的,而不是单一供应商的。
请注意:
- 报告基于账户货币余额; 将不考虑可能的汇率差。
- 报告的摘要列将为每个发票复制第一行的摘要。
- 对于基于现金收入的会计文件,您可以设置一个供应商注册的成本中心。
详细解释
- 设置注册
- 激活地址列 (选项)
- 设置供应商的设定
- 在发生业务表格显示发票列
- 输入已发出的发票
- 输入付款
- 输入信用支票
- 提取发票行和打开发票链接的命令
- 显示开发票
- 显示过期的发票
- 显示从供应商那里收到的发票
示例文件
设置账户
设置供应商登记
我们将为您展示如何在账户科目表中为供应商登记创建一个单独的部分。
- 在账户科目表中每位供应商都是单独的一行,并且拥有它们自己的账号;
- 有一个总组会把所有的供应商账户都组在一起。
在账户科目表的最后,请您添加:
- 总供应商将被归在号码为200A的总组中;
- 在总组中所使用的相同的号码或代号(200A),也必须使用在负债总组的列中,在与总供应商相对应的行中。您可以自由的选择组的号码 (查看总组)。
与成本中心一起管理供应商登记
如果您不想在资产负债表中看到“供应商”的信息 (例如,对于增值税的业务收到的现金),可以使用成本中心 (CC3) 来创建供应商账户。此操作程序与客户成本中心非常相似。
激活地址列 (可选)
在账户科目表中可以添加一些特别的列,您可以输入地址以及供应商的其它数据:
- 从工具菜单中选择增添新功能的命令;
- 选择在账户表格中添加地址列的命令 (如果在选择数据的窗口中没有该项选项,那意味着这项功能已被激活)。
程序在账户表格中添加:
- 在地址视图的表格中可以看到很多不同的列 (如下图所示)。
- 在这些列中您可以添加地址及其它的信息。
- 您可以使用数据菜单中的列设置命令来添加及移除这些列;
- 使用数据菜单中的表格设置命令来编辑其中的视图设置。
选择账户表,地址视图以及添加您所需的信息至供应商账户。
设置供应商的参数
- 从任务(2)菜单的供应商命令中选择设置;
- 请在“组或账户”的选项中指示出不同的供应商组;
- 请您到客户和供应商设置的页面参阅不同选项的详细解释。
报告和打印
输入发生业务
在发生业务表格内显示发票列
在发生业务表格内的发票列中输入发票号码, 如果发票列没有显示在发生业务表格中,那么请您进行以下的操作:
- 首先请您位于发生业务表;
- 点击数据菜单;
- 选择列设置的命令;
- 然后激活发票文件的选项。
在下面的图例中,您可以看到发生业务表格内的发票列。
如在下图中所示,使用鼠标右键点击各个发票单元格,您就可以看到提取发票行以及打开发票链接的命令。
记录已收到的发票
记录付款
- 输入发生业务的日期;
- 点击相应的发票单元格,然后使用 F2 键或者空格键,您就会看到如下图所示的下拉菜单: 会出现一列的发票信息。如果使用了F2键却没有反应,那么您需要点击任务(2)菜单中客户/供应商中的设置命令,然后输入登记的组;
- 选择您所需的发票,然后使用回车键;
- 在程序中通过摘要列,贷方账户,金额等列来完成相应的发生业务。
输入被用来支付发票的帐户。
记录信用票据
为了能够从原始发票中扣除金额,需要使用相同的发票号码。如果在纠正文件中 (例如: 信用票据) 提出了一个需要保持可用的不同数字,那么像这样的参照信息可以输入在其它列中,例如原始文件列。
提取发票行以及打开发票链接的命令
提取发票行的命令可以显示所选发票的交易信息。
如在下图一中所示: 用户可以通过点击发票单元格右上角的蓝色图标来执行提取发票行的命令; 也可以如在下图二中所示: 通过点击鼠标右键来选择提取发票行的命令。
图一:
图二:
打开发票链接命令所建立的文本已在供应商设置中被定义 (任务(2) - 供应商 - 设置 - 连接至发票文件)。
例如,如果发票由 Winword 创建,并且保存在文件 (Documents) 的文件夹中,那么这些文件可以通过设置文本的命令行 'C:\Users\myname\Documents\<DocInvoice>.doc' 直接被打开。程序使用名为 <DocInvoice> 的文字来做替代,与列相对应来执行命令。
在命令行中,通过使用XML名称来指示出表格中其它的列是可能的。
如果出现了 '扩展文件不安全' 的警告信息,您需要点击工具栏菜单中的基本设置命令, 然后在跳出的软件系统选项窗口中选择高级标签,在文件扩展名一项中添加扩展名 (例如: .doc)。
自动完成发票数据
请您参阅客户菜单 - 自动完成发票数据的页面。
增值税管理
理论
增值税(Value Added Tax,VAT)是以商品(含应税劳务)在流转过程中产生的增值额作为计税依据而征收的一种流转税,从计税原理上说,增值税是对商品生产、流通、劳务服务中多个环节的新增价值或商品的附加值征收的一种流转税。实行价外税,也就是由消费者负担,有增值才征税,没增值不征税。每种增值税必须计算及定期的把税款存储至税收权利机构。
每个国家根据商品及服务的类型,都有其自己的,所建立的不同百分比的增值税税率。某些商品和服务被免除或排除。
百分比会根据国家财政的需要而有所不同; 因此,根据年份的变化会有所不同。
在实际当中,商品新增价值或附加值在生产和流通过程中是很难准确计算的。因此,中国也采用国际上的普遍采用的税款抵扣的办法。即根据销售商品或劳务的销售 额,按规定的税率计算出销售税额,然后扣除取得该商品或劳务时所支付的增值税款,也就是进项税额,其差额就是增值部分应交的税额,这种计算方法体现了按增 值因素计税的原则。在澳大利亚、加拿大、新西兰、新加坡称为商品及服务税(Goods and Services Tax, GST)。
在中国,小规模纳税人适用征收率,征收率为3%。一般纳税人适用的税率有:17%、13%、11%、6%、0%等。
- 适用17%税率: 销售货物或者提供加工、修理修配劳务以及进口货物。提供有形动产租赁服务。
- 适用13%税率: 根据 《中华人民共和国增值税暂行条例》 包括粮食、食用植物油;自来水、暖气、冷气、热水、煤气、石油液化气、天然气、沼气、居民用煤炭制品;图书、报纸、杂志;饲料、化肥、农药、农机、农膜。根据 《财政部 国家税务总局关于部分货物适用增值税低税率和简易办法征收增值税政策的通知》 包括:农产品;音像制品;电子出版物;二甲醚。
- 适用11%税率:提供交通运输业服务。
- 适用6%税率:提供现代服务业服务(有形动产租赁服务除外)。
- 适用0%税率:出口货物等特殊业务。
增值税税率
在这份文件中,为了使计算更简单,我们将使用以下税率:
- 10 % 正常税率
- 5% 削减的税率
- 0% 被排除的操作或免税业务
增值税的计算
净价 x 增值税百分比 / 100 = 增值税金额
示例:
净价 300
税率 10%
增值税金额 = 300 x 10 / 100 = 30
总价格计算
净价 + 增值税金额 = 总价格
示例:
300 + 30 = 330
有时候总价是已知的,有必要找出净价和增值税的价格。
净价计算
总价 / (100 + 增值税率) x 100 = 净价
示例:
330 / (100 + 10) x 100 = 300
净价格代表公司的成本 (购买) 或收入 (销售)。
增值税金额计算
总价 - 净价 = 增值税金额
示例:
330 - 300 = 30
或者
330 - [330 / (100 + 10) x 100] = 30
增值税金额朝向收入管理局,代表借方 (销售) 或贷方 (购买)。
增值税税率计算
增值税金额 / 净金额 x 100 = 增值税税率
示例:
30 / 300 x 100 = 10%
或者
[330 - 330 / (100 + 10) x 100]/100 = 10%
另外的例子:
20 / 400 x 100 = 5%
在税率未知的情况下,使用此种方法来进行计算。
增值税代码表
增值税代码表设置允许定义管理增值税发生业务所需的所有参数。设置指的是:
- 增值税销项税或进项税
- 发生金额按不含增值税额,含增值税额或发生额为增值税额100% (海关增值税)
- 可自由定义适用的增值税税率
- 账户表中必须定义增值税账户
- 每个代码采取四舍五入
- 可定义所属组合总计的方法
VAT代码表有一个基本视图和一个完整视图 (见下表顶部). 两者之间的区别在于,“完整”视图显示了几个在“基本”视图中不可用的列。这些列用来容纳一些特定的选项。
如何计算
VAT代码表中显示的参数被用于计算单个增值税的交易。VAT代码中建立的参数不能在交易中被更改。 这种模式保证增值税的计算是正确和一致的。
请注意: 如果修改已经在发生业务中使用过的增值税代码,则这些更改不会立即生效;在这种情况下,需要激活检查账务命令t (报表1 菜单 -> 检查账务). 当增值税代码表被修改时,程序会通过信息窗口中的消息,邀请用户执行完整的重新计算用来作为预防措施。
下表是根据中国的税法使用的代码:
列的详细说明
在下列各列中,插入以下数据:
- 总组:代码所属组的代码或编号。在这个例子中,我们插入1 为销售, 2 为购买, T 为总计。
- 增值税代码:在发生业务中识别和结转增值税的代码。
- 摘要: 描述增值税代码或总组的文字。
- 禁用:
- 输入1, 增值税的代码不显示在自动完成列表中 (发生业务表), 但仍然可以使用;
- 输入2, 增值税代码被禁用,无法使用。 - 所属组: 必须添加该行"总组" 的代码。
- 所属组1: 在上表的图片中,显示了中国增值税纳税申报表中的代码
- 所属组2: 用于附加分组的代码。
- 应付增值税额:
如果插入“确定”, 则表示增值税在借方 (增值税销项税)
如果单元格为空,则表示增值税为贷方(增值税进项税) - 金额类型: 显示软件如何考虑业务发生的金额:
0 (或空格) 有增值税/销售税 (业务发生额视为包含增值税)
1 = 不含增值税/销售税 (业务发生额视为不含增值税)
2 = VAT 金额 (业务发生额视为增值税金额) - 税率: 增值税占发生额比例
- 免税率: 对于增值税代码,不可能扣除全部100%, 请在此输入不可扣除的百分比 (例如100%)
- 增值税占发生额比例: 通常的空的。只有在特殊情况下,当增值税的百分比必须适用于总额 (含增值税) 而不是应税销售额时,才能插入“确定”字样。
- 增值税账户: 自动计算增值税的账户。
在文件和账户属性(文件菜单), 可以被定义用做增值税账户的一般账户。
也可以为每个独立的增值税代码建立一个特定的账户。 - 进位: 舍入的最小值,仅在特定情况下使用。优先使用会计基础数据中所示的四舍五入(例如,最小的舍入值是0.05) 。
- 取消警告: 软件提示为错误的特定事物,实际上是正确的。为了避免软件发出单方的错误提示,请在相关的代码中插入“确定”。
当有增值税的业务被输入时,通过增值税账户列的增值税代码,软件会自动计算与增值税相关的所有金额,并将其转移到增值税账户中。
检查账务
当在检查账务时,如果发生业务没有被锁定,程序将重新加载分配给每个代码增值税参数。如果增值税代码设置已更改,将在相应发生业务列的账户表中更改 (用户不能编辑).
因此,在编辑增值税表时,程序建议进行完整的账户检查。
添加一个新的百分比
当添加一个新的百分比时,必须添加新的一行,在新的行中,插入新百分比的增值税代码数据,同时注意插入正确的分组。不要更改已经在发生业务中使用过的代码。
组
通过创建具有多个合计等级的组,用户可以获得增值税申报所需的总计数。
在增值税报表中,通过激活“使用个人分组计划”, 软件完全按照增值税代码表中指示的组来计算总计。
这些组被用于去获得所有发生业务的组的总计,例如,进口和出口的总计。
相关文件: 导入增值税码
文件和账户属性(增值税标签)
只有选择含增值税的会计核算时,该表格才会出现。
增值税账户
存在会计科目表中的,自动增值税账户,在这里被设置为默认项。因此,增值税账户不需要被插入到增值税代码表格中。
增值税进位
在这个标签下,用户可以自行设置增值税/营业税的小数点舍入规则;例如,用户输入0.05,则表示增值税/营业税的数额将舍入到0.05的倍数。
成本中心1 (CC1), 成本中心2 (CC2), 成本中心3 (CC3)
每种类型的成本中心,都可以由用户自主选择何种数额被用于记录业务往来的成本中心。
- 使用业务发生额
- 使用包含增值税/营业税的数额
(当成本中心被用于客户/供应商账户时) - 使用不包含增值税/营业税的数额
(当成本中心被用于利润和费用账户时)
注意:当其中任何一个参数被修改时,会计核算数额一定会被再次计算。
相关文档:增值税管理,成本和利润中心
Arrondi IVA
Le système TVA suisse prévoit pour le calcul de la TVA que celle-ci se fait calculé au centime, sans arrondi.
Pour ceux qui ont la nécessité d'avoir un arrondi des montants TVA pour les centimes, la procédure suivante a été prévue:
- Dans le tableau Écritures, insérer les Écritures comme d'habitude, en appliquant le code TVA approprié
- Dans la ligne suivante, enregistrer le compte des charges ou des produits, utilisé dans la ligne précédente, en débit et en crédit
- Dans la colonne montant, enregister les centimes de l'arrondi
- Dans la colonne Code TVA, insérer un code TVA avec type montant 2 (montant TVA au 100%) par exemple M80-2
- Quand les centimes doivent être déduits, insérer le code précédé par le signe moins "-M80-2".
Configurer les comptes TVA
Quels sont les comptes TVA?
Les comptes TVA sont des fiches comptables d'où on enregistre les montants TVA, calculés selon les configurations des codes TVA.
Quand on utilise un code TVA, le programme calcule automatiquement, selon les valeurs de l'écriture:
- le montant imposable et le montant TVA
- le montant qui doit être enregistré sur le compte Débit
- le montant qui doit être enregistré sur le compte Crédit
- le montant qui doit être enregistré sur le compte TVA
- comment doit être enregistré le montant TVA (en Débit ou en Crédit)
En déplaçant le curseur sur l'écriture, en bas de la fenêtre d'information, le programme affiche les montants enregistrés sur les différents comptes.
Configurer les comptes TVA
Compte TVA général (automatique)
Si configuré dans les Propriétés fichier (menu Fichier) comme prédéfini, ce compte TVA est utilisé à chaque fois qu'il y a une écriture pour un code TVA qui n'a pas de compte TVA défini.
Compte TVA pour le code TVA
Pour chaque code TVA, dans le tableau Codes TVA, colonne Compte TVA, on indique le compte qui doit être utilisé pour les écritures qui utilisent ce code TVA.
Utiliser un seul compte TVA ou plusieurs comptes?
Dans la comptabilité, il faut séparer la partie Actifs des Passifs. Toutefois, si la TVA récupérable est compensée par le montant de la TVA due, seulement le montant TVA effectivement dû est affiché dans le Bilan.
Du point de vue comptable réel, dans la plupart des cas il n’est pas indispensable d'avoir plusieurs comptes TVA; en fait il est préférable d’avoir un seul compte TVA.
Pour l’application de la déclaration, cependant, il est utile d’avoir différents types d’opérations de TVA distinctes. Dans les programmes qui n’utilisent pas les codes TVA, il faut séparer chaque opération sur des comptes séparés. Avec Banana, grâce aux codes TVA et au Résumé TVA, il est possible d'obtenir des détails beaucoup plus importants :
- mouvements et totaux (TVA imposable, TVA, TVA comptabilisée)
- mouvements et totaux par pourcentage TVA
- mouvements et totaux par compte TVA
- mouvements et totaux regroupés selon TVA due et selon TVA récupérable.
Pour des contrôles d'opérations TVA, il n'est pas nécessaire d'utiliser plusieurs comptes TVA séparés.
Banana Comptabilité laisse donc le choix d’utiliser le compte général ou plusieurs comptes TVA.
Avantages d’utiliser un seul compte TVA
- Bilan et compte de résultat beaucoup plus facile à lire (il n’ya pas beaucoup de comptes TVA).
- Possibilité d'avoir des comptes (par exemples, des produits) d'où enregistrer des opérations avec plusieurs taux TVA.
- Connaître immédiatement la TVA due, sans avoir à additionner les différents comptes.
-
Vue immédiate de toutes les transactions TVALa fiche Décompte TVA montre toutes les opérations TVA en Débit et en Crédit.

Avantages de l’utilisation de plusieurs comptes de TVA
Comme dit, si l'on utilise des codes TVA, l'enregistrement sur un compte TVA spécifique est une répétition des informations qui sont déjà disponibles grâce aux codes TVA et leur Résumé TVA detaillé.
Dans les pays tels que l’Allemagne, il est habituel d'avoir un compte TVA différent pour chaque type d'opération, afin que la déclaration TVA puisse être faite à l’aide des soldes des différents fiches de compte TVA.
Dans ces cas, pour assurer la compatibilité avec ce système, on peut considérer qu'il est utile d’avoir des comptes TVA différents pour chaque code TVA.
Clôture comptes TVA à la fin d'une période
À la fin de la période de calcul pour la TVA, il est utile de clôturer les comptes TVA de Débit et de Crédit et de déplacer le solde sur un compte unique:
- On voit, de façon comptable, quel est exactement le solde dû
- Le compte "2201, Décompte TVA" recommence avec un solde zéro pour chaque période. Il est donc plus facile d'avoir le contrôle sur d'éventuelles différences et erreurs.
Pour la clôture périodique du compte "2201, Décompte TVA", consulter la page Clôture périodique et paiement TVA.
发生业务
在Banana财务会计软件内的会计科目表模板中已经包含了增值税的账户,此增值税根据增值税报表的账户 (自动), 存在于会计科目表以及文件和账户属性的 (点击文件菜单) -增值税标签中 (在这种情况下,您不需要在增值税代码表中输入任何增值税帐户)。
如果您没有使用已存在于软件中的会计科目表,那么请您确保在您自己的会计科目表内包含所有必要的增值税账户。我们建议您使用的增值税账户是根据增值税报表而得来的,并且将其输入在文件和账户属性的 (点击文件菜单) -增值税标签中。
在增值税代码表中有销售和采购的代码。在输入发生业务的时候,请使用适当的增值税代码。
软件会自动分配增值税金额,并将其记录在“增值税根据增值税报告”帐户或用户在文件和账户属性中指明的增值税帐户中。
在发生业务表格内的增值税列 (全部增值税的视图)
您可以在发生业务页面找到发生业务表格内主要列的完整解释。
在含有增值税的复式记账会计文件中,或含有增值税的收益&费用核算中,您可以找到下面的增值税列:
- 税码: 对于每笔拥有增值税的业务,您需要从增值税代码表中输入一个增值税代码。
- 增值税%: 程序会自动输入与您输入的增值税代码相关联的增值税百分比。
- 增值税附加信息: 与增值税额外信息有关的代码仅供在非常特殊的情况下使用。
可以输入一个符号来识别具体的增值税案例。软件程序建议的选项对应于以冒号“:”开头的增值税代码。 - %有效税率: 程序自动输入增值税百分比,称为净额。当这个百分比指的是总额的时候,这个百分比与正常百分比不同。
- 应征税: 一旦您输入增值税代码,软件会自动显示应征税的金额(不含增值税)。
- 增值税金额: 程序自动显示增值税的金额。
- 增值税账户: 自动注明增值税登记的账户(例如对于瑞士来说,通常为2201增值税报告账户); 此帐户之前已输入在“文件和账户属性(文件菜单)”的增值税标签中。
- 金额类型: 此代码指示出该软件是如何考虑业务金额的:
- 0(或空单元格)含增值税,业务金额包含增值税;
- 1 = 无增值税, 业务金额不含增值税;
- 2 = 增值税金额, 业务金额被视为100%的增值税金额;
- 金额类型不可编辑:默认模式。
- 列被保护
- 该程序使用增值税代码表的相关值
- 当您辑增值税代码表中的值,并重新计算会计文件的时候,程序将使用与此增值税代码相关联的新值。
- 金额类型可编辑:此选项可以通过添加新功能的命令激活。在激活该选项后命令无法撤消。
- 当编辑增值税代码的时候,程序将使用与此代码相关联的金额类型。
- 该值可以手动编辑。
- 当会计文件被重新计算的时候, 在发生业务表内指示的值也会被重新检查。
- 免税率%: 其指示的是不可扣除的%
- 当您输入或更改增值税代码的时候,程序将使用在增值税代码表中与此增值税相关联的免税率%。
- 您可以手动编辑该值。
- 已交增值税: 这是登记在增值税帐户中的增值税金额。
其由程序根据发生业务的金额来计算,金额类型和不可扣除百分比。 - 增值税编号: 这是您的客户/供应商的代码或增值税号。
当您输入含增值税的业务时,也可以输入交易对手的增值税号。在账户表格中,在您的客户/供应商登记中,您也输入了他们的增值税号码,这些将自动加载到发生业务表格内的增值税编号列中。
包含增值税的发生业务
在输入包含增值税的发生业务之前,我们建议您访问发生业务的页面。
如何纠正增值税业务
如果您在当下发现了错误,那么您可以通过编辑行的方式来纠正错误; 但这仅在增值税报表未发送以及没有对发生业务加锁的的情况下可使用。
如果您已经对会计文件上锁或您已经发送了增值税报表,那么您将无法单纯的删除出现错误的发生业务,您需要取消出现错误的业务,并重新输入正确的。
为了能够执行纠正增值税的操作,您需要:
- 通过交换在错误发生业务中的借方和贷方来制造一个新的发生业务
- 输入相同的金额
- 输入相同的增值税代码,但前面加上减号(例如:-V80)
-
根据错误的内容和程度,您应该考虑通知当地的增值税办事处; 通常他们会要求您下载特定的表格来纠正上期增值税的错误。
拥有不同增值税代码的发生业务
当发票总金额是由不同的增值税百分比组成的时候,您需要如下列步骤进行操作:
- 每个具有特定增值税税率的金额需要和它相对应的增值税代码一起输入在不同的行中(输入总额)
- 一旦完成了多次的操作, 请检查不同金额和增值税金额的总和对应的发票总额。
示例如下图:
增值税免税
如果在发票中还有一些增值税豁免的项目,则需要按照上述规定运行,从增值税代码表中选择增值税免税的代码。
信用票据
如果需要取消较早日期中输入的操作,则需要使用负号(-)置于与之前相同的增值税代码前。这样才能纠正相应的增值税。
除了在增值税代码前使用负号,也可以使用在增值税代码表格中特定的含有折扣的增值税代码。
信用票据的例子
当产品被销售并且客户发现缺陷时,通常会为他出具信用票据。信用票据意味着收入的减少,从而导致增值税的恢复。
如上图所示,对于信用票据金额增值税的恢复,需要在销售的增值税代码前加负号。
期末结算和增值税付款
在季度报告结束时重置增值税账户
在期末,增值税账户余额将计入应付增值税帐户(或国库增值税帐户)。
增值税账户余额计入应付增值税帐户之前的增值税账户明细。
将增值税代码与帐户建立连接
在有增值税 (VAT) 的会计文件中,在账户表格中,增值税代码可以被添加到收益/费用核算账户中,因此,当销售和采购活动被记录时,程序会自动插入增值税代码并完成包含增值税数据列的计算,并将结果输入账户中。
为了能够连接增值税代码:
- 点击账户表内的其它视图,在此视图中,在默认情况下便可视增值税码列。
如果您想在账户表的基本视图表格中呈现增值税码列,那么您需要点击数据菜单中的列设置命令 (您可以查看本页末的相关链接)。 - 在增值税码列中为收益/费用核算输入增值税码。
.
相关文档:列设置
增值税报告
增值税报告详细阐述,以及根据所选择的期间和参数进行增值税计算的结果展示。
详细步骤:
- 从报表(1)菜单下,选择增值税报表的命令

当启用该功能后,选择下面的这些选项可以使用户在增值税报告中包含以下数据:
所有增值税/营业税的业务发生额都被包括。
含按账户汇总
所有含增值税/营业税的营业额,按照账户汇总后被包括。
含按百分比汇总所有含增值税/营业税的营业额,按照百分比被包括。
含没有使用的代码
所有未被使用的增值税代码表格将会被列出。
使用个人分组计划
包含增值税/营业税的营业额根据增值税代码表进行分组。
发生业务排序按照
通过激活该功能,发生业务可以按照之前预设的选项来进行分类(如日期,文件,摘要等……)。
- 仅指定码(从列表中选择该选项)
- 仅指定组(从列表中选择该选项)
其他类
关于其他类的信息可以在以下网页中查询:
- 期间
- 合成
检查账务
您可以使用不同的方法重新核算套账以及检查您的会计文件:
- 使用 Shift + F9 键 (Windows 和 Mac) 或者使用 Cmd + 9 (Mac)
初级会计复核 - 使用报表(1)菜单中的检查账务命令
该解决方案包括几个广泛的控制选项-大量的会计复核
如果存在错误信息提示或者差额,您需要纠正它们。
初级会计核算
此命令将执行以下操作:
- 其将会重新设置账户余额,以及成本中心和分部的余额
- 其会验证及报告是否在各个表格中存在错误 (账户,发生业务,增值税代码以及汇率表)
- 其将重新输入所有的操作,就好像它们是第一次被输入的一样
- 对于多货币会计核算,其将使用最新的汇率来重新核算基础货币的初期余额
- 如果发生业务行没有被加锁,那么其将重新核算所有的发生业务行:
- 增值税的百分比取自增值税码表,并且增值税额会被重新核算
- 其将更新账户余额,以及成本中心和分部的余额
- 在现金账簿中发生业务表内的渐进账户余额会被重新核算
- 其将重新核算账户表和科目表的合计 (收益和费用)
- 其将更新预算差额以及前一年的列
- 在多种货币核算中,其将使用最新的汇率和汇率差来更新已核算的余额
大量的会计复核-核对会计核算的窗口
点击报表(1)菜单中的检查账务命令,会跳出下列的窗口。
刷新套账加额外检查
这是最有用的功能之一:整个会计文件都会被重新检查,所有的余额都会被重新计算,如果错误用户也会被通知。
账户属性
此选项处于被默认激活的状态。程序会验证输入文件和账户属性的数据是否与实际的会计文件相符 (例如: 开账日期和结账日期,增值税账户,汇率差额账户,等等)。
发生业务
交易中的差额
在此选项被激活后,程序就会验证收益 & 费用核算记账中的借与贷之间,或账户和科目之间是否有差额。在软件程序最下面的信息窗口中会指示出有差额的行。而且,在程序最下面的信息窗口中也会显示出总差额 (仅在您处于发生业务表格的时候)。
包括中间的差额
在此选项被激活后,程序就会验证在组合发生业务的借与贷之间是否有差额 (多行发生业务)。差额通常是由不完整的条目或错误的金额而造成的 (例如在下面的图例中所示的文件编号为3的发生业务)。
检查余额(#checkbalance)
通过激活检查余额(#checkbalance)的功能,程序将会验证及检查被插入的余额是否与账户的余额相同 (例如,在账户表中的各个银行账户之间的余额)。 如果余额不相符,那么就会如下面的图三所示,系统会出现一个错误信息的提示窗口。“check balance”是检查余额的意思。
为了能够运行这项检查,用户必须:
- 如下面的图二所示:在发生业务表格的摘要一栏中输入“#CheckBalance” 以及使用的货币单位及余额 (例如图二中的第9行所输入的: “#checkbalance CNY4500.00”)。在收入和支出等列中不要输入任何的数据,然后在账户列中要输入和图一中所示的,与要检查的银行账户等相同的账号。
- 点击报表(1)菜单中的检查账务命令,激活检查余额(#checkbalance)的选项。
- 当系统自动检查完毕后,如果出现了差额,系统会自动跳出一个信息窗口为您提示错误所在,如图三所示。
图一:
图二:
根据图三所示的信息,以及综合图一和图二所示,您就可以找到错误所在,从而进行纠正。
图三:
相同的文件不同的日期
在此项功能被激活后,程序会检查拥有同样文件编号的发生业务是否拥有同样的日期。在多行的发生业务中,文件编号和日期没有相对应的关系,程序不能正确的确定对方的关系。
账户
账户表结构
在此项功能被激活后,程序会检查账户表的结构是否正确。
汇率差额的存在
在此项功能被激活后,程序会检查是否有没有记录的汇率差存在。
初期余额和往年余额不同
在此项功能被激活后,程序会验证新年的初期余额是否与上年的末期余额相匹配。
个性化检查 (附加)
在此项功能被激活后,程序会运行检查被用户附加上的其它功能,为自定义做验证。
包括额外的检查和快捷方式 Shift + F9
在此项功能被激活后,通过按下 Shift+F9 键,程序将在对话框窗口中启动所有被激活的检查。否则只会做会计的重新核算 (Mac 版本: Shift + Cmd + 9)。
会计报表文件
外部报告的文件类型允许用户为了编制会计报表来定义分组,这个分组不同于账户表格中所提供的普通分组。
外部会计报告可以通过会计报表和生成资产负债表命令来执行。
如何创建外部会计报告
- 为了生成一份外部会计报告,有必要先创建一个会计以外的文件:请您依次选择文件菜单,新建,复式记账,会计报表
- 您可以选择预设的样本(外部会计报告)并根据您的需求来进行修改,您也可以选择一个新的空的文件
- 将文件保存在一个新名字下
如何在外部会计报告中创建结构
会计报告文件中包括了与被用于创建账户表格中的分组和总计相同的列。
按账户号码分组
在Banana 8.0 会计软件中(从Banana 7.0.5版本开始),一个可以基于账户号码的新的分组方式被运用。在该方法下,在外部会计报告的账户列,您可以输入想要恢复的主要会计和所需要的摘要的账户号码。
该方法不要求对主要会计做任何修改(在所属组1或所属组2的列中输入分组),并且可以在外部会计报告中输入相同的账号。这是自7.0.5版本开始的推荐方法。
当账户列被用在外部会计报告中时,本程序会自动应用该方法。
按组分组
该分组方法是基于外部会计报告的组列和主要会计中的所属组1列或所属组2列的。外部会计报告的组列将会被用于恢复主要会计的账户或是用来定义报表的汇总。使用该方法时,在组列中输入您希望恢复的主要会计账户的所属组1符号或所属组2符号,亦或是汇总报表的符号。
如果想要应用该方法,修改主要会计的所属组1列或所属组2列是必要的。此外,每个账户在外部会计报告中只能被恢复一次。
当外部会计报告的账户列未被使用时,本程序会自动应用该方法。
列
类列
该列被用来打印生成资产负债表。参见类。
组列
在此处输入分组编码(为了按组号分组)或是所需汇总的编码。
账户列
在此处输入账户编码(为了按账户号分组)。
摘要列
分组的摘要或是该行本身的摘要。
所属组列
所属组列被用于明确哪些汇总行已被累计。
汇总列
如果是单词“Yes”被输入,只有总行被显示,而不是该总行里的一部分账户被显示。
详情请参阅会计报表中的“只显示组汇总”。
保留列
通常情况下,包含账户余额的总行数会被包括在报表中。
如果您在该列中输入“Yes”,该行将会一直显示。该功能可以被应用于总计和账户中。
含发生额列
该行不仅是有余额的时候才显示,当此处有本期发生额时,也会被显示。该功能只可应用于总计中。
在账户表格中输入外部会计报告组
只有当按组分组的方法需要被应用时,该操作才是必要的。
缺少该操作的账户将不会被包括在报表中。
计算外部报表
为了获取外部会计报告,从账户(1)菜单中选择会计报表命令,在出现的对话窗口中选择外部会计报告选项。
账户(1)命令结果- 按组生成资产负债表
您也可以得到一个格式化的打印会计报表,使用账户(1)-按组生成资产负债表命令来进行格式化。
文件表格
如下图所示,在您打开会计文件之后,点击工具栏菜单中添加新功能命令中的添加表格文件,系统内就会自动添加一个新的文件表格。如果您想删除该表格文件,请您同样点击工具栏菜单中添加新功能命令中的删除表格文件对其进行删除。
此文件表格允许您把文本,图片,或编程用的代码(脚本)附加到您的会计文件中。
如果您点击报表(1)菜单中的生成资产负债表/损益表的命令,如下图所示,在跳出窗口内的附件标签内选择添加您所需的文件类型,在点击确定后,软件会自动进行添加。
在下图所示的文件表格内,拥有下面的列:
- 识别号码列
此列指的是文件的名称。
以 "_" 符号开头的文件有着特殊含义。- 例如 "_预算.js"
您输入为预算而创建的特定功能。
- 例如 "_预算.js"
- 摘要列
文件的摘要。 - 附件列
在此会显示出内容的摘要。
如下图所示,如果您点击附件所在的单元格,您可以添加,编辑相对应的内容。
在打印的发票中添加商标
如果在打印发票的时候您希望加入您的商标,那么首先请您在文件表格中添加新的行。如下图所示,在识别号码列内写入“商标”,然后双击所在的附件单元格,在跳出的窗口内选择“图像”,在点击确定之后,从您的电脑内选择想要添加的图片。在您打印发票的时候,可以使用一些可用的风格(例如风格5或6)来呈现您的商标。
HTML 编辑器
添加 ${...} 字段
${...} 字段允许用户向文件添加动态文本,例如账户的余额。您可以在下面的这个链接中查看 Banana API 的界面: https://www.banana.ch/doc8/en/node/4714
打印当前账户余额 1020
${Banana.Converter.toLocaleNumberFormat(Banana.document.currentBalance('1020','','').balance);}
帐户表的输出,列:帐户,组,摘要,余额(命令尚未提供)
${HTML Banana.document.table("Accounts").toHtml(['Account','Group','Description','Balance'],true);}
可以在单独的文档中编写JavaScript代码,并通过Banana.include的命令来包含脚本。
脚本可以保存在文件表格或本地文件中。
${Banana.include("documents:myscript1");rtnValue} ${Banana.include("c://temp//myscript16.js");rtnValue}
添加分页符
该命令可以手动添加或通过命令"编辑 - 添加分页符(Edit - Add page break )"来添加。
Text in the first page
${PAGEBREAK}
Text in the second page
命令 ${PAGEBREAK} 尚不可用, 当前添加分页符的命令是:
<!--pagebreak-->
Aggiungi funzionalità contabilità
Aggiungi colonne Indirizzi nella tabella Conti
Per i file di contabilità.
Questa funzione permette di aggiungere, nella tabella conti, le colonne che servono per inserire gli indirizzi dei clienti, dei fornitori, dei soci o altro.
Il programma aggiunge nella tabella conti:
- la vista Indirizzi dove sono visibili le colonne aggiunte.
- Le colonne che permettono di inserire i dati dell'indirizzo e altre informazioni.
- Per rendere visibili una o più di queste colonne anche nelle altre viste usare il comando Disponi colonne del menu Dati.
- Per creare altre viste con delle colonne specifiche, usare il comando Disponi Viste.
Aggiungi tabella preventivo
Per i file di contabilità.
Questa funzione aggiunge la tabella Preventivo dove si possono inserire le registrazioni che riguardano il preventivo.
Il programma aggiunge:
- La tabella preventivo, riprendendo i valori di preventivo indicati nella tabella conti (se esistono)
- Blocca la colonna preventivo nella tabella conti
I valori di questa colonna saranno calcolati in base alle registrazioni di preventivo e come periodo, quello definito nei dati base contabilità.
Maggiori informazioni sono disponibili alla pagina Preventivo.
Modifica colonna tipo importo IVA nelle registrazioni
Per i file di contabilità, con IVA.
Questa funzione permette di rendere modificabile la colonna Tipo imp. (Tipo importo IVA) nella tabella Registrazioni.
La colonna permette di inserire per ogni registrazione, quando occorre, uno dei seguenti tipi di importo IVA:
0 (o cella vuota), si intende IVA inclusa
1 = IVA esclusa, si intende IVA esclusa
2 = importo IVA, l'importo della registrazione è considerato importo IVA al 100 %
Per ogni registrazione, il programma immette in automatico nella colonna Tipo importo i dati predefiniti della tabella Codici IVA (per ogni codice). Se eccezionalmente, per un codice IVA cambia il tipo di importo, è possibile inserire manualmente 1 o 2.
Nota
Utilizzando questa funzionalità ci sono delle incompatibilità dei dati IVA con le versioni precedenti che non avevano questa funzionalità.
实用程序
实用程序允许您创建以下的文件类型:
- 地址簿: 用于地址和标签管理
- 文库与收藏: 对于书籍或其它物品的管理 (例如: 艺术收藏, 珠宝, ...)
- 简单表格: 用户可以创建一个客制化的表格
- 资产登记: 用户可以管理可折旧资产 (此功能仅在实验版本中)
附加功能
当与这些应用程序一起使用时,下面的命令特别有用:
- 提取和排序行
为了能够创建已存在数据的列表。 - 打印标签
为了打印地址或项目标签。 - 添加新的功能
- 新表格文件 (瑞士资产负债表附件...)
- 新的简单表格
- 应用程序菜单
为了创建客制化的报表,计算以及其它的。
表格之间的链接
通过标识字段,您可以创建一个表格字段到另一个表格字段之间的链接。
例如:
- 添加一个名为"项目"的简单表格
- 在标识列指示出项目的标志,在摘要列输入对其的解释。
- 在另外的简单表格中,添加下面的文本列:
- 项目标识 (表格名称+"标识"):当您在修改模式时,可供选择的项目列表将被显示。
- 项目摘要 (表格名称+"摘要")
列必须被保护。
当您改变项目标识内容的时候,摘要的文本将被展示。
- 当您添加列的时候,用检查账务或关闭然后再打开文件的操作来激活链接。
地址簿
这是一个用于管理数据列表和打印标签的应用程序。
特性:
- 自由定义字段区
- 仅打印所选行的可能性
- 自由设定标签格式
- 从其它程序自由复制/粘贴地址 (Excel 和 Word)
在地址簿中有三个表格:
- 总组
- 联系人
- 日记
总组
在总组表格中,您可以定义每一行的内容,您可以在识别号码列填入每一个总组的识别号码,然后在相应的摘要列填入相应的摘要文字 (例如: KH - 客户, GYS - 供应商, TS - 同事, 等等。)
联系人
在联系人的表格中可以把地址填入相对应的列中。
列
此表格中有不同的列。列的大部分是看不见的。 使用列设置是为了:
- 显示列
- 改变显示列的顺序
- 添加其它的列
- 识别号码是联系人的号码。
这是必要的如果您想要连接到日记中的联系人,连接到贷款或到另一个表格的时候。
当在对应列中的时候使用F6键,会有自动连续编号。 - 称谓: 您可以输入"女士", "先生", 等等。
- 家庭或公司的名字 (如果涉及到公司)。
如果联系人是一个公司的联系人,那么您可以输入联系人所属的公司或实体组织中的列。
当您在名或姓的列上按F6键的时候,程序会分离或反转名和姓。
如果名字多于两个,此功能将不能区分哪个是名,哪个是姓。 - 信的开头: 是一封信开头的问候语。这被用于与邮件的融合。
例如: 尊敬的王先生或者亲爱的宋女士。
程序根据已经输入在列中的内容向您建议可能的文本。
视图
存在着可用的不同视图,每一个视图通过特定列的存在来区别自己和其它的视图; 在下面的例子中 (地址簿文件), 我们有基本,姓名,地址2,存档和完整的视图。在完整的视图中,您可以看到所有的列。
日记
在日记表格中,您可以记录所有类型的笔记,日复一日,并且参照已输入的联系人。
与谷歌同步数据
与谷歌联系人一起管理您个人的地址簿。
在点击了实用程序(1)菜单中的与谷歌同步(下载)命令之后,会出现一个对话框,该对话框指的是被整合入Banana的Chrome浏览器要求登入您的谷歌账号。
- 输入您的电子邮件地址,以及您个人的谷歌账号的密码。
- Banana会计软件仅保存与谷歌账户相对应的电子邮件。
该会话的数据和密码不会被保存在Banana软件中, 它们会被谷歌chrome所管理。
下载
此功能把联系人数据从谷歌带到Banana软件中, 或者更新Banana的联系人。
- 在总组的表格中,出现在谷歌中的总组会被恢复。
- 在表格中已经有数据的情况下,程序会合并不同的数据。
发送
把修改后的数据发送到谷歌,或者更新谷歌的联系人。
- 如果在"谷歌不同步"列中出现了"确定(Yes)"的指示,那么意味着联系人并没有和谷歌同步。
- 为了能够发送数据,必须要提早下载它们。
如果您在手机上编辑了数据,那么您需要首先下载这些数据,然后再使用发送键。
参考
有关连接的技术细节,请参阅谷歌Api文件。
- https://developers.google.com/google-apps/contacts/v3/
- https://developers.google.com/gdata/docs/2.0/elements#gdReference
打印地址/标签
关于打印地址/标签的信息可以在以下网页上被找到: 打印标签。
文库与收藏
如何使用
使用文库与收藏的表格可以管理图书的列表,项目和联系人,以及可以检查及控制要返还的书籍。
请您参考 Banana 图书馆关于功能,使用方法和下载已准备使用的模型的解释。
总组和联系人
对于这些表格,请您参照地址簿页面的解释。
- 在联系人表格中,输入检查图书或其它物品的联系人地址。
每个联系人都需要拥有自己的识别号码。 - 在总组中,输入与联系人相关的各种组。
项目
可以在此表格内输入不同的项目: 它们指的可以是有价值的物体,书籍或者其它的项目。
如果指的是书籍,那么关于书籍的任何数据都可以被输入,包括借出的日期和归还的日期。
列
已经存在各种各样的列,也可以添加新列。
- 识别号码: 必须标注的项目编号。
使用F6键可以自动延续项目的编号。
也可以使用一个前缀。例如: A-001, 在此之后的编号您可以使用 A-002。 - 国际标准书号
ISBN是国际标准图书编号。
当您在项目表格中的国际标准书号一列中输入国际标准图书编号后,如果您的电脑已经连接了网联网,使用 F6 键,结合谷歌在线的图书数据库资源,程序会自动的完成对其它列信息的填写。
任何已经存在的信息都将被覆盖。
欲想了解更多的信息,请您查阅: Google documentation。- 在谷歌数据库中的数据并不总是完整的。例如,标题可能存在,但编辑器或其它数据可能会丢失。
- 在这方面,如果您想验证一个缺失的数据,请您在浏览器中输入此链接: https://www.googleapis.com/books/v1/volumes?q=9781906042509, 在最后输入“q=该本书的国际标准图书编号”。 如果您看到“totalItems:0”,则表示该书不在Google的数据库中
如果您看到JSon格式的页面(程序员格式)与本书的数据,则表示该书籍位于Google的数据库中。
- 标题
指的是作品的标题。 - 作者
您可以输入多名作者的名字,只需使用分号 “;” 将其分开。 - 出版商
您可以输入多个出版商的名字,只需使用分号 “;” 将其分开。 - 返回日期
该项目的预计返回日期。
本列将根据已签出的项目自动完成。
借贷
可以在此表格中输入借出的项目,过期日期和返还日期。
- 日期
借出的日期。 - 物品标识
项目的编号。可以根据标题进行搜索。 - 联系标识
联系人的标识号码。可以根据名称、姓氏、地址进行搜索。 - 过期日
该项目的预计返回日期。
例如: 您在单元格内输入了"+30/20/10/5...", 那么程序会自动计算30/20/10/5...天后的日期, 您可以根据需要随意输入相应的数字。 - 返回日期
输入项目返回的日期。
日记
在这些表格中,您可以输入各式各样的(每日)笔记信息,还可以将其链接到一个特定的联系人。
返回项目命令
使用此命令来指示出返还的项目 (实用程序(1)菜单, 返回项目命令)。
- 在此列表中所显示的物品是在借出列表中所指示的已借出,但过了过期日还没有返还的物品。
- 在物品标识的单元格中,标识码也可以另外一种搜索关键词的方式被输入 (例如用户名,书名,等等)。根据所输入的搜索关键词,程序指示出没有归还日期的物品列表。
- 当标识对应一个项目标号的时候: 在联系人表格中的联系人名称将与其借出的所有物品联系在一起。当您点击物品标识前小方框的时候,该项将被选择。
对物品的返还
- 检查返回的项目
- 使用如上图所示的应用键,程序会更新被返还物品的列表,并且在借贷表格中输入返还的日期。
在完成图书归还程序后关闭窗口。
也可以在借贷表格中直接输入或删除返回日期。
Print library labels
Label printing
You can print two different types of labels:
- small labels (containing the book code) for use on the spine of the book, so that they are visible on the bookshelves
- larger labels are used on the inside of the cover, maybe mentioning that the book has to be returned at a specified date
Labels can be printed either on the basis of the Banana file, where you have registered all the books in the library, or from an empty file in case you wish to print a list with codes, that you will then assign to the books.
Printing labels for the spine of the book
You can choose the format that best suites your needs by consulting the websites of label producers (for example A4 sheets, 25,4 mm x 10 mm - Herma 10001 or Herma 4333 models).
In order to print the labels, you can open a new blank file in Banana, containing no data (File menu -> New), but, as stated, you may wish to start from an existing file in your library.
There is a useful Excel function to generate a large amount of codes in a speedy manner, rather than entering them manually or than using F6 key. Here is how you do it:
Open a new Excel file; in cell A1 entere the library code that suited your purpose (any combination of letters and numbers will do) - for example B-1000.
Choose the bottom right angle of your cell with your mouse (the point will now be a cross), and, while holding down the right click, drag down along the column; Excel will automatically generate autoprogressive numbers.
Now copy (Ctrl + C keys) the codes that have been generated into Banana's Items table, in the Id column (Ctrl + V keys).
You can now create the label.
Chose the Labels -> Print command from the Apps menu. This window will be shown:
It is important to have the Items table selected as the source for Data; now you can define your label by pressing the Change... key in the Labels format section.
In the window now shown, entere the margins and other characteristics of your chosen label, Herma 10001 in this case.
Before hitting the OK key, opene the Composition tab, where you can assign a name to your custom settings (so they can be used in the future). In this case it's Book codes (Spine).
Hitting the OK key will now return you to the Print labels window.
Enter the Label tab to do so.
In the example, the label only needs to indicate the book's code, i.e. the RowId column.
You can therefore select the RowId line in the available list and press the Add Field button.
RowId will show in View labels.
Pressing the OK button will generate a preview of your label.
You may now print using your Herma sheets.
Printing labels for the inside cover
Choose your label format. In the example a 70x36mm (Herma 4630 or Avery 3490) format hase been chosen. The steps to follow are identical to the previous example::
- First, choose the Labels -> Print command from the Apps menu
- Click Change in the Labels format section
- Enter the margins for your new label in Labels format window.
- Before hitting the OK key, open the Composition tab, where you can assign a name for your new custom settings (Inside Cover label, for example), than hit OK.
- Select Label in the Print label section to add the content of your label.
You may enter text, other than the available fields, as well.
Pressing the OK button will generate a preview of your label.
Note:
The models available in Banana already include the two mentioned label formats: label for the spine of the book and label for the inside of the cover.
Related features:
Management of yearly membership fees
If you run a library requiring an annual membership fee, or if fees are charged for the loan of individual books, it is useful to use the accounting functions of Banana Accounting.
Please check our page Accounting templates.
简单表格
此表格可以根据用户的需求而设定。通过数据菜单中的列设置和表格设置的命令,您可以添加列和视图,以及给予它们最合适的标题。
可折旧资产登记
目前只存在于实验版本中。 此功能仍处于开发阶段。
此功能允许您管理可折旧资产,并在期间结束时自动创建折旧业务。 其拥有以下的表格:
- 项目表格
在此处您可以列出可折旧资产和折旧参数。 - 发生业务表格
在此处您可以输入折旧业务以及购买评估。 - 摊销类型表格
指示各种折旧类型。 - 发生业务类型表格
指示各种业务类型。
软件的逻辑
在项目表格中输入含有全部必要参数的所有可折旧资产,以便程序计算折旧。
程序使用以下的值:
- 历史值(购买价值+/-评估)
- 会计值(历史价值+/-因折旧而修正)
- 财务值(会计值+/-财务修正值)
在发生业务表格中,根据不同值进行相关的输入操作,然后更新项目表格的值。
实用程序(1)菜单
创建摊销行
其需要一个日期。
如果您使用此命令,程序将根据先前在项目表格中输入的项目参数自动创建每月或每年的折旧业务。
如果没有输入项目的折旧参数类型,百分比,账户或者抵销帐户, 但是它们已被输入到了该项目所属的组,那么软件将使用组的参数来创建折旧业务。
显示日记账
其显示所有操作的变化累积值。
显示项目报告
项目表格
您可以输入折旧资产及其组的地方。
此表格包含了一些列 (不是全部可见 - 要使其可见,请使用数据菜单中的列设置命令)。标有星号(*)的列是受保护的列,按程序计算:
- 总组
如果存在值,则表示该行是一个组。 - 识别号码
物品编号。 - 摘要
物品摘要。 - 总组中
该行所属的组。其必须是在总组列中显示的值。 - 账户
在会计文件中考虑该物品的账户。
这个账户也可以是一个组。 - 起始日期
物品购买日期(或在会计文件中输入项目的日期) - 文件日期
物品采购日期文件。 - 初始值
购买价值。 - 购买变动*
在发生业务中所指示出的购买价值,或为正或为负。 - 购买价*
初始值加购买变化。 - 历史变动*
发生业务中指出的历史变动(重估或减值)的正值或负值。 - 历史价*
购买价值加上历史变化。 - 账面变化*
发生业务中指出的正或负会计值(折旧或折旧注销)。 - 账面价值*
历史价值加上账面变化。 - 财政变化*
在发生业务中显示的财政调整的正值或负值。 - 财政价值*
账面价值加上财政调整。 - 剩余价值
要指示一个可能的最小剩余价值。
如果剩余价值等于或大于账面价值,则不再创建折旧行。 - 估计值
可能的物品估计值。 - 摊销类型标识
折旧类型适用于该项目。
也可以为组指定折旧类型。 - 摊销比例
折旧百分比。
折扣百分比也可以指示该组。 - 摊销金额
可能的折旧金额,如果折旧未指定百分比。 - 摊销比例 2
应用于该物品的附加折旧百分比。折旧类型也可以针对组指定。 - 摊销月第一年
在第一年中物品需要被折旧的月数。 - 抵销账户
应登记折旧的账户。
也可为组指示抵销账户。 - 序列号
物品的序列号。 - 保修日期
保修期满日期。 - 保险价值
该物品或组说保险的价值。 - 保险名称
保险公司的名称。 - 保险号码
保险单号。 - 保险到期
保险期限到期日。 - 保险取消
有必要合法的通知保险的日期,以确保险单不会自动更新。 - 存档日期及存档备注
如果您需要归档物品,您可能会使用的列。
发生业务表格
此表格用来输入物品的变动,其拥有下面的列:
- 日期
操作的日期。 - 发生业务类型标识
发生业务类型, 就如同在发生业务类型表格中的一样。 - 发生业务类型摘要*
显示表格摘要。 - 物品标识
物品的标识。 - 物品摘要*
从项目表格中恢复物品的摘要。 - 备注
有关发生业务的附加说明。 - 购买变动
- 历史变动
物品 (+/-) 变动与物品重估相比较或写下。 - 账面变化
物品 (+/-) 变化值与账面变化相比。
这特别用于负贬值。 - 财政变化
这是财政变动金额。 - 摊销类型标识
折旧类型代码如在表个中所示。 - 摊销类型摘要
折旧代码摘要。 - 摊销比例
折旧百分比。 - 账户
必须登记操作的资产账户。 - 抵销账户
必须登记操作的抵销账户(例如折旧账户)。 - 存档日期及存档备注
摊销类型表格
- 识别号码
折旧代码。
这些代码是固定的,不应该被修改。- 00 无折旧。不会产生折旧。
- 01 一次全额折旧。 该物品一次完全折旧。
- 02 指示的金额。 折旧根据输入的金额计算。
- 10 基于史价值。 折旧以历史价值的百分比计算。
- 11 基于账面价值。 折旧按账面价值计算。
- 摘要
代码说明。
发生业务类型表格
- 识别号码
发生业务类型代码。
这些代码是固定的,不应该被修改。
如果您更改了识别号码,那么程序将无法正常工作。- 01 初始值。 用于输入初始值,而不是在项目表格中输入初始值。
- 11 购买或生产。
- 15 销售或减值。
- 21 重估
- 25 货币贬值
- 31 反向折旧
- 35 折旧
- 36 附加折旧
- 41 财政价值上涨
- 45 财政价值下降
- 摘要
代码说明。
实用程序(1)菜单
实用程序(1)菜单内包含有实用应用程序特定的各样命令。
在所有实用应用程序中一般命令的解释如下。
关于其它的命令,特别是地址簿和文库与收藏这两个命令,在其相对应的页面文件中有详细的解释。
全部重新检查...
检查全部,并且在出现错误的时候出现警告信息。
按名称排序联系人
按照名、姓、中间名、地点的顺序对联系人表格的行进行排序。
存档数据菜单
程序有一个每个表格被存档的行的列表。
被存档的行会被显示在被存档行的表格中。选择需要被显示的行。
存档数据
把表格内的行 (联系人,项目,贷款,日记) 移动到存档数据表格中,在那里:
- 存档数据列不为空。
- 对于贷款表格,里面应该有到期日和返回日期 (一个 "封闭式" 贷款)
表格的列表会被显示。在这个列表中所显示表格内的行是可以被存档的。
如果没有表格内的行可以被存档,那么选择将为空的。
显示存档数据
显示特定表格已存档行的列表。
Questions and answers
Before contacting us, please verify if your question is one of the following:
- Is Banana Accounting 8 compatible with Apple macOS 10.12 "Sierra"?
Yes, the program is compatible from on version 8.0.4
- Is Banana Accounting 8 available for iOS?
At the moment, there is no Banana Accounting version available for iOS, but we are planning to release one in the future.
- Is Banana Accounting available for Android?
Yes, Banana for Android is available from on version 8.00.4. More information can be found on the Android page.
- How many mandates can be managed with Banana Accounting?
Banana Accounting has no limits on mandates. You can manage an unlimited number of mandates.
- I installed Banana Accounting 8 and the accounting file opens in the preceding version. What can I do?
Please follow the procedure on the page Associate .ac2 files with the most recent Banana version.
- When the Banana 8 Starter Edition is being installed, the Banana 8 icons become Banana 7. What can be done?
Open the Banana 8 files and in the Tools menu, Program Options, click on the button "Associate *.ac2 files to the program".
- Is there a multi-license version?
If your company needs several licenses, we can provide you with one single license key, just give us a call or contact us by email.
Discount of 10% when purchasing 20 or more licenses. For other quantities, please consult our price list.
- Transferring from one Operating System to another.
Besides the Windows version, Banana Accounting 8 exists also in a native version for Mac and Linux. Each version has its own license; therefore, Banana Accounting 8 cannot be installed on different Operating Systems with one single license key. Those who already have one or another Banana version, can buy version 8 for Windows, Mac and Linux at the upgrade price. As an alternative you can download and use for free the Banana Experimental and then purchase the full license of Banana Accounting 9.
- Is the Cash book free in version 8?
The Cash book is not free in version 8. It is included in the complete version that is for sale.
- How to convert from one accounting type unto another (for example, from an accounting without VAT to one with VAT)
It is possible to go from one type of accounting to another with the Convert to new file command from the Tools menu. The program creates a new file that should be saved under a new name. It maintains all the data that have already been entered and adds (or eliminates) the columns that are specific to the new accounting type.
- Does Banana Accounting manage the inventory?
Currently there are no modules to manage the inventory.
- Does Banana Accounting generate invoices?
From Banana Experimental, it is possible to manage the invoicing. However, some functions are still in a test phase.
- Banana Accounting needs to be reinstalled, but I can’t find my license key…
In case you still have access to the software, click on the Help menu-> Manage license keys and send us the registration code by email, with a request to receive your own license key once more. This is a service for which you will be charged.
- What should I do with my own data files when I update Banana Accounting?
Nothing: your data files are automatically updated when opened with a new version.
- Banana 8 and incompatible exchange rates from previous versions
When the basic currency is entered as the reference currency, the exchange rates with a multiplier greater than 1 can present calculation differences between Banana 8 and the previous versions.
To solve the problem, please consult our page Incompatible exchange rates from previous versions.
- Is it possible to import data from other accounting software?
Yes, just follow the instructions on this internet page: Transferring data from other accounting software.
- Can I install Banana Accounting on my laptop or on a second computer?
Installation on a laptop or on a second computer (with the same license key) is allowed as long as both computers belong to the same owner.
- Can I purchase with a credit card?
Yes it is possible to buy with a credit card. In order to buy from Switzerland, please connect to the page Purchase from Switzerland.
In order to buy from abroad with a credit card, please connect to the page Purchase from other nations.
- In the printout of the Enhanced Balance sheet by groups, the expenses and revenue have the minus sign in front of the amount. Why?
In the Accounts table, check the BClass column; the numbers should be as follows: 1 for the Assets, 2 for the Liabilities, 3 for the Expenses and 4 for the Revenue. Also, check the Section column: there should be 1 in the row of the Assets title, 2 for the Liabilities, 3 for the Expenses and 4 for the Revenue, 01 for the Clients register, 02 for the Suppliers register, 03 for the Cost centers and 04 for the Profit centers.
- Password recovery
If you are not able to remember the password anymore, our technicians can recover it for you, so that you will have access to your file. Please send us your support request by email, with the file attached to it. Very soon you will receive an email with your password. Password recovery is a paid service.
- I get an error message. What now?
By clicking on thesymbol next to the error message (in the Info or Messages window) you will be directly connected to the online page explaining the error message and suggesting possible causes and solutions.
If you still need assistance, you can contact us with our Contact form or phone +41 (0)91 210 49 37.
View Data
Banana Accounting 8 Software allows for reading and appropriate displaying of multiple file formats.
View CSV File
When opening, or dragging and dropping a file of the CSV or JCSV type in the Banana window, Banana will automatically create a simple Table type file, resuming the columns and data contained in the CSV table.
银行对账单 SEPA/ISO 20022
Banana会计软件允许用户查看和导入ISO20022 和 MT940文件的内容,即使在Banana会计软件的免费版本(精简版)中也一样。
显示ISO 20022或MT940银行对账单
为了能够打开和查看该文件:
-
把您的银行对账单下载到ISO 20022的格式中如果它是一个压缩文件,提取时使用其自身实用程序显示的XML文件 (p.es. 7zip)
- 安装并打开Banana会计软件
- 把该文件拖入Banana会计软件: Banana软件程序会立刻显示出拥有文本和日期,金额和渐进余额的所有条目
- 银行对账单的日期可以被打印或复制入Excel或其它的程序
在下面的图片中,您可以看到示例文件是如何被显示的。
附加指示
-
ISO 20022文件中的初期余额被输入在账户表格中。
- 使用鼠标可以调整列的宽度。
-
将几行摘要的文本对其,使用格式命令->计算所有行的高度。
-
对移动分类,并得到陈述,在科目表中输入合适的科目,并且通过列设置命令在发生业务表格中显示科目列。或者,通过现有的样本和科目,以及已经设定好的账户来创建一个新的文件,然后按照在下一段中所解释的情况来导入银行对账单的数据。
-
在免费的精简版本中,超过70笔业务的文件不能被保存。
当前会计中的数据导入
按照导入到套账命令所指示的进行。
通过该功能,压缩文件也可以被打开。在这种情况下,程序将提示用户从文件中选择数据,然后导入到该压缩文件中。
银行对账单的 ISO 20022 标准
通过SEPA(单一欧元支付区), 自2014年1月1日起,ISO 20022标准已在欧洲强制执行,并且迅速取代MT940格式。
关于转换ISO 20022的技术说明
当Banana会计软件读取文件的时候,其试图适应ISO 20022文件已经被预先安排好的方式。
- 读取初期余额相似的编码
- 读取期末余额相似的编码
-
所有的内容都被读取并且在移动中被处理
- 发生业务日期 (日期)
- 货币日期
- 发生业务金额 (正或负)
- 摘要 (目前Banana会计软件把各种摘要整合成一个单一文本)
将来更具体的提取该信息,并且指示出需要被输入的列是可能的。
如果有具体的或国家的要求,为了能够提高转换和导入功能,请您通知我们。
- 创建一个新的现金日记账文件
-
把所有银行对账单的发生业务添加到该文件中
-
与在银行对账单中找到的初期余额数值一起定义初期余额 (账户表)
- 用在文件中找到的文本定义文件标题以及定义IBAN账户号
- 用在ISO 20022文件中找到的相关信息定义货币
- 计算渐进余额
为技术及开发人员准备的信息
Banana 应用程序
具体信息请您参照英文页面的信息,并且我们一直都有在更新。
App File
Javascript compliant script
BananaApps are essentially Javascript compliant script files ( ECMA-262). People knowing Javascript can easily write BananaApps.
A BananaApp file contains the following two sections:
- Apps's attributes
The apps's attributes give information about the script, like it purpose, description and so on.
They are inserted at the beginning of the file through tags in comment's lines.
- The exec() function
The function exec() is the function that is called every time a BananaApps is executed.
It has one argument, the requested input data as a string or a Banana.Document object.
It return the result as a string.
The format of the returned string match the format defined by the tag @outputformat. Errors are notified through exceptions (clause throw), or just by returning a string beginning with "@Error:"
For a list of supported javascript functions, objects and properties see: Qt ECMAScript Reference.
BananaApps interact with Banana Accounting through some global objects made available by Banana Accounting, like for example 'Banana.document'. Those objects are described under the Banana Script API.
BananaApp "Hello World" example
Here an example that open a print preview windows, and show a document with the text "Hello world!!!". Other examples are found in the BananaApps tutorial.
// @id = ch.banana.report.helloworld // @version = 1.0 // @doctype = nodocument // @publisher = Banana.ch SA // @description = Account balance for all days in a month // @task = app.command // @timeout = -1 function exec() { //Create the report var report =Banana.Report.newReport('Report title'); //Add a paragraph with some text report.addParagraph('Hello World!!!'); //Preview the report var stylesheet = Banana.Report.newStyleSheet(); Banana.Report.preview(report, stylesheet); }
BananaApps have a strong Security model
BananaApps are secure for the fact that are confined within Banana.
BananaApps are NOT ALLOWED to directly write or read file, web resource, change computer setting or execute programs.
BananaApps, contrary to Excel Macro, can be run with the confidence, they will not change any data and modify any file or computer settings.
To accesso or write to file you need to use the Banana Api that display a dialog box to the user.
- To write file you need to use the export functionality, that display a dialog where the user indicate the file name where to save.
- To import file you need to use the import functionality that display a dialog where the user specify the file name.
BananaApps file extention '.sbaa'
Since Banana Experimental 8.0.4.170127 the extention for BananaApps is '.sbaa'.
A .sbaa file can be either a text file containing java script code or a packaged qt resource file. The application determine automatically the type of the file. When Banana load a packaged .sbaa file, a file that can contains several apps, it look for all .js files contained in the package that have an attribute section. Those files are readen and a corresponding entry is inserted in the Apps menu.
Note: for previous versions than 8.0.4.170127 the extentions were .js for single file apps and .rcc for packaged apps.
BananaApps as a single javascript file
The script is all included in a file.
- BananaApp are saved in in UTF-8 file without BOOM.
- Prior to run the BananaApp you need to install it through the Manage Apps command or by drag and drop.
BananaApps as packaged file
It is possible to package one or more apps composed by one or more files (.js, .qml and other files) in one single .sbaa BananaApp file. This is very practical for distributing Apps composed by two or more files, or packages with two or mores BananaApps.
When Banana load a packaged .sbaa file, it look for all .js files contained in the package that have an attribute section. Those files are readen and a corresponding entry is inserted in the menu Apps.
Files in packages can include other files in the same package using the directive '@includejs' or the method 'Banana.include(fileName)'. It is not possibile to include files outside the package.
// Include a script via @includejs attribute // @includejs = somescript.js" // Include a script via Banana.include() method Banana.include(somescript.js);
To create a packaged file edit a .qrc file and open it in Banana via the File Open command or drag and drop. The application will compile the qrc file and create a corresponding single .sbaa file.
It is also possibile to create package files with the 'rcc' tool from the Qt Resource system.
- Install the Qt Sdk
- Create a .qrc file with the list of the files to be included
Example: ch.banana.script.report.jaml.qrc
<!DOCTYPE RCC><RCC version="1.0"> <qresource> <file>ch.banana.script.report.jaml.js</file> <file>lib/jaml-all.js</file> </qresource> </RCC>
- Compile the .qrc file
rcc -binary ch.banana.script.report.jaml.qrc -o ch.banana.script.report.jaml.rcc
Install BananaApps
Banana App can be installed with the Manage Apps command or by drag and drop in Banana windows.
Embedded BananaApps in documents
In the table Documents you can add script file.
On the BananaApps tutorial you will find different basic examples embedded in a document that you can run and edit.
Best way to distribute the App
- Single App file (Script file)
- Easier to edit, move and update.
- Can be included in the menu Apps
- Can be used by different accounting file
- Embedded apps
- Not available in the menu Apps
- Only relative to the file where it is included.
- More difficult to update
- Packaged App file
- Same as Script file but cannot be easily changed
- Protected from user modification
Apps Attributes
At the beginning at the script there should be a part that define the Apps Attribute.
// @api = 1.0 // @id = ch.banana.apps.example.docfilepath // @description = Hello world // @task = app.command // @doctype = nodocument // @publisher = Banana.ch SA // @pubdate = 2015-05-12 // @inputdatasource = none // @timeout = -1
The attribute is a commented text line
- Sart with //
- Followed by the attribute that start with @
- Fossowed by the " = " and the value
Tags defines the purpose (import, export, extract, ...), the name displayed in the dialogs, the kind of data it expect to receive, the kind of data it returns, and other information of the script. Tags are inserted at the beginning of the script in comment's lines though the following syntax: "// @tag-name = tag-value".
Attribute list
Attribute name | Required |
Value 1) |
Description |
@api | Yes |
The required API version. Available API versions: |
Define the required API to be executed in the form of MAIN_VERSION.SUB_VERSION The implemented API in the application have to be equal or newer. |
@description[.lang] | Yes | The name or description of the script |
This text will be displayed in the dialogs. This tag is localisable. |
@docproperties | any text | Define a property the script is writen for. With this attribute you can manually select for what document the script is visbile in the menu Add-ons and can be run. The property can be added to the document though the dialog Add-Ons. The property can be any text (ex.: "datev", "realestate", ...). Mulitple properties can be defined wiht a ';' as separator (ex.: "datev;skr03"). |
|
@doctype | Yes | nodocument * XXX.* XXX.YYY !XXX.YYY ... |
Define the type of document the script is writen for. nodocument = doesn't require an open document, the add-on is always visible The sign ! is used to invert the definition. The above codes can be combined togheter like the following examples: 100.130 = for double entries with VAT and with foreign currencies100.120;100.130 = for double entry with foreign currencies 100.*;110.*;130.* = for all accounting files !130.* = for any filesexcept cash books |
@exportfilename | A string defining the name of the file where to export the data. | If the string contains the text <Date>, it will be replaced by the current date in the format of yyyyMMdd-hhmm. | |
@exportfiletype |
A string defining the type of data exported txt... |
This parameter is used for export scripts, it defines the type of exported data and it is used for the extension in the save file dialog. | |
@id | Yes | An identification of the script | It is used when setting and reading the preferences. In order to avoid duplicate banana.ch use the following scheme. country.developper.app.domain.name for example: ch.banana.app.patriziato.consuntivopersubtotali |
@includejs | Relative path to a javascript .js file to load before the execution of the script. | Include the javascript file. Every function and object defined in the file are then available to the current script. | |
@inputdatasource | One of the following values: none openfiledialog fixedfilepath 2) |
With this attribute you can specify if you don't need to input data, if you want the user to select a file to import (openfiledialog), or if you want to get a file which path is defined in @inputfilepath. If you set fixedfilepath the program will ask the user the permission to open this file, the user's answer will be saved for the next execution. | |
@inputencoding |
The encoding of the input data. One of the following values: |
The encoding used to read the input file (for import apps). If the attribute is empty or not defined, the application try to decode the input data with utf-8, if it fails, the application decode the input data with latin1. For a complete list see QTextCodec |
|
@inputfilefilter[.lang] |
The file filter for the open file dialog Ex.: Text files (*.txt *.csv);;All files (*.*) |
This value describes the file filters you want to show in the input file dialog. If you need multiple filters, separate them with ';;' for instance. This tag is localizable. |
|
@inputfilepath | The file to read for the input data | If the script has the value fixedfilepath as @inputdatasource, you can define here the path of the file to load. | |
@inputformat | One of the following values: text ac2 |
If "text" the filter receive the selected file in inData as a text. If "ac2" the filter receive the selected file in inData as a Banana.Document object. | |
@outputencoding |
The encoding of the input data. One of the following values: |
The encoding used to write the output file (for export apps). For a complete list see QTextCodec |
|
@outputformat | One of the follwing values: tablewithheaders transactions.simple |
If the script has an import tasks this value define the format of the returned value. The format transaction.simple contains the transaction as income / expenses. For details of the formats see Import data from a txt file. | |
@pubdate | Yes | The publication date in the format YYYY-MM-DD | This publication date is also used for scripts published by Banana.ch to check if newer version exist. |
@publisher | The publisher of the script | ||
@task | Yes |
One of following values: |
This value define the purpouse of the script, and determine in which dialog or menu the script is visible.
|
@timeout | The timeout for the script in milliseconds, default is 2000 (2 seconds). If you set -1 the timeout is disabled and the application allow you to abort it though a progress bar. | If the script takes longer than this value to finish, it will be aborted and a message showed. If you have a script with a very long run time, you can increase the timeout or set it to -1. |
1) Default values are listed in bold.
2) Function not yet available
Example:
// @api = 1.0 // @id = ch.banana.apps.example.docfilepath // @description = Hello world // @task = app.command // @doctype = nodocument // @publisher = Banana.ch SA // @pubdate = 2015-05-12 // @inputdatasource = none // @timeout = -1 /** * Hello world example for Banana Accounting. */ function exec(inData) { Banana.Ui.showInformation("", "Hello World"); if (Banana.document) { var fileName = Banana.document.info("Base","FileName"); Banana.Ui.showInformation("Current document", fileName); } }
Apps Parameters
Apps parameters allow to initialize and set parameters that are relative to a BananaApps, for example:
- Parameters for the printing.
- Header of a report that are set once only.
The script should provide a function settingDialog() that is called when the user click on the Set Parameters on the Manage Apps dialog.
The function settinDialog() should:
- Read the existing setting with the Banana.document.getScriptSettings();
- Request user to enter the information
- Set the modified values with the function Banana.document.setScriptSettings(paramToString);
The JSon text will be saved within the accounting file.
function settingsDialog() { var param = initParam(); var savedParam = Banana.document.getScriptSettings(); if (savedParam.length > 0) { param = JSON.parse(savedParam); } param = verifyParam(param); param.isr_bank_name = Banana.Ui.getText('Settings', texts.param_isr_bank_name, param.isr_bank_name); if (param.isr_bank_name === undefined) return; var paramToString = JSON.stringify(param); Banana.document.setScriptSettings(paramToString); }
the function Exec() should then read the setting.
It is a good practice to check and verify if the setting are valid.
function printDocument(jsonInvoice, repDocObj, repStyleObj) { var param = initParam(); var savedParam = Banana.document.getScriptSettings(); if (savedParam.length > 0) { param = JSON.parse(savedParam); param = verifyParam(param); } printInvoice(jsonInvoice, repDocObj, repStyleObj, param); }
API
The whole API (Application Program Interface) made available for Banana is under the namespace "Banana".
The are different objects and methods that belong to the name space Banana, that can be accessed by the javascript at run time:
Data formats
Date
Date values are in ISO 8601 format "YYYY-MM-DD".
Decimal
Decimal values have a '.' (dot) as decimal separator and doesn't have a group separator. For example: "12345.67".
Decimal values are rounded according to the accounting settings.
Text
Text values can contain any character supported by UTF-8.
Time
Time values are in ISO 8601 format "HH:MM:SS". The formats "HH:MM" and "HH:MM:SS.ZZZ" are also accepted.
API Versions
List of API Version made available by Banana Accounting.
Banana Accounting Version | API Version |
7.0.6 | 1.0 |
8.0.4 or more recent | 1.0 |
Banana (Objects)
Banana is the namespace (object) through which all Banana script's methods, class and objects are accessible.
Banana.application
The object Banana.application represent the running application.
Banana.console
The object Banana.console is used to sent message to the debug the script.
Banana.Converter
The class Banana.Converter contains methods useful to convert data from and to various formats.
Banana.document
The object Banana.document represent the current document opened in the application. It contains base properties and methods, see Banana.Document (Base), and if the document represent an accounting document it contains additional accounting's properties and methods, see Banana.Document (Accounting). If any document is opened this object is of type Undefined.
Banana.IO
The class Banana.IO is used to read and write files.
Banana.Report
The class Banana.Report enable you to create reports, preview and print them in Banana Accounting.
Banana.script
The object Banana.script is used to get informations about the running script.
Banana.SDecimal
The class Banana.SDecimal contains methods useful to do decimal math calculation.
Banana.Ui
The class Banana.Ui contains predefined dialogs to interact with the user, and methods to load dialogs from .ui or .qml files.
Banana.Xml
The class Banana.Xml contains methods to parse and access Xml data.
Banana Methods
Banana.compareVersion(v1, v2)
Compare two version strings. Versions string are in the form of "x.y.w.z". Returns 0 if v1 and v2 are equal, -1 if v2 is later and 1 if v1 is later.
Since: Banana Accounting 8.0.5
var requiredVersion = "8.0.5"; if (Banana.compareVersion && Banana.compareVersion(Banana.application.version, requiredVersion) >= 0) Banana.Ui.showInformation("Message", "More recent or equal than version " + requiredVersion); else Banana.Ui.showInformation("Message", "Older than version " + requiredVersion);
Banana.include(path)
The method Banana.include(path) include a javascript file evaluating it.
If an error occour, i.e. the file is not found or is not valid, the method throws an exception.
The path is relative to the current script being executed, if no protocol is specified. Otherwise depending on the protocol it can be relative to the main script's folder, the document's folder or the name of a document attacched to the current file.
- <relative_path_to_current_script>/<file_name>
- file:script/<relative_path_to_main_script>/<file_name>
- file:document/<relative_path_to_file>/<file_name>
- documents:<attachment_name>
Scripst included though the method Banana.include(path) can include other scripts trhough the method Banana.include(path), but not via the script's attibute @includejs. The method Banana.include(path) garantees that each distinct script is evaluated once, even if it is included more than one time from differents scripts. Path can contain ".." (parent folder), in the case the destination path is outside the main script's folder, the method will throw a security exception.
Since: Banana Accounting 8.0.5
Banana.include("cashflowlib.js"); Banana.include("folder/cashflowlib.js");
Banana.Application
Banana.Application represent the interface to the program and can be accessed through Banana.application.
Properties
isBeta
Return true if the application is a beta version.
var isBeta = Banana.application.isBeta;
Since Banana 8.0.7
isExperimental
Return true if the application is a beta version.
var isExperimental = Banana.application.isExperimental;
Since Banana 8.0.7
serial
Return the serial of the application in the form of "80006-170428".
var serial = Banana.application.serial;
Since Banana 8.0.7
version
Return the version of the application in the form of "8.0.4".
var version = Banana.application.version;
locale
Return the locale of the application in the form of "language_country", where language is a lowercase, two-letter ISO 639 language code, and country is an uppercase, two- or three-letter ISO 3166 country code.
var locale = Banana.application.locale;
progressBar
Return an object of type ProgressBar used to give the user an indication of the progress of an operation and the ability to cancel it.
var progerssBar = Banana.application.progressBar;
Methods
addMessage(msg [, idMsg])
Add the message msg to the application. The message is showed in the pane "Messages", and in a dialog if the application option "Show Messages" is turned on.
If idMsg is not empty, the help button calls an url with script's id and message's id (idMsg) as parameters.
Banana.application.addMessage("Hello World");
See also: Table.AddMessage, Row.AddMessage, Document.AddMessage.
clearMessages()
Clear all the messages showed in the pane "Messages".
Banana.application.clearMessages();
showMessages([show])
Enable or disable the notification of new messages through the message dialog.
Banana.application.showMessages(); // Next messages are showed to the user through the message dialog. Banana.application.showMessages(false); // Next messages will not pop up the message dialog.
openDocument(ac2FilePath [, password] [, title])
Open the ac2 file located in filePath and return an Object of type Banana.Document or undefined if the file is not found. The path can be relative, in this case the base directory is the path of the current document.
If the path is empty or contains a "*" or a "?" an open file dialog is showed to the user, and the title is used in the caption of the file open dialog.
With this function you can also open ISO 20022 and MT940 files, in this case a cash book with the transactions of the file is returned.
var file1 = Banana.application.openDocument("*.*"); if (!file1) return; var file2 = Banana.application.openDocument("c:/temp/accounting_2015.ac2"); if (!file2) return;
Banana.Application.ProgressBar
Banana.Application.ProgressBar is the interface to the program progress bar and can be accessed through Banana.application.progressBar. The progressBar object is used to give the user an indication of the progress of an operation and the possibility to interrupt the running process. The progress bar is showed in bottom left corner of the application windows.
Methods
finish()
Notify that the operation has been completed and close the progress bar.
progressBar.finish();
pause()
Notify that the operation has been paused, the cursor icon is set to the arrow cursor or poiting hand cursor. This is usually called before showing a dialog.
Banana.application.progressBar.pause(); var result = dialog.exec(); Banana.application.progressBar.resume();
resume()
Notify that the operation has been resumed, the cursor icon is set back to an hourglass or watch cursor. This is usually called after a dialog has been closed.
Banana.application.progressBar.pause(); var result = dialog.exec(); Banana.application.progressBar.resume();
start(maxSteps)
Start the progress indicator and define the number of steps this operation needs before being complete.
You can call several times this method to split the progress in main and sub steps. Every call of the method start() should be paired with a call of the method finish().
// Example use of a progress bar var progressBar = Banana.application.progressBar; progressBar.start(10); for (var i = 0; i < 10; i++) { ... if (!progressBar.step(1)) { return; // Operation canceled by the user } } progressBar.finish();
step([stepCount])
Advance the progress indicator of stepCount steps. If stepCount is not defined it advance of one step.
Returns false if the user canceled the operation, otherwise true.
progressBar.step(1);
Example multiple steps inside a block
// Two blocks of progress bar inside a progressBar var progressBar = Banana.application.progressBar; progressBar.start(2); // Block 1 progressBar.start(10) for (i=0;i < 10; i++) { progressBar.step(1); } progressBar.finish(); // Block 2 progressBar.start(10) for (i=0;i < 10; i++) { progressBar.step(1); } progressBar.finish(); progressBar.finish();
Banana.Console
The Banana.console object is used to display debug messages.
- Debug messages are displayed on the message window
- To see debug and log messages you should enable the option Show Debug Messages under Tools -> Program Options -> Developer
- To see critical and warning messages you should enable the option Show Developer Warnings and Messages under Tools -> Program Options -> Developer
console.critical(msg)
Display the msg in the message windows as a critical.
Banana.console.critical("critical message");
console.debug(msg)
Display the msg in the message windows.
Banana.console.debug("Debug message");
console.log(msg)
Display the msg in the message windows.
Banana.console.log("Log message");
console.warn(msg)
Display the msg in the message windows as warning.
Banana.console.warn("Warning message");
Banana.Converter
The class Banana.Converter is a collection of methods useful to convert various formats to and from data tables (array of array).
Methods
arrayToObject( headers, arrData, skipVoid)
Converts an array of array string to an array of objects
- headers is an array of strings that will become the properties of the objects.
- arrData is an array containing array of strings
- skipVoid if true skip void lines, if not present is set to false
// read a CSV file var ppData = Banana.Converter.csvToArray(string, ','); // first line is header var headers = ppData[0]; // remove first line ppData.splice(0, 1); // convert in array of objects var arraOfObjects = Banana.Converter.arrayToObject(fileData.headers, ppData, true);
csvToArray(string [, separator, textdelim])
Convert a csv file (coma separated values) to an array of array.
The parameter string contains the text to convert. The parameter separator specify the character that separates the values, default is a comma ','. The parameter textDelim specify the delimiter character for text values, default is a double quote '"'.
Example:
var text = "1, 2, 3\n4, 5, 6\n7, 8, 9"; var table = Banana.Converter.csvToArray(text); var value = table[0][1]; value == '2'; // true
flvToArray(string, fieldLengths)
Convert a flv file (fixed length values) to an array of array.
The parameter string contains the text to convert. The parameter fieldLengths is an array with the lengths of the fields.
Example:
// 6 20 8 var text = "120608Phone 00002345"; var table = Banana.Converter.flvToArray(text, [6,20,8]); var value = table[0][2]; value == '00002345'; // true
mt940ToTable(string)
Converts mt940 file to a table (array of array).
naturalCompare(a, b [, caseSensitive])
Compare two string so that the string "2" is considered less then "100" as it would be with normal string compare.
This function can be passed to array.sort function.
- a first value to compare
- b second value to compare
- return value is -1 if a < b, 1 if a > b and 0 if a == b
Banana.Converter.naturalCompare(a,b);
objectArrayToCsv(headers, objArray, [separator])
Converts an array of objects (with identical schemas) into a CSV table.
- headers An array of strings with the list of properties to export
- objArray An array of objects. Each object in the array must have the same property list.
- separator The CSV column delimiter. Defaults to a comma (,) if omitted.
- return value a string containing the CSV text.
var csvText = Banana.Converter.objectArrayToCsv(headers, objArray, ";");
stringToCamelCase(string)
Converts a text to camel case, where only the first letter every word is upper case.
Banana.Converter.stringToCamelCase("this is an example"); // returns "This Is An Example"
stringToLines(string)
Convert a text in an array of lines. The end line character can be '\n', \r' or a combination of both.
Banana.Converter.stringToLines("this is\nan\nexample"); //returns ["this is", "an", "example"]
stringToTitleCase(string)
Converts a text to title case, where only the first letter of the text is upper case.
Banana.Converter.stringToTitleCase("this is an example"); // returns "This is an example"
arrayToTsv(table [, defaultChar])
Converts a table (array of array) to a tsv file (tabulator separated values). If a string contains a tab it will be replaced with defaultChar or a space if defaultChar is undefined.
Banana.Converter.arrayToTsv(table);
arrayToCsv(table)
Converts a table (array of array) to a csv file (coma separated values). Doubles quotes in text are replaced by apos. Texts containing comas are inserted in doubles quotes.
Banana.Converter.arrayToCsv(table);
toDate(date[, time])
Convert a date and/or time to a javascript date object.
The parameter date is a string in the formats YYYYMMDD or YYYY-MM-DD.
The time parameter is a string in the fromats HHMM[SSZZZ] or HH:MM[:SS.ZZZ].
Banana.Converter.toDate("2015-12-31"); Banana.Converter.toDate("20151231");
toInternalDateFormat(date [, inputFormat])
Converts a date to the internal format: YYYY-MM-DD.
The parameter date can be a string or a date object.
The parameter inputFormat specifies the date input format, if it is not specified the local date format is used.
Example:
Banana.Converter.toInternalDateFormat("31-12-13", "dd-mm-yy"); // returns "2013-12-31" Banana.Converter.toInternalDateFormat(new Date()); // return current date in format "yyyy-mm-dd"
toInternalNumberFormat(value [, decimalSeparator])
Converts a number to the internal format: 123456.78.The internal number format use the character '.' as decimal separator, and doesn't contain a group separator.
The parameter value can be a string or a number object.
The parameter decimalSeparator specifies the character used to separate the decimals, if it is not specified the local decimal separator is used.
Example:
Banana.Converter.toInternalNumberFormat("1200,25", ","); // returns "1200.25"
toInternalTimeFormat(string)
Converts a time to the internal format: HH:MM:SS.ZZZ.
Banana.Converter.toInternalTimeFormat("11:24"); // returns "11:24:00"
toLocaleDateFormat(date [, format])
Converts a date to the local format.
The parameter date can be a string or a date object.
The parameter format specifies the date ouptut format, if it is not specified the local date format is used.
Banana.Converter.toLocaleDateFormat("2014-02-24") // returns "24.02.2014"
toLocaleNumberFormat(value [, decimals = 2, convZero = true])
Converts a number to the local format.
The parameter value can be a string or a number object.
The parameter decimals set the number of decimals.
The parameter convZero set the format returned for zero values. If false the method returns an empty string, if true it returns the zero value as string.
Example:
Banana.Converter.toLocaleNumberFormat("1200.25") // returns "1'200,25"
toLocaleTimeFormat(string [, format])
Converts a time to the local format.
The parameter format specifies the time ouptut format, if it is not specified the local time format is used.
Banana.Converter.toLocaleTimeFormat("11:24:42"); // returns "11:24"
Banana.Document (Accounting)
Banana.Document is the interface to a document in Banana Accounting.
Banana.Document has base methods, that apply to all documents, see Banana.Document (Base), and method that are specific to the type of documents. This page describes the methods for the accounting files.
In the table documents of the example file there are also some example code.
Methods for accounting's files
This method are available only if the Document is of type Accounting
accountDescription(account [,column])
Return the Description of the specified account.
- Account can be an account or a Group (Gr=)
- Column can be an alternative column name to retrieve.
var descriptionAccount = Banana.document.accountDescription('1000'); var descriptionGroup = Banana.document.accountDescription('Gr=10'); var gr = Banana.document.accountDescription('1000','Gr');
accountsReport([startDate, endDate])
Return the account report for the specified period. Start and end date can be a string in form 'YYYY-MM-DD' or a date object.
var report = Banana.document.accountsReport(); var report = Banana.document.accountsReport('2017-01-01', '2017-03-31');
budgetBalance(account [, startDate, endDate, function(rowObj, rowNr, table)])
Sum the amounts of opening, debit, credit, total and balance for all budget transactions for this accounts .
var budget = Banana.document.budgetBalance('1000');
See for more detail the function currentBalance.
budgetCard(account [, startDate, endDate, function(rowObj, rowNr, table)])
Return for the given account and period a Table object with the budget account card.
var card = Banana.document.budgetCard('1000');
For more ditails see currentCard.
budgetExchangeDifference( account, [date, exchangeRate])
Return the unrealized exchange rate Profit or Loss fo the account at the specified date.
- account must be a valid account number not in base currency
- date
- a date that is used to calculate the balance
- if empty calculate up to the end of the period
- exchangeRate
- if empty use the historic exchange rate for the specified date or the current if not a valid exchange rate for the date are found.
- if "current" use the current exchange
- if number for example "1.95" use the specified exchange rate.
- Return value
- Positive number (debit) are exchange rate Loss.
- Negative number (credit) are exchange rate Profit.
- empty if no difference or if the account has not been found or not a multicurrency accounting file.
// unrealized exchange rate profit or loss for the account 1000 // last balance and current exchange rate var exchangeRateDifference = Banana.document.budgetExchangeRateDifference('1000'); // at the end of Semptember and hystoric exchange rate var exchangeRateDifference = Banana.document.budgetExchangeRateDifference('1000', "2017-09-31"); // at the end of Semptember and current exchange rate var exchangeRateDifference = Banana.document.budgetExchangeRateDifference('1000', "2017-09-31", "current"); // at the end of Semptember and specified exchange rate var exchangeRateDifference = Banana.document.budgetExchangeRateDifference('1000', "2017-09-31", "1.65");
Available from Banana version 8.05
budgetInterest( account, interestRate, [startDate, endDate, , function(rowObj, rowNr, table)])
Return the calculated interest for the budget transactions.
For more information see the currentInterest and current Balance
// calculate the interest debit for the whole period var interestDebit = Banana.document.budgetInterest('1000','5.75'); // calculate the interest credit for the whole period var interestDebit = Banana.document.budgetInterest('1000','-4.75');
currentBalance(account [, startDate, endDate, function(rowObj, rowNr, table) ])
Sum the amounts of opening, debit, credit, total and balance for all transactions for this accounts.
The calculations are perfermed by traversing by creating a journal (see journal() function) with all the transactions , and selecting the transctions with the parameters specified.
The computation is usually very fast. But if you have a file with many transactions especially the first query could take some time.
var currentBal = Banana.document.currentBalance('1000','',''); var openingBalance = currentBal.opening; var endBalance = currentBal.balance;
- Return value
Is an object that has- opening the amount at the begining of the period (all transactions before)
- debit the amount of debit transactions for the period
- credit the amount of credit transactions for the period
- total the difference between debit-credit for the period
- balance opening + debit-credit for the period
- amount it the "normalized" amount based on the bclass of the account or group.
If there are multiple accounts or groups, takes the first BClass of the first.- for BClass 1 or 2 it return the balance (value at a specific instant).
- for BClass 3 or 4 it return the total (value for the duration).
- For BClass 2 and 4 the amount is inverted.
- openingCurrency the amount at the begining of the period in the account currency
- debitCurrency the amount of debit transactions for the period in the account currency
- creditCurrency the amount of credit transactions for the period in the account currency
- totalCurrency the difference between debit-credit for the period in the account currency
- balanceCurrency opening + debit-credit for the period in the account currency
- rowCount the number of lines that have bben found and used for this computation
- bclass (double entry accounting only) is the bclass of the account or group used to express the amount.
The bclass is the value entered in the columns bclass.
It is taken in consideration the first account or group specified. If for examble you query two account that first that has bclass 2 and the second that has bclass 1. The bclass would be 2.
The bclass is assigned by following this steps. :- The bclass of the specified account or group.
- The blcass of the partent group, for the same section.
- The blcass of the section.
- Account
- can be an account id, a cost center or a segment.
- can be a cobination of account and segments, separeted by the semicolon ":"
In this case it returns all the transactions that have the indicated account and segments- 1000:A1:B1
- can be differents accounts and multiple segments separated by the "|"
In this case it include all transactions that have the one of the specified accounts and one of the specified segments- 1000|1001
- 1000|1001:A1:B1
- 1000|1001:A1|A2:B1
- can be a wildCardMatching
Wildcards can be used for accounts, segments, Groups or BClass and in combination- ? Matches any single character.
- * Matches zero or more of any characters
- [...] Set of charachtes
- "100?" match "1001, 1002, 1003, 100A, ...)
- "100*" Matches all accounts starting with 100
- "100*|200*:A?" Matches all accounts starting with 100 or 200 and with segments with A and of two charachters.
- "[1234]000" Matches "1000 2000 3000 4000"
- Can be a group or a BClass.
It include all the transactions where the account used belong to a specified Group o r BClass.
It is also possible to use wildcards.
The program first create a list of accounts and then use the account list.
Do non mix mix groups relative to normal accounts, with groups relative to cost center or segments. Calculation could provide unexpected results.- BClass (for the double entry accounting only)
- BClass=1
- BClass=1|2
- Gr for groups that are in Accounts table.
- Gr=100
- Gr=10*
- Gr=100|101|102
- GrC for group that are in the Category table of the income and expenses accounting type.
- GrC=300
- GrC=300|301
- BClass (for the double entry accounting only)
- Contra Accounts or other fields selection
Transactions are included only if they have also a value corresponding
After the "&&" you can insert a field name of the table journal.- 1000&&JContraAccount=2000 return all transctions of the account 1000 that have a contra account 2000.
As per accounts you can specify multiple contra accounts, BClass=, Gr= with also wildcards. - 1000&&JCC1=P1|P2 will use only transactions on account 1000 and that also have the CC1=.P1 or .P2
- 1000&&JContraAccount=2000 return all transctions of the account 1000 that have a contra account 2000.
- StartDate
- is a string in form 'YYYY-MM-DD' or a date object.
- If startDate is empty the accounting start date is taken.
- End date:
- is a string in form 'YYYY-MM-DD' or a date object.
- If endDate is empty the accounting end date is taken.
- function(rowObj, rowNr, table)
This fuction will be called for each row of the selected account.
The function should return true if you want this row to be included in the calculation.
function exec( string) { // We retrive the total sales (account 4000) only for the cost center P1 var balanceData = Banana.document.currentBalance('4000','', '', onlyCostCenter); // sales is a revenue so is negative and we invert the value var salesCC1 = -balanceData.total; // display the information Banana.Ui.showText("Sales of Project P1: " + salesCC1); } // this function return true only if the row has the cost center code "P1" function onlyCostCenter( row, rowNr, table){ if(row.value('JCC1') === 'P1') { return true; } return false; }
Examples
Banana.document.currentBalance("1000") // Account 1000 Banana.document.currentBalance("1000|1010") // Account 1000 or 1010 Banana.document.currentBalance("10*|20*") // All account that start with 10 or with 20 Banana.document.currentBalance("Gr=10") // Group 10 Banana.document.currentBalance("Gr=10| Gr=20") // Group 10 or 29 Banana.document.currentBalance(".P1") // Cost center .P1 Banana.document.currentBalance(";C01|;C02") // Cost center ;C01 and C2 Banana.document.currentBalance(":S1|S2") // Segment :S1 and :S2 Banana.document.currentBalance("1000:S1:T1") // Account 1000 with segment :S1 or ::T1 Banana.document.currentBalance("1000:{}") // Account 1000 with segment not assigned Banana.document.currentBalance("1000:S1|S2:T1|T2") // Account 1000 with segment :S1 or ::S2 and ::T1 // or ::T Banana.document.currentBalance("1000&&JCC1=P1") // Account 1000 and cost center .P1
currentCard(account [, startDate, endDate, function(rowObj, rowNr, table)])
Return for the given account and period a Table object with the transactions for this account.
Row are sorted by JDate
parameters:
- account can be any accounts, cost center or segment as specifiend in currentBalance.
- startDate any date or symbol as specifiend in currentBalance.
- endDate any date or symbol as specifiend in currentBalance.
Return columns the same as for the Journal() function.
var transactions = Banana.document.currentCard('1000','2015-01-01','2015-12-31');
currentInterest( account, interestRate, [startDate, endDate, , function(rowObj, rowNr, table)])
Return the calculated interest on the specified account.
Interest is calculate on the effective number o days for 365 days in the years.
- account is the account or group (same as in the function currentBalance)
- interestRate. In percentage "5", "3.25". Decimal separator must be a "."
- If positive it calculate the interst on the debit amount.
- If negative it calculate the interest on the credit amounts.
- startDate, endDate, function see the currentBalance description.
If no parameters are specified it calculate the interest for the whole year.
// calculate the interest debit for the whole period var interestDebit = Banana.document.currentInterest('1000','5.75'); // calculate the interest credit for the whole period var interestDebit = Banana.document.currentInterest('1000','-4.75');
exchangeRate( currency, [date])
Return the exchange rate that convert the amount in currency in basic currency.
The exchange rate is retrieved from the Currency table, already considering the multiplier.
- If no date is specified the exchange rate without date is used.
- If a date is specified it retrieve the exchange rate with the date minor or equal the specified date.
invoicesCustomers()
Return a table with the customers invoices from the transaction table. A customer group must be defined and invoices must be numbered using the column DocInvoice.
invoicesSuppliers()
Return a table with the suppliers invoices from the transaction table. A supplier group must be defined and invoices must be numbered using the column DocInvoice.
journal([originType = ORIGINTYPE_NONE, int accountType = ACCOUNTTYPE_NONE])
Return for the given parameters a Table object with all the amount registered on the accounts.
The journal contain a row for each account used.
- originType specify the row to be filtered for
Can be on of- ORIGINTYPE_NONE no filter is applied and all rows are returned (current and budget)
- ORIGINTYPE_CURRENT only the normal transactions are returned
- ORIGINTYPE_BUDGET only the budget transactions are returned
- accountType specify the row to be filtered for
- ACCOUNTTYPE_NONE no filter is applyied and all rows are returned
- ACCOUNTTYPE_NORMAL only rows for normal accounts are returned
- ACCOUNTTYPE_CC1 only rows for Cost Center 1 are returned
- ACCOUNTTYPE_CC2 only rows for Cost Center 2 are returned
- ACCOUNTTYPE_CC3 only rows for Cost Center 1 are returned
- ACCOUNTTYPE_CC Cost Center rows are returned same as using (ACCOUNTTYPE_CC1 | ACCOUNTTYPE_CC2 | ACCOUNTTYPE_CC3)
// get all transactions for normal accounts var journal = Banana.document.journal(Banana.document.ORIGINTYPE_CURRENT, Banana.document.ACCOUNTTYPE_NORMAL );
For each account used in the transaction table (AccountDebit, AccountCredit, CC1, CC2, CC3) the program generate a Journal row with the JAccount column set with the specific account.
For a double entry account transaction that use AccountDebit, AccountCredit, AccountVat, CC1, CC2, CC3 the Journal will contain 6 rows. If the transaction has only AccountDebit and AccountCredit only 2 rows will be generated.
The column JAmount contains the exact amount registered on the specific account.
The returned table has all the columns of the transaction's table plus the following columns.
The return columns are:
- JDate the date of the transction.
- JDescription the transaction's description.
- JRowOrigin the row number in the transaction's table (rows begin from 0).
- JTableOrigin the source table.
- JRepeatNumber the progressive number of the repetition of budget transactions.
- JAccount the account for this line.
There is one row for each account (AccountDebit, AccountCredit, AccountVat, CC1, CC2, CC3). - JAccountDescription the Description for this account.
- JAccountClass the BClass number for this account.
- JAccountGr the Gr for this account.
- JAccountGrDescription the Gr for this account.
- JAccountGrPath the whole Gr path.
- JAccountCurrency the currency of thi account.
- JAccountType as defined above (ACCOUNTTYPE_NORMAL, ACCOUNTTYPE_CC1, ...)
- JAmount the amount in basic currency registered on the account (positive is debit, negative is credit).
- JAmountAccountCurrency the amount in the account currency (positive i debit, regative is credit).
- JTransactionCurrency the transaction's currency.
- JAmountTransactionCurrency the amount in transaction's currency.
For account with currency not in tranasctions currency the exchange rate of the transaction is used. - JTransactionCurrencyConversionRate is the conversion rate to obtain amounts in transaction's currency.
Multiply the transcation's amount in basic currency with the JTransactionCurrencyConversionRate and you will have the amount converted in transaction's currency.
The conversion rate has 12 significant decimal so only by very large conversion should be have conversion differences. - JVatIsVatOperation true if this row has a Vat code.
- JVatCodeWithoutSign the Vat code without the evetually preceeding '-'. For example "-V10" becomomes "V10".
- JVatCodeDescription the Description for this Vat code.
- JVatCodeWithMinus true if the Vat code is preceeded by "-".
- JVatCodeNegative true if the Vat amount is negative (deductible).
- JVatTaxable the amount VatTaxable with the sign that follow the JVatCodeNegative
- VatTwinAccount the account where the net amount (without VAT) is being registered .
In case of a transaction where the Gross amount is CHF 1100, then the VAT is CHF 100 and the net amount is CHF 1000. The VatTwin account will be the account where the CHF 1000 is being registered.
We use the name Twin for the fact that the VatTwinAccount follows the sign of the VatAccount.
If the Vat amount is registered in debit, the VatTwinAccount will be the AccountDebit.
If the Vat amount is registered in credit, the VatTwinAccount will be the AccountCredit. - JContraAccount the contra account.
The contra account is deducted based on the other accounts and the sequence in the transactions table. - JContraAccountType one of the following value:
- CONTRAACCOUNTTYPE_NONE for no contra account
- CONTRAACCOUNTTYPE_DIRECT when there is on the same line credit and debit accounts.
- CONTRAACCOUNTTYPE_MULTIPLEFIRST the first line of a transaction on more accounts.
The first transactions after a line with debit and credit accounts or with a different date. - CONTRAACCOUNTTYPE_MULTIPLEFOLLOW the second or following line of a MULTIPLEFIRST with the same date.
- CONTRAACCOUNTTYPE_VAT the line for the Vat Account
- JContraAccountGroup the line number corresponding to the row number of the CONTRAACCOUNTTYPE_MULTIPLEFIRST
- JCC1 the CC1 without the preceeding sign
- JCC2 the CC2 without the preceeding sign
- JCC3 the CC3 without the preceeding sign
- JSegment1 .. JSegment10 the segment relative to the account
- JDebitAmount the amount debit in basic currency
- JCreditAmount the amount credit in basic currency
- JDebitAmountAccountCurrency the amount debit in account currency
- JCreditAmountAccountCurrency the amount credit in account currency
- JBalance the balance amount (for account card) in basic currency
- JBalanceAccountCurrency the balance amount (for account card) in account currency
- JOriginType as defined above
- ORIGINTYPE_CURRENT
- ORIGINTYPE_BUDGET
- JOperationType on of
- OPERATIONTYPE_NONE = 0
- OPERATIONTYPE_OPENING = 1
The row is generated from the opening balance - OPERATIONTYPE_CARRYFORWARD = 2
The row is used from the account card and is the balance of the account at this moment. - OPERATIONTYPE_TRANSACTION = 3
The row is generated from the Transactions table if it is ORIGINTYPE_CURRENT
or from the budget table if the row is ORIGINTYPE_BUDGET -
OPERATIONTYPE_INVOICESETTLEMENT = 21
journalCustomersSuppliers([originType = ORIGINTYPE_NONE, int accountType = ACCOUNTTYPE_NONE])
Same as journal with additional settlements rows for closing invoices and the following columns:
- JInvoiceDocType
- JInvoiceAccountId
- JInvoiceCurrency
- JInvoiceStatus
- JInvoiceDueDate
- JInvoiceDaysPastDue
- JInvoiceLastReminder
- JInvoiceLastReminderDate
- JInvoiceIssueDate
- JInvoiceExpectedDate
- JInvoicePaymentDate
- JInvoiceDuePeriod
- JInvoiceRowCustomer (1=Customer, 2=Supplier)
previousYear([nrYears])
Return the previous year as a Banana.Document object. If the previoius yeas is not defined or it is not foud it return null.
- nrYears is the number of years to go back, default is one.
var previousYearDoc = Banana.document.previousYear(); var previousTwoYearDoc = Banana.document.previousYear(2);
projectionBalance(account, projectionStartDate [, startDate, endDate, function(rowObj, rowNr, table) ])
Same as currentBalance but use the budget data starting from the projectionStartDate.
This functions calculate a projection of the end of year result (or specified period) combining the current data and the budget data for the period non yet booked.
if projectionStartDate is empty the result will be the same as currentBalance.
If you have already booked the 1. semester and would like to have a projection up to the end of the year
// We have booked the 1. semester and would like to have // a projection up to the end of the yer var cashProjection = Banana.document.projectionBalance('1000','2015-07-01'); var cashEnd = projection.balance; var salesProjection = Banana.document.projectionBalance('3000','2015-07-01').total; var salesForYear = -salesProjection.total;
projectionCard(account, projectionStartDate [, startDate, endDate, function(rowObj, rowNr, table) ])
Same as currentCard but use the budget data starting from the projectionStartDate.
If projectionStart date is empty result will be the same s currentCard.
var transactions = Banana.document.projectionCard('1000','2015-01-01','','');
endPeriod([period])
Return the end date in the form of 'YYYY-MM-DD'.
The endDate and startDate functions are used to retrieve the date of the accounting, so that you can create scripts that works on file of different years.
var dateEnd = Banana.document.endPeriod(); var dateStartFebruary = Banana.document.endPeriod('2M');
- Period:
- If period is not present the return value is the end date of the accounting.
- The period is added the starting account date, and than is returned the last date of the period..
- Period (for example 2M = 2 months) is a number followed by one of the following charachters
- D for days
- M for months
- Q for quarters
- S for semesters
- Y for years
- Assuming that the Start accounting date is 2015-01-01
- 1M return 2015-01-02
- 2M return 2015-02-28
- 2Q return 2015-06-30
- 2S return 2015-12-31
- 2Y return 2016-12-31
See also startDate.
startPeriod ([period])
Return the end date in the form of 'YYYY-MM-DD'.
The endPeriod and startPeriod functions are used to retrieve the date of the accounting, so that you can create scripts that works on file of different years.
var dateStart = Banana.document.endPeriod(); var dateStart3Q = Banana.document.endPeriod('3Q');
- Period:
If period is not present return the start date.- Period (for example 2M = 2 months) is a number followed by one of the following charachters
- D is for Days
- M for Months
- Q for Quorters
- S for Semester
- Y for year
- With 1 the starting date of the accounting is returned.
- Assuming that the Start accounting date is 2015-01-01
- 1M return 2015-01-01
- 2M return 2015-02-01
- 2Q return 2015-04-01
- 2S return 2015-07-01
- 2Y return 2016-01-01
- Period (for example 2M = 2 months) is a number followed by one of the following charachters
See also endDate.
vatBudgetBalance(vatCode[, startDate, endDate, function(rowObj, rowNr, table) ])
Sum the vat amounts for the specified vat code and period, using the Budget data.
var vatTotal = Banana.document.vatBudgetBalance('V15');
vatCurrentCard(vatCode[, startDate, endDate, function(rowObj, rowNr, table) ])
Retrieve the transactions relative to the specified VatCode.
var vatTransactions = Banana.document.vatCurrentCard('V15');
vatCurrentBalance(vatCode[, startDate, endDate, function(rowObj, rowNr, table) ])
Sum the vat amounts for the specified vat code and period.
For more info see :
- explanations of the function currentBalance.
- Case study BananaApp for VatReport.
Example:
var currentVat = Banana.document.vatCurrentBalance('V15','',''); var vatTaxable = currentVat.vatTaxable; var vatPosted = currentVat.vatPosted;
- Return value:
Is an object that has- vatTaxable the amount of the taxable column
(the sign is the same as the vatAmount) - vatAmount the amount of vat
- vatNotDeductible the amount not deductible
- vatPosted VatAmount - VatNotDeductible
- rowCount the number of lines that have bben found and used for this computation
- vatTaxable the amount of the taxable column
- VatCode
One or more VatCode defined in the tabel Vat Codes.
Multiple vat code can be separated by "|" for example "V10|V20", or you can use vildcard "V*".
vatProjectionBalance(vatCode, projectionStartDate, [, startDate, endDate, function(rowObj, rowNr, table) ])
Same as vatCurrenBalance but use the budget data starting from the projectionStartDate.
var projectionVat = Banana.document.vatProjectionBalance('V15','',''); var vatTaxable = projectionVat.vatTaxable; var vatPosted = projectionVat.vatPosted;
vatProjectiontCard(vatCode, projectionStartDate, [, startDate, endDate, function(rowObj, rowNr, table) ])
Same as vatCurrentCard but use the budget data starting from the projectionStartDate.
var vatTransactions = Banana.document.vatProjectiontCard('V15','2015-01-01','','');
vatReport([startDate, endDate])
Return the vat report for the specified period.
Start and end date are strings in form 'YYYY-MM-DD' or a date object. If startDate is empty the accounting start date is taken. If endDate is empty the accounting end date is taken.
var vatReport = Banana.document.vatReport('','');
Banana.Document (Base)
Banana.Document is the interface to a document in Banana Accounting. The current opened document can be accessed through the property Banana.document. A document can be also opened with the method Banana.application.openDocument.
Properties
cursor
Return a Cursor object with the current position of the cursor and the range of the selected rows.
var currentCursor = Banana.document.cursor;
locale
Return the locale of the document in the form of "language_country", where language is a lowercase, two-letter ISO 639 language code, and country is an uppercase, two- or three-letter ISO 3166 country code.
var locale = Banana.document.locale;
rounding
Return the rounding context of the current file that can be used with the SDecimal math functions.
var rounding = Banana.document.rounding;
tableNames
Return an array with the xml names of the tables in the document.
var tableNames = Banana.document.tableNames;
Methods
addMessage(msg[, idMsg])
Add the message msg to the document. The message is showed in the pane "Messages", and in a dialog if the application option "Show Messages" is turned on.
If idMsg is not empty, the help button calls an url with script's id and message's id (idMsg) as parameters.
See also: Application.AddMessage, Table.AddMessage, Row.AddMessage.
Banana.document.addMessage("Message text");
clearMessages()
Clear all the document's messages showed in the pane "Messages".
Banana.document.clearMessages();
getScriptSettings()
Get the settings of the script saved in the document. You use this method to get settings that are private to the running script. It is possible to save the settings of the script through the method "setScriptSettings".
With this method Settings are saved and restored under the script id, If you change the script's id you will lose the saved settings.
Example:
// Initialise parameter param = { "searchText": "", "matchCase": "false", "wholeText": "false" }; // Readscript settings var strData = Banana.document.getScriptSettings(); if (strData.length > 0) { var objData = JSON.parse(strData); if (objData) param = objData; }
Since Banana 8.0.8
getScriptSettings(id)
Return the settings saved in the document under the id 'id'.
You use this method to get settings that are shared between scripts. As id we recommend to use a substring of the script's id. For example if you have the scripts 'ch.banana.vat.montlyreport' and 'ch.banana.vat.endofyearreport', then you can use as id 'ch.banana.vat'.
Example:
// Initialise parameter param = { "searchText": "", "matchCase": "false", "wholeText": "false" }; // Readscript settings var strData = Banana.document.getScriptSettings('ch.banana.vat'); if (strData.length > 0) { var objData = JSON.parse(strData); if (objData) param = objData; }
Since Banana 8.0.8
info(section, id)
Return the info value of the document referenced by section and id. Section and Id correspond to the xml name listed in the Info table, see command File info in menu "Tools" and set the view to complete to see the XML columns. If the value referenced by section and id doesn't exist, an object of type undefined is returned.
Example:
// Get some value of the accounting file var FileName = Banana.document.info("Base","FileName"); var DecimalsAmounts = Banana.document.info("Base","DecimalsAmounts"); var HeaderLeft = Banana.document.info("Base","HeaderLeft"); var HeaderRight = Banana.document.info("Base","HeaderRight"); var BasicCurrency = Banana.document.info("AccountingDataBase","BasicCurrency"); // For openingDate and closureDate use instead startDate and endDate var openingDate = Banana.document.info("AccountingDataBase","OpeningDate"); var closureDate = Banana.document.info("AccountingDataBase","ClosureDate"); // For file accounting type var FileType = Banana.document.info("Base","FileType"); var FileGroup = Banana.document.info("Base","FileTypeGroup"); var FileNumber = Banana.document.info("Base","FileTypeNumber");
FileTypeGroup / FileTypeNumber combinations:
- 100 Double entry accounting
- 100 No VAT
- 110 With VAT
- 120 Multi Currency
- 130 Multi Currency with VAT
- 110 Income and Expense accounting
- 100 No VAT
- 110 With VAT
- 130 Cash Book
- 100 No VAT
- 110 With VAT
- 400 Address / Labels
- 110 Labels
- 120 Address
scriptSaveSettings(string)
Save the settings of the script in the document. The next time the script is run, it si possible to read the saved settings with "scriptReadSettings".
With this method Settings are saved and restored under the script id, If you change the script's id you will lose the saved settings.
Example:
// Save script settings var paramString = JSON.stringify(param); var value = Banana.document.scriptSaveSettings(paramString);
Deprecated since Banana 8.0.8. Use setScriptSettings instead.
scriptReadSettings()
Return the saved settings of the script.
With this method Settings are saved and restored under the script id, If you change the script's id you will lose the saved settings.
Example:
// Initialise parameter param = { "searchText": "", "matchCase": "false", "wholeText": "false" }; // Readscript settings var strData = Banana.document.scriptReadSettings(); if (strData.length > 0) { var objData = JSON.parse(strData); if (objData) param = objData; }
Deprecated since Banana 8.0.8. Use getScriptSettings instead.
setScriptSettings(value)
Save the settings of the script in the document. It is possible to read the saved settings of the script with the method "getScriptSettings".
With this method Settings are saved and restored under the script id, If you change the script's id you will lose the saved settings.
Example:
// Save script settings var paramString = JSON.stringify(param); var value = Banana.document.setScriptSettings(paramString);
Since Banana 8.0.8.
setScriptSettings(id, value)
Save the settings in the document under the id 'id'. It is possible to read the saved settings with "getScriptSettings(id)".
You use this method to set settings that are shared between scripts. As id we recommend to use a substring of the script's id. For example if you have the scripts 'ch.banana.vat.montlyreport' and 'ch.banana.vat.endofyearreport', then you can use as id 'ch.banana.vat'.
Example:
// Save script settings var paramString = JSON.stringify(param); var value = Banana.document.setScriptSettings('ch.banana.vat', paramString);
Since Banana 8.0.8.
table(xmlTableName)
Return the table referenced by the name xmlTableName as a Table object, or undefined if it doesn't exist.
Banana.document.table("Accounts");
table(xmlTableName, xmlListName)
Return the table referenced by the name xmlTableName with the rows of the list xmlListName as a Table object, or undefined if the table or the list don't exist. The default list is the 'Data' list.
Banana.document.table("Transactions", "Examples"); Banana.document.table("Transactions").list("Examples"); // alternative way
See also: Table.list, Table.listNames.
Since Banana 8.0.5
value(tableName, rowNr, columnName)
Return the value in table tableName, row rowNr and column columnName as string. If the table, row or column are not founds it return an object of type undefined.
Banana.document.value("Accounts", 5, "Description")
Banana.Document.Cursor
Banana.Document.Cursor is the interface to the cursor and can be accessed through Banana.document.cursor.
Properties
tableName
Return the xml name of the current table.
var currentTable = Banana.document.cursor.tableName;
rowNr
Return the number of the current row.
var currentRow = Banana.document.cursor.rowNr;
columnName
Return the xml name of the current column.
var currentColumn = Banana.document.cursor.columnName;
selectionTop
Return the index of the top row of the current selection.
var currentSelectionTop = Banana.document.cursor.selectionTop;
selectionBottom
Return the index of the bottom row of the current selection.
var currentSelectionBottom = Banana.document.cursor.selectionBottom;
Banana.Document.Row
Banana.Document.Row is the interface of a row.
Properties
isEmpty
Return true if the row is completly empty.
var isEmpty = tRow.isEmpty;
rowNr
Return the index of the row.
var rowNr = tRow.rowNr;
uniqueId
Return the unique id (an interger value) of the row.
Banana assign to every new row a unique id, this value is fix a will never change.
var uniqueId = tRow.uniqueId;
Methods
addMessage(msg [, columnName] [, idMsg])
Add the message msg to the document. The message is showed in the pane "Messages", and in a dialog if the application option "Show Messages" is turned on.
If idMsg is not empty, the help button calls an url with message's id (idMsg) as parameter.
If columnName is not empty, the message is connected to the column columnName. With a double click over message in the message pane, the cursor jump to the corresponding table, rowNr and columnName.
See also: Application.AddMessage, Table.AddMessage, Document.AddMessage.
var accountsTable = Banana.document.table("Accounts"); var tRow = accountsTable.row(4); tRow.addMessage("Message text");
toJSON([columnNames])
Return the row as JSON string. If the parameter columnNames is defined, only the columns in the array are included in the file.
// Return all the columns of the row var json = tRow.toJSON(); // Return only the defined columns of the row var json = tRow.toJSON(["Account", "Description", "Balance"]);
value(columnName)
Return the value in column columnName. If the column is not found or the object is invalid it return the value undefined.
var accountsTable = Banana.document.table("Accounts"); var tRow = accountsTable.row(4); tRow.value("Description");
Banana.Document.Table
Banana.Document.Table is the interface of a table.
Properties
name
Return the xml name of the table.
var table = Banana.document.table("Accounts"); var tName = table.name;
columnNames
Return the xml names of the table's columns as an array.
var table = Banana.document.table("Accounts"); var tColumnNames = table.columnNames;
listName
Return the xml name of the list that this table object reference to. The default list is the 'Data' list.
Since Banana 8.0.5
var table = Banana.document.table("Accounts"); var tListName = table.listName;
listNames
Return the xml names of the available lists as an array. The default list is the 'Data' list.
Since Banana 8.0.5
var table = Banana.document.table("Accounts"); var tListNames = table.listNames;
rowCount
Return the number of rows in the table.
var table = Banana.document.table("Accounts"); var tRowCount = table.rowCount;
rows
Return the rows of the table as an array of Row objects.
var table = Banana.document.table("Accounts"); var tRows = table.rows;
Methods
addMessage(msg, rowNr [, columnName] [, idMsg])
Add the message msg to the queue of the document. The message is showed in the pane "Messages", and in a dialog if the application option "Show Messages" is turned on.
If idMsg is not empty, the help button calls an url with message's id (idMsg) as parameter.
If rowNr is different than "-1" the message is connected to the row rowNr. if columnName is not empty, the message is connected to the column columnName. With a double click over message in the message pane, the cursor jump to the corresponding table, rowNr and columnName.
See also: Application.AddMessage, Row.AddMessage, Document.AddMessage.
var table = Banana.document.table("Accounts"); table.addMessage("Message string", 3, "description");
extractRows( function(rowObj, rowNr, table), tableTitle)
Extract the rows that passed the test defined by function and show them in the table "Selections". The title of the table is set to tableTitle.
findRows( function(rowObj, rowNr, table))
Return an array of Row objects that pass the test defined in function.
findRowByValue(columnName, value)
Return the first row as Row object that contains the value in the the column columnName. Or undefined if any row is found.
var cashAccountRow = Banana.document.table('Accounts').findRowByValue('Account','1000'); if (!cashAccountRow) //Row not found
list(xmlListName)
Return a new table object with the rows of the list xmlListName, or undefined if the list xmlListName doesn't exist.
var recurringTransactions = Banana.document.table('Transactions').list('Examples'); var archivedProducts = Banana.document.table('Products').list('Archive');
Since Banana 8.0.5
row(rowNr)
Return the Row at index rownr as Row Object, or undefined if rowNr si outside the valid range.
var table = Banana.document.table("Accounts"); var row = table.row(3);
toJSON([columnNames])
Return the table as JSON string. If the parameter columnNames is defined, only the columns in the array are included in the file.
var table = Banana.document.table("Accounts"); var json = table.toJSON();
toHtml([columnNames, formatValues])
Return the table as Html file. If the parameter columnNames is defined, only the columns in the array are included in the file. If formatValues is set to true, the values are converted to the locale format.
Example:
//Show the whole row content of the table Accounts Banana.Ui.showText(Banana.document.table('Accounts').toHtml()); //Show some columns and format dates, amounts, ... as displayed in the program Banana.Ui.showText( Banana.document.table('Accounts').toHtml(['Account','Group','Description','Balance'],true) );
toTsv([columnNames])
Return the table as Tsv file (Tab separated values). If the parameter columnNames is defined, only the columns in the array are included in the file.
var table = Banana.document.table("Accounts"); var tsv = table.toTsv();
value(rowNr, columnName)
Return the value in row rowNr and column columnName as string. Or undefined if the row or column are not found.
var table = Banana.document.table("Accounts"); var account = table.value(3,'Account'); var description = table.value(3,'Description');
Banana.IO
The Banana.IO class is used to read and write to files.
Since: Banana Accounting 8.0.7, only in Banana Experimental
Introduction
The API Banana.IO and Banana.IO.LocalFile allow a script to read or write to files in a secure way. The script can only read or writes to files that are first selected by the user though the corresponding dialogs. The script has no direct access to files on the file system. After the script finished, the permissions to write or read files are canceled.
For example to write the result of a script to a file:
var fileName = Banana.IO.getSaveFileName("Select save file", "", "Text file (*.txt);;All files (*)") if (fileName.length) { var file = Banana.IO.getLocalFile(fileName) file.codecName = "latin1"; // Default is UTF-8 file.write("Text to save ..."); if (!file.errorString) { Banana.IO.openPath(fileContent); } else { Banana.Ui.showInformation("Write error", file.errorString); } } else { Banana.Ui.showInformation("Info", "no file selected"); }
To read the content of a file:
var fileName = Banana.IO.getOpenFileName("Select open file", "", "Text file (*.txt);;All files (*)") if (fileName.length) { var file = Banana.IO.getLocalFile(fileName) file.codecName = "latin1"; // Default is UTF-8 var fileContent = file.read(); if (!file.errorString) { Banana.IO.openPath(fileContent); } else { Banana.Ui.showInformation("Read error", file.errorString); } } else { Banana.Ui.showInformation("Info", "no file selected"); }
Methods
getOpenFileName(caption, path, filter)
The method getOpenFileName returns an existing file selected by the user. If the user presses Cancel, it returns an empty string. The file selected by the user is then allowed to be readen, but not written.
The parameter caption is the caption of the dialog.
The parameter path is path inclusive the file name to be selected. If the path is relative, the current open document path or the user's document path is used.
The parameter filter set the files types to be showed. If you want multiple filters, separate them with ';;', for example: "Text file (*.txt);;All files (*)".
var fileName = Banana.IO.getOpenFileName("Select file to read", "", "Text file (*.txt);;All files (*)")
Since: Banana Accounting 8.0.7, only in Banana Experimental
getSaveFileName(caption, path, filter)
The method getSaveFileName returns an existing file selected by the user. If the user presses Cancel, it returns an empty string. The file selected by the user is then allowed to be readen and written.
The parameter caption is the caption of the dialog.
The parameter path is path inclusive the file name to be selected. If the path is relative, the current open document path or the user's document path is used.
The parameter filter set the files types to be showed. If you want multiple filters, separate them with ';;', for example: "Text file (*.txt);;All files (*)".
var fileName = Banana.IO.getSaveFileName("Select file to write", "", "Text file(*.txt);;All files (*)")
Since: Banana Accounting 8.0.7, only in Banana Experimental
getLocalFile(path)
The method getLocalFile(path) return an object of type Banana.IO.LocalFile that represent the requested file. This method always return a valid Banana.IO.LocalFile object.
The parameter path to the file.
Since: Banana Accounting 8.0.7, only in Banana Experimental
openUrl(path)
The method openUrl(path) open the file referred by path in the system default application.
The parameter path to the file.
Since: Banana Accounting 8.0.7, only in Banana Experimental
openPath(path)
The method openPath(path) show the folder containing the file referred by path in the system file manager.
The parameter path to the file.
Since: Banana Accounting 8.0.7, only in Banana Experimental
Banana.IO.LocalFile
The LocalFile class represent a file on the local file system. See Banana.IO for an example.
Since: Banana Accounting 8.0.7, only in Banana Experimental
Properties
codecName
The name of the codec to be used for reading or writing the file. Default is 'UTF-8'.
errorString
Read only. The string of the last occured error. If no error occured it is empty.
Methods
read()
Returns the content of the file. This function has no way of reporting errors. Returning an empty string can mean either that the file is empty, or that an error occurred. Check the content of the property errorString to see if an error occured.
write(text [, append])
Write text to the file. If append is set to true, text is appended to the file. Return true if the operation was succesfully, false otherwise.
Banana.Report
The class Banana.Report enable you to create reports, preview and print in Banana Accounting.
Introduction
The report logic is similar to the HTML / CSS logic:
- Create a Report object .
- A report contain a list of ReportEements (paragraphs, texts, tables and other)
- The element can contains other sub-elements
- For each element you can add a class that is used for rendering the element
- Create a StyleSheet
- A stylesheet is composed of StyleElements.
- You preview and print a report by passing the Report and the Stylesheet object.
Each report sturcture has:
- a ReportElement list
- a Header Element list
- a Footer Element list
// Report var report = Banana.Report.newReport("Report title"); report.addParagraph("Hello World !!!", "styleHelloWorld"); // Styles var stylesheet = Banana.Report.newStyleSheet(); var style = stylesheet.addStyle(".styleHelloWorld"); style.setAttribute("font-size", "96pt"); style.setAttribute("text-align", "center"); style.setAttribute("margin-top", "50mm"); var style2 = stylesheet.addStyle("@page"); style2.setAttribute("size", "landscape"); // Print preview Banana.Report.preview(report, stylesheet);
Methods
newReport(title)
Creates a report with title 'title'. The returned object is of type Banana.Report.ReportElement.
To the report you can then add the desired elements, like paragraphs, texts, tables, and so on that construct the structure of the report.
var report = Banana.Report.newReport("Report title");
newStyleSheet()
Creates an empty stylesheet. The returned object is of type Banana.Report.ReportStyleSheet.
To the stylesheet you can add the styles that format the report.
var stylesheet = Banana.Report.newStyleSheet();
newStyleSheet(fileName)
Creates a stylesheet from a file. The file has the same syntax as CSS stylesheets. The file path is relative to the script's path. The path can't contain a '..'' (parent directory).
The returned object is of type Banana.Report.ReportStyleSheet.
You can add further styles to the returned stylesheet.
var reportStyles = Banana.Report.newStyleSheet("styles.css"); *** Content of file styles.css *** .helloWorldStyle { font-size: 96pt; text-align: center; margin-top: 50mm; } @page { size: landscape; } *** End of file styles.css ***
preview(report, stylesheet)
Opens a print preview Dialog and shows the report with the given stylesheet.
The page orientation is given by the stylesheet. The default size and orientation is taken from the default printer, or can be set through the stylesheet.
// Set landscape orientation stylesheet.addStyle("@page {size: landscape}"); // Set page size and orientation stylesheet.addStyle("@page {size: A5 lanscape}"); // Displays the report Banana.Report.preview(report, stylesheet);
Example: Hello world
// Simple test script using Banana.Report // // @id = ch.banana.script.report.helloworld // @api = 1.0 // @pubdate = 2017-01-02 // @publisher = Banana.ch SA // @description = Report Hello world // @task = app.command // @doctype = * // @inputdatasource = none // @timeout = -1 // function exec(string) { // Create the report var report = Banana.Report.newReport("Report title"); // Add a paragraph to the report report.addParagraph("Hello World !!!", "helloWorldStyle"); // Define some styles var stylesheet = Banana.Report.newStyleSheet(); var style = stylesheet.addStyle(".helloWorldStyle"); style.setAttribute("font-size", "96pt"); style.setAttribute("text-align", "center"); style.setAttribute("margin-top", "50mm"); var style2 = stylesheet.addStyle("@page"); style2.setAttribute("size", "landscape"); // Open Preview Banana.Report.preview(report, stylesheet); }
Exemple: an example with tables, page breaks and differents styles
Result
Script
// Test script using Banana.Report // // @id = ch.banana.script.report.report // @api = 1.0 // @pubdate = 2017-01-02 // @publisher = Banana.ch SA // @description = Test report api // @task = app.command // @doctype = * // @outputformat = none // @inputdatasource = none // @timeout = -1 // function exec(string) { // Report var report = Banana.Report.newReport("Report title"); var pageHeader = report.getHeader() pageHeader.addClass("header"); pageHeader.addText("Page header"); report.getFooter().addFieldPageNr(); var watermark = report.getWatermark(); watermark.addParagraph("Sample built with Script Report API"); report.addParagraph("Report title", "titleStyle"); report.addParagraph("1. Text", "chapterStyle").setOutline(1); report.addParagraph("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do " + "eiusmod tempor incididunt ut labore et dolore magna aliqua. " + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip " + "ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit " + "esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non " + "proident, sunt in culpa qui officia deserunt mollit anim id est laborum."); var paragraph2 = report.addParagraph(); paragraph2.addText("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do "); paragraph2.addText("eiusmod tempor incididunt ut labore et dolore magna aliqua. ", "blueStyle"); paragraph2.addText("Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ", "boldStlyle"); paragraph2.addText("ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit ", "underlineStyle boldStyle"); paragraph2.addText("esse cillum dolore eu fugiat nulla pariatur."); paragraph2.addLineBreak(); paragraph2.addText("Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", "italicStyle"); report.addParagraph("2. Table", "chapterStyle").setOutline(1); var table = report.addTable(); table.getCaption().addText("Table caption"); var tableHeader = table.getHeader(); var tableHeaderRow = tableHeader.addRow(); tableHeaderRow.addCell("Description", "", 2); tableHeaderRow.addCell("Income"); tableHeaderRow.addCell("Expense"); tableHeaderRow.addCell("Balance"); var tableRow = table.addRow(); tableRow.addCell(); tableRow.addCell("Initial balance"); tableRow.addCell(); tableRow.addCell(); tableRow.addCell(Banana.Converter.toLocaleNumberFormat("157.00")).addClass("balanceStyle"); var tableRow = table.addRow(); tableRow.addCell(Banana.Converter.toLocaleDateFormat("2014-02-11")); tableRow.addCell("Transfer from post office account"); tableRow.addCell(Banana.Converter.toLocaleNumberFormat("500.00")); tableRow.addCell(); tableRow.addCell(Banana.Converter.toLocaleNumberFormat("657.00")).addClass("balanceStyle"); var tableRow = table.addRow(); tableRow.addCell(Banana.Converter.toLocaleDateFormat("2014-02-20")); tableRow.addCell("Various payments"); tableRow.addCell(); tableRow.addCell(Banana.Converter.toLocaleNumberFormat("7250.00")); tableRow.addCell(Banana.Converter.toLocaleNumberFormat("-6593.00")).addClass("balanceStyle negativeStyle"); var tableRow = table.addRow("totalrowStyle"); tableRow.addCell(); tableRow.addCell("Total transactions"); tableRow.addCell(Banana.Converter.toLocaleNumberFormat("500.00")); tableRow.addCell(Banana.Converter.toLocaleNumberFormat("7250.00")); tableRow.addCell(Banana.Converter.toLocaleNumberFormat("-6593.00")).addClass("balanceStyle negativeStyle"); report.addParagraph("3. Bookmarks and links", "chapterStyle").setOutline(1); report.addParagraph("3.1 Internal links", "chapter2Style").setOutline(2); report.addParagraph("-> link to bookmark on page 2").setLink("bookmarkpage2"); report.addParagraph("3.2 External links", "chapter2Style").setOutline(2); report.addParagraph("-> link to Banana.ch web page").setUrlLink("http://www.banana.ch"); report.addPageBreak(); var chapter4 = report.addParagraph("4. Pages", "chapterStyle"); chapter4.setOutline(1); report.addParagraph("Bookmark on page 2").setBookmark("bookmarkpage2"); // Styles var docStyles = Banana.Report.newStyleSheet(); var pageStyle = docStyles.addStyle("@page"); pageStyle.setAttribute("margin", "20mm 20mm 20mm 20mm"); var headerStyle = docStyles.addStyle("phead"); headerStyle.setAttribute("padding-bottom", "1em"); headerStyle.setAttribute("margin-bottom", "1em"); headerStyle.setAttribute("border-bottom", "solid black 1px"); var footerStyle = docStyles.addStyle("pfoot"); footerStyle.setAttribute("text-align", "right"); var paragraphStyle = docStyles.addStyle("p"); paragraphStyle.setAttribute("margin-top", "0.5em"); var captionStyle = docStyles.addStyle("caption"); captionStyle.setAttribute("margin-top", "1em"); var titleStyle = docStyles.addStyle(".titleStyle"); titleStyle.setAttribute("font-size", "24"); titleStyle.setAttribute("text-align", "center"); titleStyle.setAttribute("margin-bottom", "1.2em"); docStyles.addStyle(".chapterStyle", "font-size:16; margin-top:2em; margin-bottom:0.2em"); docStyles.addStyle(".chapter2Style", "font-size:12; margin-top:1.4em; margin-bottom:0.2em"); var tableStyle = docStyles.addStyle("table"); tableStyle.setAttribute("border", "2px solid red"); docStyles.addStyle("td", "border: 1px dashed black; padding: 2px;"); var tableColStyle = docStyles.addStyle(".balanceStyle"); tableColStyle.setAttribute("background-color", "#E0EFF6"); tableColStyle.setAttribute("text-align", "right"); var totalRowStyle = docStyles.addStyle(".totalrowStyle"); totalRowStyle.setAttribute("font-weight", "bold"); var totalBalanceStyle = docStyles.addStyle(".totalrowStyle td.balanceStyle"); totalBalanceStyle.setAttribute("text-decoration", "double-underline"); docStyles.addStyle(".blueStyle", "color:blue"); docStyles.addStyle(".underlineStyle", "text-decoration:underline;"); docStyles.addStyle(".italicStyle", "font-style:italic;"); docStyles.addStyle(".boldStyle", "font-weight:bold"); // Open Preview Banana.Report.preview(report, docStyles); }
Banana.Report.ReportElement
The class Banana.Report.ReportElement represents the report itself and every element in the report, like sections, paragraphs, tables, texts and the report itself.
Once you create a new report through the method Banana.Report.newReport() you can start adding sections, paragraphs, texts, tables and so on.
When you add an element with one of the add methods, you get as return value an object of type
Elements as a container of other elements.
Banana.Report.ReportElement that represents the added element.
To this object you can add further elements and by this way construct the structure of the report.
Report
+ Paragraph
+ Table
+ Row
+ Cell
+ Cell
+ Row
+ Cell
+ Cell
...
Even if this interface enable you to add tables to text elements or columns to paragraphs, the result will be undefined.
Formatting like text size, text color, margins, and so on are set separately through a Banana.Report.ReportStyleSheet object.
Methods
addClass(classes)
Add classes to the node. A class binds the element to the corresponding class style definend in Banana.Report.ReportStyleSheet as used in CSS Stylesheets.
var report = Banana.Report.newReport("Report title"); report.addParagraph("1250.00").addClass("balanceStyle");
addSection([classes])
Add a section and return the created section as a Banana.Report.ReportElement object.
You can add sections only to sections, cells, captions, headers or footers.
var report = Banana.Report.newReport("Report title"); //Add a section with a style var section = report.addSection("sectionStyle"); section.addParagraph("First paragraph"); section.addParagraph("Second paragraph");
addParagraph([text, classes])
Add a paragraph and return the created paragraph as a Banana.Report.ReportElement object.
You can add paragraphs only to sections, cells, captions, headers or footers.
var report = Banana.Report.newReport("Report title"); //Add an empty paragraph report.addParagraph(" "); //Add a paragraph with a text report.addParagraph("Hello World !!!"); //Add a paragraph with a text and a style report.addParagraph("Hello World !!!", "styleHelloWorld");
addText(text [, classes])
Add a text node and return the create text as a Banana.Report.ReportElement object.
You can add texts only to sections, paragraphs, cells, captions, headers or footers.
var report = Banana.Report.newReport("Report title"); //Add a text report.addText("Hello world !!!"); //Add a text with a style report.addText("Hello world !!!", "styleHelloWorld");
addTable([classes])
Add a table and return the created table as a Banana.Report.ReportElement object.
You can add tables only to the report or sections.
var report = Banana.Report.newReport("Report title"); var myTable = report.addTable("myTable");
addColumn([classes])
Add a column and return the created column as a Banana.Report.ReportElement object.
You can add columns only to tables.
var column1 = myTable.addColumn("column1"); var column2 = myTable.addColumn("column2"); var column3 = myTable.addColumn("column3");
addRow([classes])
Add a row and return the created row as a Banana.Report.ReportElement object.
You can add rows only to tables, table headers or table footers.
var tableRow = myTable.addRow(); ...
addCell([span])
Add an empty cell and return the created cell as a Banana.Report.ReportElement object.
You can add cells only to rows. You can span cells over columns but not over rows.
tableRow.addCell(); //span empty cell over 1 column (default value) tableRow.addCell("", 3); //span empty cell over 3 columns ...
addCell(text [,classes, span])
Add a cell to the node and return the created cell as a Banana.Report.ReportElement object.
You can add cells only to rows.You can span cells over columns but not over rows.
tableRow.addCell("Bank", "firstCellStyle", 3); //span cell over 3 columns tableRow.addCell("1200.65", "secondCellStyle, 1); //span cell over 1 column ...
addLineBreak()
Add a line break and return the created line break as a Banana.Report.ReportElement object.
You can add line breaks only to paragraphs or cells.
// Add a line break to a paragraph var p = report.addParagraph(" "); p.addLineBreak(); // Add a line break to a cell var c = tableRow.addCell(); c.addLineBreak();
addPageBreak()
Add a page break node and return the created page beak as a Banana.Report.ReportElement object.
You can add page breaks only to the report or sections.
var report = Banana.Report.newReport("Report title"); ... report.addPageBreak(); ...
addImage(path [,classes])
Add an image and return the created image as a Banana.Report.ReportElement object. Supported formats are png and jpg.
The path can be relative to the script's folder, the document's folder, the name of a document attacched to the file or a data uri scheme (for images imbedded in the document).
- file:script/<relative_path_to_script_folder>/<image_name>
- file:document/<relative_path_to_file_folder>/<image_name>
- documents:<document_name>
- data:[<media type>][;charset=<character set>][;base64],<data>
You can add images only to sections, paragraphs, cells, captions, headers or footers.
The parameter path can be absolute or relative to the script path.
Since: Banana Accounting 8.0.5
var report = Banana.Report.newReport("Report title"); // Add an image located in the script folder report.addImage("file:script/logo_abc.jpg"); // Add an image located in the dcoument folder report.addImage("file:document/logo_mnp.jpg"); // Add an image saved in the table documents report.addImage("documents:logo_xyz.jpg"); // Add an image (a red dot) included in the document report.addImage("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 9TXL0Y4OHwAAAABJRU5ErkJggg==");
addImage(path, widht, height [,classes])
Overloaded method to add an image and return the created image as a Banana.Report.ReportElement object.
The parameters widht and height have the same syntax as css lenhgt values. They can be absolute (ex.: "30px", "3cm", ... ) or relative (ex.: "50%", "3em", ...).
Since: Banana Accounting 8.0.5
var report = Banana.Report.newReport("Report title"); report.addImage("documents:image_logo", "3cm", "5cm");
addFieldPageNr([classes])
Add a field with containg the page number and return the created field as a Banana.Report.ReportElement object.
You can add this field only to sections, paragraphs, cells, captions, headers or footers.
var report = Banana.Report.newReport("Report title"); ... // Add the page number to the paragraph report.addParagraph("Page ").addFieldPageNr(); // Add a page number to the footer var footer = report.getFooter(); footer.addText("Page "); footer.addFieldPageNr();
getWatermark()
Return the watermak element.
Only the report has a watermak element.
var watermark = report.getWatermark(); watermark.addParagraph("Watermark text");
getHeader()
Return the header of the element.
Only tables and the report have an header element.
var report = Banana.Report.newReport("Report title"); //Report var reportHeader = report.getHeader(); reportHeader.addClass("header"); reportHeader.addText("Header text"); //Table var table = report.addTable("myTable"); var tableHeader = table.getHeader(); tableRow = tableHeader.addRow(); tableRow.addCell("Description"); tableRow.addCell("Amount");
getFooter()
Return the footer of the element.
Only tables and the report have a footer element.
//Report var footer = report.getFooter(); footer.addText("Footer text");
getCaption()
Return the caption of the element.
Only tables have a caption element.
var table = report.addTable("MyTable"); var caption = table.getCaption(); caption.addText("Table caption text", "captionStyle");
getTag()
Return the tag of the element, like 'body', 'p', 'table', 'td' and so on.
var report = Banana.Report.newReport("Report title"); ... report.getTag(); // returns 'body' footer.getTag(); // returns 'pfoot' ...
getTitle()
Return the title of the element.
Only a document element have a title.
var report = Banana.Report.newReport("My Report Title"); var title = report.getTitle(); // return 'My Report Title'
Since: Banana Accounting 8.0.5
setOutline(level)
Set the outline level, this is used to create the index when exporting to pdf.
report.addParagraph("1. Text").setOutline(1);
setBookmark(bookmark)
Set a bookmark (or anchor), this is used in conjunction with setLink().
report.addParagraph("Bookmark on page 2").setBookmark("bookmarkpage2");
setLink(bookmark)
Set a link to a bookmark. See setBookmark().
report.addParagraph("-> link to bookmark on page 2").setLink("bookmarkpage2");
setPageBreakBefore()
Set to insert a page break before the element.
// Insert a page break before a paragraph report.addParagraph("Hello world!!!").setPageBreakBefore(); // Insert a page break before a table /* first create a table then... */ myTable.setPageBreakBefore();
setSize(width, height)
Set the size of the element.
The parameters widht and height have the same syntax as css lenhgt values. They can be absolute (ex.: "30px", "3cm", ... ) or relative (ex.: "50%", "3em", ...).
You can only set the size of an image element.
Since: Banana Accounting 8.0.5
var image = report.addImage("C:/Documents/Images/img.jpg"); image.setSize("3cm", "6cm");
setStyleAttribute(attr_name, attr_value)
Set a style attribute to the element. Attributes ids and values follow the CSS specification. This attibute correspont to the inline styles in Css.
paragraph.setAttribute("font-size", "24pt");
setStyleAttributes(attributes)
Set style attributes to the element. Attributes ids and values follow the CSS specification. Those attributes correspond to the inline styles in Css.
paragraph.setAttribute("font-size:24pt;font-weight:bold;");
setTitle(title)
Set the title of the element.
Title can be only set to a document element.
Since: Banana Accounting 8.0.5
document.setTitle("Annual report");
setUrlLink(link)
Set a link to an external file (file://...) or a web page (http://....).
To the element the class "link" is automatically added.
report.addParagraph("Link to Banana.ch web page").setUrlLink("http://www.banana.ch");
Banana.Report.ReportStyle
The class Banana.Report.ReportStyle represent a single style in a stylesheet. It is used to set the style attributes.
Methods
setAttribute(attr_name, attr_value)
Set the attribute value. Attributes ids and values follow the CSS specification.
style.setAttribute("font-size", "24pt");
setAttributes(attributes)
Set attributes values. Attributes ids and values follow the CSS specification.
style.setAttributes("font-size:24pt;font-weight:bold;");
Supported attributes
font
font-family
font-size
font-style
font-weight
margin [top, right, bottom, left]
margin-top
margin-bottom
margin-left
margin-right
padding
padding-top
padding-bottom
padding-left
padding-right
hanging-ident
text-align
text-decoration
text-ellipsis
vertical-align
color
background-color
border
border-top
border-top-style
border-top-color
border-top-width
border-bottom
border-bottom-style
border-bottom-color
border-bottom-width
border-left
border-left-style
border-left-color
border-left-width
border-right
border-right-style
border-right-color
border-right-width
display
overflow
float
text-wrap
width
max-width
min-width
height
page-break-after
column-break-after
line-break-after
page-break-before
column-break-before
line-break-before
page-break-inside
line-break-inside
size
position
left
top
right
bottom
transform (matrix, translateX, translateY, translate, rotate, scaleX, scaleY, scale, skewX, skewY and skew)
transformOrigin
orphans
fill-empty-area
Non standard attributes and values
width-sym
This attribute contain a string. Columns with the same width-sym will be layouted with the same width.
layout-sym
This attribute is a string. Tables with the same layout-sym attribute will have the same layout for the width of the columns.
overflow
This attribute has the non standard value "shrink". The content of the node will be down scaled to fit given space.
style.setAttribute("overflow", "shrink");
overflow-shrink-max
This attibute the maximal down scaling factor (like 0.8).
style.setAttribute("overflow-shrink-max", "0.6");
text-decoration
This attribute can also contains the values "double-underline" or "double-strong-underline".
style.setAttribute("text-decoration", "underline");
border-style
This attribute can also contain the values "double" and "double-strong".
style.setAttribute("border-style", "double");
flexible-width
This attribute can contain the value "always" and is only used with columns. If in a table one or more columns have the attribute "flexible-widht", only those columns are enlarged to get the desired table widht, untouching the other. Otherwise all columns are enlarged.
fill-empty-area
With this attribute you can fill the remaing space of your page with lines. Lines can be defined through the attribute, which is a string and contains the color, the style and the width of the line.
Style can be: solid, dash and dot.
Examples:
var style1 = stylesheet.addStyle("@page", "black solid 1"); var style2 = stylesheet.addStyle("@page", "green dash 0.5");
Banana.Report.ReportStyleSheet
The class Banana.Report.ReportStyleSheet is used to set the styles to format a report.
Page size and orientation
At this moment the report is rendered based on the page size defined in the default printer device.
You can't define a page size, bu you can set the orientation with the Style @page.
Page orientation can't be set only once per report, you can't switch from potrait to landscape.
var stylesheet = Banana.Report.newStyleSheet(); stylesheet.addStyle("@page").setAttribute("size", "landscape");
Methods
addStyle(selector)
Create a new style with the given selector. The return object is of type Banana.Report.ReportStyle.
The syntax of selector follow the CSS specification.
- Style name without a preceding dot are reserved predefined tags like "td", "p", "table"
- Style name for new class need a preceding point ".myStyle" in the addStyle method.
The dot name is not used when adding the class name to the element
report.addParagraph("Text to print 24pt", "myStyle"); var style = stylesheet.addStyle(".myStyle"); myStyle.setAttribute("font-size", "24pt"); myStyle.setAttribute("text-align", "center"); report.addCell("Text to print"); var styleTd = stylesheet.addStyle("td"); styleTd.setAttribute("font-weight", "bold");
addStyle(selector, attributes)
Create a new style with the given selector and attributes. The return object is of type Banana.Report.ReportStyle.
The syntax of selector and attributes follow the CSS specification.
var style2 = stylesheet.addStyle(".style2", "font.size: 24pt; text-align: center");
parse(text)
Load the styles from the given text. The text follow the CSS specification.
stylesheet.parse(
"p.style1 {font-size:24pt; text-align:center;}" +
"@page {size:A4 landscape;}"
);
The selector
The selector follow the css syntax, following you will find some examples:
Selector | Selected elements |
.xyz |
Select all elements with class xyz NB.: When you set the class to a ReportElement you enter the name without '.' |
table | Select all tables |
table.xyz | Select all tables with class xyz |
table.xyz td | Select all cells in tables with class xyz |
@page | page |
body | content of the report |
phead | page header |
pfoot | page footer |
div | section |
p | paragraph |
table | table |
caption | table caption |
thead | table header |
tbody | table body |
tfoot | table footer |
tr | table row |
td | table cell |
You can get the tag of an element through the method getTag();
Report FAQ
How can I set the orientation of the page and the margins
// Set landscape orientation styleSheet.addStyle("@page", "size: landscape"); // Page margins top, right, bottom, left styleSheet.addStyle("@page", "margin: 20mm 20mm 20mm 25mm");
How can I set the size of the page
// Set page size styleSheet.addStyle("@page", "size: A5");
How can I set the margins of page header and footer
styleSheet.addStyle("phead", "margin-bottom:2em"); styleSheet.addStyle("pfoot", "margin-top:2em");
How can I print the page number on the right of the page footer
document.getFooter().addFieldPageNr("alignright"); stylesheet.addStyle("pfoot", "text-align:right");
Can I print the total number of pages
No
I like a style implemented in a report of Banana Accounting, where can I get the used stylesheet?
In print preview export the report as html and look at the code. You will find the used styles.
Banana.SDecimal
The Banana.SDecimal (String Decimal) provide functions to do decimal math calculation that
- use decimal string in the form of '10.00' or '-10' as argument and return value
- '.' is interpreted as the decimal separator
- thousand separator are not allowed
- has up to 34 digits of numeric precision
- do accurate decimal rounding
You can use this functions instead of the javascript Number that use floating point arithmetic and are not very suitable for accounting calculation do the rounding differences.
var r = Banana.SDecimal.add('6.50', '3.50'); // return '10.00' var r = Banana.SDecimal.divide('10', '2'); // return '5.00' var r = Banana.SDecimal.divide('10', '2', ''); // return '5' var r = Banana.SDecimal.divide('10', '2'); // return '5.00000'
Rounding context
Functions can be passed a rounding context that specify the rounding properties:
- decimals is the number of decimal digits (default value is 2)
- null returns the value unrounded.
- '0' returns with no decimals.
- '1' to '33' returns the value with the indicated number o decimals.
- mode is the rounding mode (default value is HALF_UP)
- Banana.SDecimal.HALF_UP the amount are rounded to the nearest. The 0.5 are rounded up.
- Banana.SDecimal.HALF_EVEN the amount are rounded to the nearest. The 0.5 are rounded up or down based on the preceding digit.
If the rounding context is omitted no rounding is done.
Rounding context of the accounting file
All Banana document file have a rounding context that can be retrieved with the property Banana.document.rounding (see Banana.document).
Examples:
// no context var r = Banana.SDecimal.divide('10', '3'); // return '3.3333333333333333333333333' // with context var context = {'decimals' : 4, 'mode' : Banana.SDecimal.HALF_UP}; var r = Banana.SDecimal.divide('10', '3', context); // return '3.3333' var r = Banana.SDecimal.divide('10', '3', {'decimals':0}); // return '3' // use the rounding property (accunting file 2 decimals) var r = Banana.SDecimal.divide('10', '3', Banana.document.rounding); // return '3.33'
Functions
abs(value1, [, rounding])
Returns the value1 without the sign and rounded as indicated
var r = Banana.SDecimal.abs('-10') // return '10.00'
add(value1, value2 [, rounding])
Returns the sum of value1 and value2.
var r = Banana.SDecimal.add('6.50', '3.50'); // return '10.00'
compare(value1, value2)
Returns an integer value
- 1 if value1 > value2
- 0 if value1 = value2
- -1 if value1 < value2
Banana.SDecimal.compare('3.50', '2'); // return '1' Banana.SDecimal.compare('3.00', '3'); // return '0'
divide(value1, value2 [, rounding])
Returns value1 divided by value2.
var r = Banana.SDecimal.divide('6', '3'); // return '2.00'
isZero(value)
Returns a boolean
- true if value is zero
- false if value is not zero
var r = Banana.SDecimal.isZero('3.00'); // return 'false'
max(value1, value2 [, rounding])
Returns the max of value1 and value2.
var r = Banana.SDecimal.max('6', '3'); // return '6.00'
min(value1, value2 [, rounding])
Returns the min of value1 and value2.
var r = Banana.SDecimal.min('6', '3'); // return '3.00'
multiply(value1, value2 [, rounding])
Returns value1 multiplied by value2.
var r = Banana.SDecimal.multiply('6', '3'); // return '18.00'
remainder(value1, value2 [, rounding])
Divide value1 by value2 and returns the reminder.
var r = Banana.SDecimal.reminder('10', '3'); // return '1.00'
round(value1, [, rounding])
Returns value1 round to the spcified rounding context.
var r = Banana.SDecimal.round('6.123456'); // no context no rounding r = Banana.SDecimal.round('6.123456', {'decimals':2}); // return '6.12'
roundNearest(value1, nearest, [, rounding])
Returns value1 round to the specified minimal amount.
var r = Banana.SDecimal.roundNearest('6.17', '0.1'); // return '6.1' r = Banana.SDecimal.roundNearest('6.17', '0.05', {'decimals':2}); // return '6.15'
invert(value, [, rounding])
If positive returns a negative value, if negative returns a positive value.
var a = Banana.SDecimal.invert('5'); //return '-5' var b = Banana.SDecimal.invert('-2.50'); //return '2.50'
sign(value)
Returns an integer value
- 1 if value > 0
- 0 if value = 0
- -1 if value < 0
var r = Banana.SDecimal.sign('-5'); // return '-1'
subtract(value1, value2 [, rounding])
Subtract value2 from value1 and returns the result.
var r = Banana.SDecimal.subtract('10', '3'); // return '7.00'
Locale conversion
To convert to and from the locale format use the Banana.Converter functions
-
Banana.Converter.toInternalNumberFormat(value [, decimals, convZero])
-
Banana.Converter.toLocaleNumberFormat(value [, decimalSeparator])
var sum = Banana.SDecimal.add('10000', '2000'); // return '12000.00' var printValue = Banana.Converter.toLocaleNumberFormat(sum); // return "12'000.00"
Banana.Script
Banana.Script represent the interface to the script file and can be accessed through Banana.script. It is used to get the parameters values defined in the script. For example if you want to print out in a report the publishing date of the script.
Properties
Methods
getParamValue(paramName)
Return the value definend in the script file of the parameter paramName. Return an empty string or the internal default value if the parameter is not defined. Return the first found value, if the parameter is defined multiple times.
Banana.script.getParamValue('pubdate'); // returns for example '2016-05-11'
getParamValues(paramName)
Return all the values defined in the script file of the param paramName . Return an empty array if the parameter paramName is not defined.
// Script.js example: // ... // @authors = Pinco // @authors = Pallino // ... Banana.script.getParamValues('authors'); // returns ['Pinco', 'Pallino']
getParamLocaleValue(paramName)
Return the localized value definend in the script file of the param paramName. Return an empty string the parameter is not defined.
// Script.js example: // ... // @description = English desciption // @description.it = Descrizione italiana // @description.de = German Beschreibung ... Banana.script.getParamLocaleValue('description'); // returns 'Descrizione italiana' for a system running with the locale 'italian'.
Banana.Ui
This class Banana.Ui contains methods to interact with user interface.
Methods
createUi(uiFilePath)
Read the file uiFilepath and return an object representing the dialog. The uiFileName has to be in the same directory as the running script. For details and examples see Script dialogs.
If an error occurred undefiend is returned.
Example:
@includejs = ch.banana.calculator.dialog.js; // Define the class Calculator // that control the .ui file ... var calculatorUi = Banana.Ui.createUi("ch.banana.calculator.dialog.ui"); var calcJs = new Calculator(calculatorUi); calclatorUi.exec(); //Show the dialog
getDouble(title, label [, value , min, max, decimals])
Show the user a dialog asking to insert a double. Return the inserted double or undefined if the user clicked cancel.
var a = Banana.Ui.getDouble("Title text", "Label text"); var b = Banana.Ui.getDouble("Title text", "Label text", "10.0");
getInt(title, label [, value, min, max, steps])
Show the user a dialog asking to insert a integer. Return the inserted integer or undefined if the user clicked cancel.
var a = Banana.Ui.getInt("Title text", "Label text"); var b = Banana.Ui.getInt("Title text", "Label text", "5", "1", "10","1");
getItem(title, label, items [, current, editable])
Show the user a dialog asking to select an intem from a list. Return the selected item or undefined if the user clicked cancel.
var value = Banana.Ui.getItem("Input", "Choose a value", ["a","b","c","d","e"], 2, false);
getPeriod(title, startDate, endDate [, selectionStartDate, selectionEndDate, selectionChecked])
Show the user a dialog asking to select a period like the tab Period. Return an object with the atributes 'startDate', 'endDate' and 'hasSelection' or undefined if the user clicked cancel. Date values are in the format "YYYY-MM-DD".
var period = Banana.Ui.getPeriod("Title text", "2016-01-01", "2016-12-31"); if (period) { var selectedStartDate = period.startDate; // return the start date of the selected period var selectedEndDate = period.endDate; // return the end date of the selected period }
getText(title, label [, text])
Show the user a dialog asking to insert a text. Return the inserted text or undefined if the user clicked cancel.
var text = Banana.Ui.getText("Title text","Label text");
showHelp(uiFileName)
Show the help of a dialog. The help is loaded from the Banana.ch web site.
showInformation(title, msg)
Show the user an information dialog.
Banana.Ui.showInformation("Information", 'Insert here the text of the information.');
showQuestion(title, question)
Show the user a question dialog with Yes and No buttons. Return true if the user clicked Yes, otherwise false.
var answer = Banana.Ui.showQuestion("Question title", "Insert here the text of the question");
showText(text)
Show the given text in a dialog. The text can be plain text of html and span over multiple lines. If the text is in html the title is taken form the html. The dialog enable the user to save the content in the formats html, pdf, odf and txt.
The use of pixels to set the font sizes is not supported, the text is not rendered properly.
// Normal text Banana.Ui.showText("Insert here the text."); // Html text Banana.Ui.showText('<html><header><title>This is title</title></header><body>Hello world</body></html>');
showText(title, text)
This is an overloaded function.
Show the given text in a dialog with the given title. The text can be plain text of html and span over multiple lines. The dialog enable the user to save the content in the formats html, pdf, odf and txt.
showText(title, text, options)
This is an overloaded function.
Show the given text in a dialog with the given title. The text can be plain text of html and span over multiple lines. The dialog enable the user to save the content in the formats html, pdf, odf and txt.
Through the object options it is possible to set the following additional parameters:
- codecName: the name of the codec to be used in case the content will be saved as txt file. Default is 'UTF-8'
- outputFileName: the file name without path to be used in case the content will be saved. The path is current open document path or the user's document path.
var options = { 'codecName' : "latin1", // Default is UTF-8 'outputFileName' : "prova.txt" } Banana.Ui.showText("Title", "some text...", options);
Since Banana 8.0.7
Banana.Xml
The Banana.Xml class is used to parse and access xml data.
Since: Banana Accounting 8.0.5
Introduction
The API Banana.Xml and Banana.Xml.XmlElement implement a subset of the DOM Document Object Model interface. The most used properties and methos are implemented.
For example the list of books in the following xml file:
<Library updated="2016-10-31"> <Book> <Title>Paths of colours</Title> <Author>Rosa Indaco</Author> </Book> <Book> <Title>Accounting exercises</Title> <Author>Su Zhang</Author> </Book> </Library>
Can be retrieved with the following code:
var xmlFile = Banana.Xml.parse(xml); var xmlRoot = xmlFile.firstChildElement('Bookshelf'); var updateDate = xmlRoot.attribute('updated'); var bookNode = xmlRoot.firstChildElement('Book'); // First book while (bookNode) { // For each book in the library var title = xmlFile.firstChildElement('Title').text(); var authorNode = xmlFile.firstChildElement('Author'); var author = authorNode ? authorNode.text() : 'unknow'; bookNode = bookNode.nextSiblingElement('Book'); // Next book }
Methods
parse(xml)
The method parse(xml) parses xml data and returns an object of type Banana.Xml.XmlElment that represents the parsed xml. If the xml data is not valid, this method returns null.
var xmlFile = Banana.Xml.parse(xml); var xmlRoot = xmlFile.firstChildElement('Bookshelf'); // The root element is named 'Bookshelf' in this example
Banana.Xml.XmlElement
The XmlElement class represent an Xml element. See Banana.Xml for an example.
Since: Banana Accounting 8.0.5
Properties
nodeName
The read only property nodeName returns the node name of the xml element.
parent
The read only property parent returns the parent of this Xml element as a Banana.Xml.XmlElment object. If this is the root element, it return null.
text
The read only property text returns the text of this Xml element and their childs.
value
This is a synomin of the property text.
Methods
attibute(name [, defaultValue])
Returns the value of the attribute with the specified name as a string. If no attibute with the specified name is found, the defaultValue or an empty string is returned.
attibuteNS(ns, name [, defaultValue])
Returns the value of the attribute with the specified name and namespace as a string. If no attibute with the specified name is found, the defaultValue or an empty string is returned.
hasAttribute(name)
Returns true is the attribute with the specified name exists.
hasAttributeNS(ns, name)
Returns true is the attribute with the specified name and namespace exists.
firstChildElement([name])
Returns the first child element with the specified name if name is non-empty, otherwise it returns the first child element. Returns null if no such child exists.
var bookNode = xmlRoot.firstChildElement('Book'); // First book while (bookNode) { // For each book in the library var title = xmlFile.firstChildElement('Title').text(); bookNode = bookNode.nextSiblingElement('Book'); // Next book }
hasChildElements([name])
Returns true if this element contains one or mode elemets with the specified name.
lastChildElement([name])
Returns the last child element with the specified name if name is non-empty, otherwise it returns the last child element. Returns null if no such child exists.
elementsByTagName(name)
Returns an array containing all descendants of this element with the specified name.
nextSiblingElement([name])
Returns the next sibling element with the specified name if name is non-empty, otherwise returns any next sibling element. Returns null if no such sibling exists.
previousSiblingElement([name])
Returns the previous sibling element with the specified name if name is non-empty, otherwise returns any previous sibling element. Returns null if no such sibling exists.
Import Apps
Import filters are import apps that read a custom format and convert in an import format suitable for using with the with the command "Import to accounting".
- For details of the formats see Import data from a txt file.
- For examples see the Github.com template page.
Import Apps
Imports apps are java-script program that read the data to import and trasform and return them as text, in a format comptatible with Banana.
Import Apps have the
- attribute @task defined as one of the import for example //@task = import.transactions
- The parameter in the function exec contains the import data (the content of the file specified in the input box)
- You can specify that the data is read from the file specified on the input box or that the user can select the file with "// @inputdatasource = openfiledialog"
- The import text is returned as a String in the function exec() with the retrun statement
// @api = 1.0 // @id = ch.banana.scripts.import.creditsuisse // @description = Credit Suisse bank (*.csv) // @task = import.transactions // @doctype = nodocument // @publisher = Banana.ch SA // @pubdate = 2015-06-21 // @outputformat = transactions.simple // @inputdatasource = openfiledialog // @inputfilefilter = Text files (*.txt *.csv);;All files (*.*) // @inputfilefilter.de = Text (*.txt *.csv);;Alle Dateien (*.*) // @inputfilefilter.fr = Texte (*.txt *.csv);;Tous (*.*) // @inputfilefilter.it = Testo (*.txt *.csv);;Tutti i files (*.*) /** * Parse the data and return the data to be imported as a tab separated file. */ function exec(inText) { // parse the inText and set to outText // int the return text the data is tab separated var outText = "Date\tDescription\tAmount\n"; outText += "2015-01-31\tExpense text\t100.25\n"; return outText; }
Export Apps
Export apps are used to export data in a custom format.
-
Define attribute @task as export.file
// @task = export.file -
Define the extension of the file to be exported.
// @exportfiletype = xml -
The text to be written to the export file is the return value of the exec function and must be a return.
return "exported text". -
When the script terminate and if the return text is not null and does not start with "@Cancel ", the user will be promped with a dialog to choose a file name where to export.
Example
Export all the accounting with description and balance in a xml file.
// @id = ch.banana.apps.export // @api = 1.0 // @pubdate = 2016-04-08 // @doctype = *.* // @description = Export into a text file (.txt) // @task = export.file // @exportfiletype = txt // @timeout = -1 function exec() { var exportResult = '<accounts>'; var tableAccounts = Banana.document.table('Accounts'); if ( !tableAccounts) { return; } for (i=0;i<tableAccounts.rowCount;i++) { if (tableAccounts.row(i).value('Account')) { exportResult += '<account>'; exportResult += '<accountnr>' + tableAccounts.row(i).value('Account') + '</accountnr>'; exportResult += '<description>' + tableAccounts.row(i).value('Description') + '</description>'; exportResult += '<balance>' + tableAccounts.row(i).value('Balance') + '</balance>'; exportResult += '</account>'; } } exportResult += '</accounts>'; //return the string return exportResult; }
Report Apps
Report apps are java-script programs that are used to customize printouts like invoice documents. The main function printDocument() receives the json object from Banana, writes the document and lunches the result in a print preview window.
Copies of some report apps that you can use as starting point are available at the following address: github.com/BananaAccounting
At the moment this feature is available only within Banana Accounting Experimental.
Important notes
- Banana Accounting uses Qt script engine to execute report apps.
- Mandatory functions: printDocument(jsonInvoice, repDocObj, repStyleObj) which is the main function and settingsDialog() which is called from user to set up parameters like colour or additional text.
- Available json objects: invoice json object, statement json object, reminder json object
- The extension of custom report apps should be .js and the script must contains the main attributes, see Apps Attributes.
- The attribute @id of the script should correspond to the file name.
- System report apps are downloaded to the folder /User/.../AppData/Local/Banana.ch/.../Apps
(Mac Users: /Users/.../Library/Application Support/Banana.ch/.../Apps) - Do not overwrite system report apps because updates will overwrite your changes.
- You can save your report app anywhere, Banana Accounting saves the path to your app in the configuration file /AppData/Local/Banana.ch/.../Apps/apps.cfg
Invoice
Create personalized invoice report apps
We have published our templates on github.com/BananaAccounting. In this section you will find different basic examples.
You can save a copy of one template in your computer and make the changes you wish. In order to use your custom template in Banana you have to:
- select the command Account2 - Customers - Print invoices...
- In the Print invoices dialog select Manage apps...
- In the Manage apps dialog select Add from file... and choose your invoice report file you just created
At the moment this function is available only within Banana Accounting Experimental.
Apps attributes
// @id = scriptfilename.js // @api = 1.0 // @pubdate = yyyy-mm-dd // @publisher = yourName // @description = script description // @task = report.customer.invoice
Report code
The main function is printDocument(jsonInvoice, repDocObj, repStyleObj). The parameter jsonInvoice object contains the data, repDocObj is the document object and repStyleObj is the stylesheet object where you can add styles.
function printDocument(jsonInvoice, repDocObj, repStyleObj) { var param = initParam(); var savedParam = Banana.document.getScriptSettings(); if (savedParam.length > 0) { param = JSON.parse(savedParam); param = verifyParam(param); } printInvoice(jsonInvoice, repDocObj, repStyleObj, param); }
The function settingsDialog() is called from Banana when you select the button Params... from dialog Manage apps. You can write any code you need for your script.
/*Update script's parameters*/ function settingsDialog() { var param = initParam(); var savedParam = Banana.document.getScriptSettings(); if (savedParam.length > 0) { param = JSON.parse(savedParam); } param = verifyParam(param); ... var paramToString = JSON.stringify(param); var value = Banana.document.setScriptSettings(paramToString); }
Printing custom data
You can add your own parameters in order to print specific data. For instance printing a reference order number or removing payments information if the invoice has already been paid.
if (invoiceObj.parameters.orderNo) { cell1.addParagraph("Reference order: " + invoiceObj.parameters.orderNo); }
Printing images
With the command addImage it is possible to add images into the document. For instance
var reportObj = Banana.Report; var repDocObj = reportObj.newReport(); repDocObj.addImage("documents:logo", "logoStyle"); var logoStyle = repStyleObj.addStyle(".logoStyle"); logoStyle.setAttribute("position", "absolute"); logoStyle.setAttribute("margin-top", "5mm"); logoStyle.setAttribute("margin-left", "20mm"); logoStyle.setAttribute("width", "120px");
If you set the width, the image will be resized to the given width. If the width is not specified the image will be printed with a 72dpi resolution.
Json Object
Invoice Json Object
Data structure you can access through the report:
{ "billing_info": { "payment_term": "", "total_amount_vat_exclusive": "500.00", "total_amount_vat_exclusive_before_discount": "500.00", "total_amount_vat_inclusive": "540.00", "total_amount_vat_inclusive_before_discount": "540.00", "total_categories": [ ], "total_discount_percent": "", "total_discount_vat_exclusive": "", "total_discount_vat_inclusive": "", "total_rounding_difference": "", "total_to_pay": "540.00", "total_vat_amount": "40.00", "total_vat_amount_before_discount": "40.00", "total_vat_codes": [ ], "total_vat_rates": [ { "total_amount_vat_exclusive": "500.00", "total_amount_vat_inclusive": "540.00", "total_vat_amount": "40.00", "vat_rate": "8.00" } ] }, "customer_info": { "address1": "Viale Stazione 11", "address2": "", "address3": "", "balance": "102.60", "balance_base_currency": "102.60", "business_name": "Rossi SA", "city": "Bellinzona", "country": "Switzerland", "country_code": "CH", "courtesy": "Signor", "currency": "CHF", "date_birth": "1999-10-06", "email": "info@test.com", "first_name": "Andrea", "lang": "it", "last_name": "Rossi", "mobile": "0033608405", "number": "1100", "origin_row": "26", "origin_table": "Accounts", "postal_code": "6500", "vat_number": "1234" }, "document_info": { "currency": "CHF", "date": "20160101", "decimals_amounts": 2, "description": "", "doc_type": "10", "locale": "it", "number": "201710", "origin_row": "1", "origin_table": "Transactions", "printed": "1", "rounding_total": "0.05", "type": "invoice" }, "items": [ { "account_assignment": "3000", "description": "Prodotto A", "details": "", "index": "0", "item_type": "item", "mesure_unit": "", "number": "", "origin_row": "1", "origin_table": "Transactions", "quantity": "1", "total_amount_vat_exclusive": "500.00", "total_amount_vat_inclusive": "540.00", "total_vat_amount": "40.00", "unit_price": { "amount_vat_inclusive": "540.00", "calculated_amount_vat_exclusive": "500.00", "calculated_amount_vat_inclusive": "540.00", "calculated_vat_amount": "40.00", "currency": "CHF", "vat_code": "V80", "vat_rate": "8.00" } } ], "note": [ { "date": "2017-04-24", "description": "commande=AWO-003530", "origin_row": "968", "origin_table": "Transactions" } ], "parameters": { "ccpaid":"1", "orderNo":"5440004/44", "myKey":"MyValue" }, "payment_info": { "date_expected": "2017-05-24", "due_date": "20160131", "due_days": "240", "due_period": "0_>90", "last_reminder": "", "last_reminder_date": "", "payment_date": "" }, "shipping_info": { "address1": "26, lotissement Bellevue", "address2": "street2", "address3": "street3", "business_name": "Company", "city": "Clairac", "country": "FR", "different_shipping_address": true, "first_name": "Carla", "last_name": "Francine", "postal_code": "47320" }, "supplier_info": { "address1": "Indirizzo 1", "address2": "Indirizzo 2", "business_name": "Società", "city": "Loc", "courtesy": "Signor", "email": "info@myweb", "fax": "+419100000", "first_name": "Nome", "fiscal_number": "222", "last_name": "Cognome", "phone": "+419100000", "postal_code": "CAP", "state": "Suisse", "vat_number": "1111", "web": "http://www.myweb" } "transactions": [ { "balance": "-219.30", "balance_base_currency": "", "currency": "CHF", "date": "20170430", "description": "Paiement CERAT DES ALPES* 50 ml - Réf. AL07010", "origin_row": "1006", "origin_table": "Transactions" } ], "type": "invoice", "version": "1.0" }
Source Data
Invoice Json Object Source Data
This list explains where the actual information on your invoice json object is coming from
Invoice Object Property | Source |
---|---|
customer_info.address1 | Table: Accounts, View: Address, Column: Street |
customer_info.address2 | Table: Accounts, View: Address, Column: AddressExtra |
customer_info.address3 | Table: Accounts, View: Address, Column: POBox |
customer_info.balance | Table: Accounts, View: Address, Column: Balance |
customer_info.balance_base_currency | Table: Accounts, View: Address, Column: BalanceCurrency |
customer_info.bank_account | Table: Accounts, View: Address, Column: BankAccount |
customer_info.bank_clearing | Table: Accounts, View: Address, Column: BankClearing |
customer_info.bank_name | Table: Accounts, View: Address, Column: BankName |
customer_info.business_name | Table: Accounts, View: Address, Column: OrganisationName |
customer_info.city | Table: Accounts, View: Address, Column: Locality |
customer_info.country | Table: Accounts, View: Address, Column: Country |
customer_info.country_code | Table: Accounts, View: Address, Column: CountryCode |
customer_info.courtesy | Table: Accounts, View: Address, Column: NamePrefix |
customer_info.credit_limit | Table: Accounts, View: Address, Column: CreditLimit |
customer_info.currency | Table: Accounts, View: Address, Column: Currency |
customer_info.date_birth | Table: Accounts, View: Address, Column: DateOfBirth |
customer_info.email | Table: Accounts, View: Address, Column: EmailWork |
customer_info.fax | Table: Accounts, View: Address, Column: Fax |
customer_info.first_name | Table: Accounts, View: Address, Column: FirstName |
customer_info.fiscal_number | Table: Accounts, View: Address, Column: FiscalNumber |
customer_info.iban_number | Table: Accounts, View: Address, Column: BankIban |
customer_info.lang | Table: Accounts, View: Address, Column: Language |
customer_info.last_name | Table: Accounts, View: Address, Column: FamilyName |
customer_info.member_fee | Table: Accounts, View: Address, Column: MemberFee |
customer_info.mobile | Table: Accounts, View: Address, Column: PhoneMobile |
customer_info.number | Table: Accounts, View: Address, Column: Account |
customer_info.payment_term_days | Table: Accounts, View: Address, Column: PaymentTermInDays |
customer_info.phone | Table: Accounts, View: Address, Column: PhoneMain |
customer_info.postal_code | Table: Accounts, View: Address, Column: PostalCode |
customer_info.state | Table: Accounts, View: Address, Column: Region |
customer_info.vat_number | Table: Accounts, View: Address, Column: VatNumber |
customer_info.web | Table: Accounts, View: Address, Column: Website |
document_info.currency | Invoice currency which usually corresponds to the customer account currency |
document_info.date | Table: Transactions, Column: DateDocument or Date |
document_info.decimals_amounts | Decimals are the same as the decimals used in the accounting file |
document_info.description | Not used |
document_info.doc_type | Table: Transactions, Column: DocType |
document_info.greetings |
Table: Transactions, Column: DocType |
document_info.locale | Menu: File-File and accounting properties, Other, current Language |
document_info.number | Table: Transactions, Column: DocInvoice |
document_info.origin_row | Row index of source transaction |
document_info.origin_table | Table name of source transaction |
document_info.rounding_total |
Default value for CHF: 0.05 |
document_info.type | invoice |
items | Table: Transactions All rows with the same invoice number and transaction date are invoice's items (lines) |
note | Table: Transactions, Column: DocType Transactions with DocType=10:not. More info... |
parameters |
Table: Transactions, Column: DocType |
payment_info | Calculated from journal |
shipping_info |
Delivery address if different from the invoice address (customer_info) |
supplier_info.address1 | Menu: File-File and accounting properties, Address, Address 1 |
supplier_info.address2 | Menu: File-File and accounting properties, Address, Address 2 |
supplier_info.business_name | Menu: File-File and accounting properties, Address, Company |
supplier_info.city | Menu: File-File and accounting properties, Address, City |
supplier_info.country | Menu: File-File and accounting properties, Address, Country |
supplier_info.courtesy | Menu: File-File and accounting properties, Address, Courtesy |
supplier_info.email | Menu: File-File and accounting properties, Address, Email |
supplier_info.fax | Menu: File-File and accounting properties, Address, Fax |
supplier_info.first_name | Menu: File-File and accounting properties, Address, Name |
supplier_info.fiscal_number | Menu: File-File and accounting properties, Address, Fiscal Number |
supplier_info.last_name | Menu: FilevFile and accounting properties, Address, Family Name |
supplier_info.mobile | Menu: File-File and accounting properties, Address, Mobile |
supplier_info.phone | Menu: File-File and accounting properties, Address, Phone |
supplier_info.postal_code | Menu: File-File and accounting properties, Address, Zip |
supplier_info.state | Menu: File-File and accounting properties, Address, Region |
supplier_info.vat_number | Menu: File-File and accounting properties, Address, Vat Number |
supplier_info.web | Menu: File-File and accounting properties, Address, Web |
transactions | Table: Transactions All rows with the same invoice number and different transaction date, which are not considered invoice items, like payments transactions |
Statement
Create personalized statement report apps
We have published our templates on github.com/BananaAccounting. In this section you will find different basic examples.
You can save a copy of one template in your computer and make the changes you wish. In order to use your custom template in Banana you have to:
- select the command Account2 - Customers - Print statements...
- In the Print statements dialog select Manage apps...
- In the Manage apps dialog select Add from file... and choose your statement report file you just created
At the moment this function is available only within Banana Accounting Experimental.
Apps attributes
// @id = scriptfilename.js // @api = 1.0 // @pubdate = yyyy-mm-dd // @publisher = yourName // @description = script description // @task = report.customer.statement
Report code
The main function is printDocument(jsonStatement, repDocObj, repStyleObj). The parameter jsonStatement object contains the data, repDocObj is the document object and repStyleObj is the stylesheet object where you can add styles.
function printDocument(jsonStatement, repDocObj, repStyleObj) { var param = initParam(); var savedParam = Banana.document.getScriptSettings(); if (savedParam.length > 0) { param = JSON.parse(savedParam); param = verifyParam(param); } printInvoice(jsonInvoice, repDocObj, repStyleObj, param); }
The function settingsDialog() is called from Banana when you select the button Params... from dialog Manage apps. You can write any code you need for your script.
/*Update script's parameters*/ function settingsDialog() { var param = initParam(); var savedParam = Banana.document.getScriptSettings(); if (savedParam.length > 0) { param = JSON.parse(savedParam); } param = verifyParam(param); ... var paramToString = JSON.stringify(param); var value = Banana.document.scriptSaveSettings(paramToString); }
Json Object
Statement Json Object
Data structure you can access through the report:
{ "customer_info": { "address1": "Viale Stazione 11", "business_name": "Rossi SA", "city": "Bellinzona", "first_name": "Andrea", "last_name": "Rossi", "number": "1100", "origin_row": "26", "origin_table": "Accounts", "postal_code": "6500" }, "document_info": { "date": "20160927", "decimals_amounts": 2, "description": "", "locale": "it", "number": "", "type": "statement" }, "items": [ { "balance": "540.00", "credit": "", "currency": "CHF", "date": "20160101", "debit": "540.00", "due_date": "20160131", "due_days": "240", "item_type": "invoice", "last_reminder": "", "last_reminder_date": "", "number": "10", "payment_date": "", "status": "", "total_amount_vat_exclusive": "", "total_amount_vat_inclusive": "", "total_vat_amount": "", "unit_price": { } }, { "balance": "540.00", "credit": "", "currency": "", "date": "", "debit": "540.00", "item_type": "total", "number": "", "status": "", "total_amount_vat_exclusive": "", "total_amount_vat_inclusive": "", "total_vat_amount": "", "unit_price": { } } ], "supplier_info": { "address1": "Indirizzo 1", "address2": "Indirizzo 2", "business_name": "Società", "city": "Loc", "email": "info@myweb", "first_name": "Nome", "fiscal_number": "numerofiscale", "last_name": "Cognome", "postal_code": "CAP", "web": "http://www.myweb" } }
Reminder
Create personalized reminder report apps
We have published our templates on github.com/BananaAccounting. In this section you will find different basic examples.
You can save a copy of one template in your computer and make the changes you wish. In order to use your custom template in Banana you have to:
- select the command Account2 - Customers - Print reminders...
- In the Print payment reminders dialog select Manage apps...
- In the Manage apps dialog select Add from file... and choose your reminder report file you just created
At the moment this function is available only within Banana Accounting Experimental.
Apps attributes
// @id = scriptfilename.js // @api = 1.0 // @pubdate = yyyy-mm-dd // @publisher = yourName // @description = script description // @task = report.customer.reminder
Report code
The main function is printDocument(jsonReminder, repDocObj, repStyleObj). The parameter jsonReminder object contains the data, repDocObj is the document object and repStyleObj is the stylesheet object where you can add styles.
function printDocument(jsonReminder, repDocObj, repStyleObj) { var param = initParam(); var savedParam = Banana.document.getScriptSettings(); if (savedParam.length > 0) { param = JSON.parse(savedParam); param = verifyParam(param); } printReminder(jsonReminder, repDocObj, repStyleObj, param); }
The function settingsDialog() is called from Banana when you select the button Params... from dialog Manage apps. You can write any code you need for your script.
/*Update script's parameters*/ function settingsDialog() { var param = initParam(); var savedParam = Banana.document.getScriptSettings(); if (savedParam.length > 0) { param = JSON.parse(savedParam); } param = verifyParam(param); ... var paramString = JSON.stringify(param); var value = Banana.document.setScriptSettings(paramString); }
Json Object
Reminder Json Object
Data structure you can access through the report:
{ "customer_info": { "address1": "Viale Stazione 11", "business_name": "Rossi SA", "city": "Bellinzona", "first_name": "Andrea", "last_name": "Rossi", "number": "1100", "origin_row": "26", "origin_table": "Accounts", "postal_code": "6500" }, "document_info": { "date": "20160927", "decimals_amounts": 2, "description": "", "locale": "it", "number": "", "type": "reminder" }, "items": [ { "balance": "540.00", "balance_base_currency": "540.00", "base_currency": "CHF", "credit": "", "credit_base_currency": "", "currency": "CHF", "date": "20160101", "debit": "540.00", "debit_base_currency": "540.00", "item_type": "invoice", "number": "10", "status": "1. reminder", "total_amount_vat_exclusive": "", "total_amount_vat_inclusive": "", "total_vat_amount": "", "unit_price": { } }, { "balance": "540.00", "balance_base_currency": "540.00", "base_currency": "", "credit": "", "credit_base_currency": "", "currency": "", "date": "", "debit": "540.00", "debit_base_currency": "540.00", "item_type": "total", "number": "", "status": "", "total_amount_vat_exclusive": "", "total_amount_vat_inclusive": "", "total_vat_amount": "", "unit_price": { } } ], "supplier_info": { "address1": "Indirizzo 1", "address2": "Indirizzo 2", "business_name": "Società", "city": "Loc", "email": "info@myweb", "first_name": "Nome", "fiscal_number": "numerofiscale", "last_name": "Cognome", "postal_code": "CAP", "web": "http://www.myweb" } }
Debugging
Use the Debugger
You can debug the script using the internal debugger.
Banana Accounting use the Qt Script Debugger to debug the scripts. Qt is moving the script to a new system, and it is possible that the debugging function wil change or will not be available in the future.
To debug an app
- Menu App, Manage App
- Select the script you want to debug
- Button "Debug".
After the debugger is started click one or more times on the key Shift-F11 until you see the call of the function "exec(inData)", then click F11. At this point you are in the main function of the script.
Use Debugger messages
To see a value of a variable you can also insert a command
Banana.application.addMessage("Hello World");
Debugging import filter
You can debug import filter by istalling the filter as a normal app, and then using the debugging function.
Dialogs
For simple interactions with the user you can use the predefined dialogs of the class Banana.Ui. With those dialogs you can ask the user to insert a value, answer a question, or show to the user an information.
For a more complex dialog:
- Install Qt Creator
- Draw the dialog with Qt Creator
- Save the dialog in a .ui file,
- Load the .ui file in the script through the function Banana.Ui.createUi()
All the properties and public slots of the widgets in the dialogs will be accessible from the script.
Example: a script to search in the whole accounting a text.
The dialog:
The script file ch.banana.scripts.find.js:
/** * This example search a text in all the tables of the document, * and show the matches in the messages pane. */ // @id = ch.banana.scripts.find // @version = 1.2 // @date = 2014-08-29 // @publisher = Banana.ch SA // @description = Find in whole accounting // @description.it = Cerca in tutta la contabilità // @description.de = Suchen in der gesamten Buchhaltung // @description.fr = Chercher dans toute la comptabilité // @task = app.command // @inputdatasource = none // @timeout = -1 /** * param values are loaded from Banana.document, edited through dialog and saved to Banana.document * This array object is like a map (associative array) i.e. "key":"value", see initParam() * Examples of keys: searchText, wholeText, ... */ var param = {}; /** Dialog's functions declaration */ var dialog = Banana.Ui.createUi("ch.banana.scripts.find.ui"); dialog.checkdata = function () { var valid = true; if (dialog.searchTextLineEdit.text.length <= 0) { Banana.Ui.showInformation("Error", "Search text can't be empty"); valid = false; } if (valid) { dialog.accept(); } } dialog.showHelp = function () { Banana.Ui.showHelp("ch.banana.script.find"); } /** Dialog's events declaration */ dialog.findNextButton.clicked.connect(dialog, "checkdata"); dialog.buttonBox.accepted.connect(dialog, "checkdata"); dialog.buttonBox.rejected.connect(dialog, "close"); dialog.buttonBox.helpRequested.connect(dialog, "showHelp"); /** Main function */ function exec(inData) { //calls dialog var rtnDialog = true; rtnDialog = dialogExec(); //search text in the whole accounting if (rtnDialog && Banana.document) { Banana.document.clearMessages(); searchInTables(); } } /** Show the dialog and set the parameters */ function dialogExec() { // Read saved script settings initParam(); if (Banana.document) { var data = Banana.document.getScriptSettings(); if (data.length > 0) { param = JSON.parse(data); } } // Text at cursor position var cursor = Banana.document.cursor; param["searchText"] = Banana.document.value(cursor.table,cursor.row,cursor.column); // Set dialog parameters dialog.searchTextLineEdit.text = param["searchText"]; if (param["matchCase"] == "true") dialog.groupBox.matchCaseCheckBox.checked = true; else dialog.groupBox.matchCaseCheckBox.checked = false; if (param["wholeText"] == "true") dialog.groupBox.wholeTextCheckBox.checked = true; else dialog.groupBox.wholeTextCheckBox.checked = false; Banana.application.progressBar.pause(); var dlgResult = dialog.exec(); Banana.application.progressBar.resume(); if (dlgResult !== 1) return false; // Read dialog parameters param["searchText"] = dialog.searchTextLineEdit.text; if (dialog.groupBox.matchCaseCheckBox.checked) param["matchCase"] = "true"; else param["matchCase"] = "false"; if (dialog.groupBox.wholeTextCheckBox.checked) param["wholeText"] = "true"; else param["wholeText"] = "false"; // Save script settings var paramString = JSON.stringify(param); var value = Banana.document.setScriptSettings(paramString); return true; } /** Initialize dialog values with default values */ function initParam() { param = { "searchText": "", "matchCase": "false", "wholeText": "false" }; } /** Search a text in the accounting's tables */ function searchInTables() { var searchText = param["searchText"]; if (param["matchCase"] === "false") searchText = searchText.toLowerCase(); var tables = Banana.document.tableNames; // Tables for (var t=0; t < tables.length; t++) { var table = Banana.document.table(tables[t]); var columns = table.columnNames; // Rows for (var r=0; r < table.rowCount; r++) { // Columns for (var c=0; c < columns.length; c++) { var textFound = false; var text = table.value(r, columns[c]); if (param["matchCase"] === "false") text = text.toLowerCase(); // Find text if (param["wholeText"] === "true") { if (text === searchText) textFound = true; } else { if (text.indexOf(searchText) >= 0) textFound = true; } // Show message if (textFound) { table.addMessage("Text \"" + param["searchText"] + "\" found in \"" + table.value(r, columns[c]) + "\"", r, columns[c]); } } } } }
The .ui file: ch.banana.scripts.find.ui
<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>DlgFind</class> <widget class="QDialog" name="DlgFind"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>395</width> <height>192</height> </rect> </property> <property name="windowTitle"> <string>Find</string> </property> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> <layout class="QGridLayout" name="gridLayout"> <property name="horizontalSpacing"> <number>40</number> </property> <item row="0" column="0"> <widget class="QLabel" name="searchTextLabel"> <property name="text"> <string>Search &text</string> </property> </widget> </item> <item row="0" column="1"> <widget class="QLineEdit" name="searchTextLineEdit"/> </item> </layout> </item> <item> <widget class="QGroupBox" name="groupBox"> <property name="title"> <string>Options</string> </property> <property name="flat"> <bool>false</bool> </property> <property name="checkable"> <bool>false</bool> </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QCheckBox" name="matchCaseCheckBox"> <property name="text"> <string>&Match case</string> </property> </widget> </item> <item> <widget class="QCheckBox" name="wholeTextCheckBox"> <property name="text"> <string>&Whole text</string> </property> </widget> </item> </layout> </widget> </item> <item> <spacer name="verticalSpacer"> <property name="orientation"> <enum>Qt::Vertical</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>20</width> <height>15</height> </size> </property> </spacer> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <spacer name="horizontalSpacer"> <property name="orientation"> <enum>Qt::Horizontal</enum> </property> <property name="sizeHint" stdset="0"> <size> <width>80</width> <height>20</height> </size> </property> </spacer> </item> <item> <widget class="QPushButton" name="findNextButton"> <property name="text"> <string>&Find</string> </property> </widget> </item> <item> <widget class="QDialogButtonBox" name="buttonBox"> <property name="sizePolicy"> <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> <horstretch>0</horstretch> <verstretch>0</verstretch> </sizepolicy> </property> <property name="standardButtons"> <set>QDialogButtonBox::Close|QDialogButtonBox::Help</set> </property> </widget> </item> </layout> </item> </layout> </widget> <tabstops> <tabstop>matchCaseCheckBox</tabstop> <tabstop>findNextButton</tabstop> <tabstop>buttonBox</tabstop> </tabstops> <resources/> <connections/> </ui>
FAQ
Can I call an external program within a BananaApp?
For the moment, for security reason we do not allow BananaApps to works directly on file and call external programs.
Can I create QML (QtQuick) apps?
With QML application have extensive access to the computer.
Fot the moment, for security reason we do not allow BananaApps to use QML.
How can I get the start and end date of the accounting?
var openingDate = Banana.document.info("AccountingDataBase","OpeningDate"); var closureDate = Banana.document.info("AccountingDataBase","ClosureDate");
Note: the keywords "AccountingsDataBase", "OpeningDate" and "ClosureDate" correspond to the values in the columns "Section Xml" and ID Xml" of the table "Info file". See command "Info table" under the menu "Tools".
Can I save and recall in a script the values entered by the user?
Yes, use the functions Banana.Document.scriptSaveSettings and Banana.Document.scriptReadSettings.
Settings are saved and restored in the current accounting file under the script id, if you change the id your settings will not be retrieved.
// Initialise parameter param = { "searchText": "", "matchCase": "false", "wholeText": "false" }; // Read script settings var data = Banana.document.getScriptSettings(); if (data.length > 0) { param = JSON.parse(data); } ... // Save script settings var paramString = JSON.stringify(param); var value = Banana.document.setScriptSettings(paramString);
Accented letters are displayed wrong
Save the script file in UTF-8.
Can I protect the app?
If you don't want to someone easily change the js file, you can package it in a rcc file.
Excel Reports Add-in (Beta)
With this Add-in you will no longer need to make "copy and paste" of the values each time you update your accounting file.
You create worksheets with formulas, charts, formatting and more in Excel, and the Add-in will retrieve for you the data from your accounting file.
Just click on the Update button and your Excel worksheet will be automatically updated with the new values from Banana Accounting, and the results of formulas and charts will be updated accordingly.
See Documentation Banana Accounting Excel Add-in.
Example of a Balance sheet report created with the Excel Reports add-in
Example of a report with charts created with the Excel Reports Add-in
Characteristics
- This Add-in is hosted on our server.
Once you have installed the manifest on your computer, you will automatically use the last version. - The Add-in are secure.
Unlike Excel-macros the Add-in are secure and cannot compromise your computer. - The Add-in is currently in Beta Test.
- Please check everything and report any problem.
- You can use it for free now, but It is also possible that it will be made available for a cost.
Download and Installation
The steps below walk you through all the setup of the environment required to run the Banana Office Add-ins for Microsoft Office 2016.
Minimum requirements: Microsoft Office 2016 (Word, Excel, PowerPoint, Outlook).
Get Banana Accounting Experimental version
- Download Banana Accounting 9 for Windows or Mac (it is required the version 9.0.0.171128 or more recent).
- Install it on your computer.
Activate Banana Accounting web server
- Start Banana Accounting 8 Experimental.
- On Menu bar click Tools -> Program options… -> select the Interface tab
- Check the Start Web Server and Start Web Server with ssl options
- Click OK
Install the Manifest file
Each Office Add-in has its own manifest file. The manifest is an XML file that defines various settings, including description and links to all the add-in files.
Manifest file must be copied to a specific directory.
Manifest directory for Windows
On Windows you need to create a directory to save the manifest of the Add-in.
The directory needs to be a shared directory.
- Create a folder for the Add-ins manifests on a network share:
- Create a folder on your local drive (for example, C:\Manifests).
- Right click on the folder, select properties.
- Click on Sharing tab.
- Click on Advanced Sharing...
- Check the Share this folder box.
- Click Apply and then Ok.
- Tell Excel or Word to use the directory as trusted app catalog.
- Launch Excel and open a blank spreadsheet.
- Choose the File tab, and then choose Options.
- Choose Trust Center, and then choose the Trust Center Settings button.
- Choose Trusted Add-in Catalogs.
- In the Catalog URL box, enter the path to the network share you created, and then choose Add Catalog.
To see the path: right click on the shared folder -> Properties -> Sharing -> Network Path. - Select the Show in Menu check box, and then choose OK. A message appears to inform you that your settings will be applied the next time you start Office.
- Close Excel and restart it.
Manifest directory for Mac OS
On Mac you need to create a folder to save the manifest of the Add-in.
Go to one of the following folders where you'll save your Add-in's manifest file. If the wef
folder doesn't exist on your computer, create it.
- For Excel:
/Users/<username>/Library/Containers/com.microsoft.Excel/Data/Documents/wef
- For Word:
/Users/<username>/Library/Containers/com.microsoft.Word/Data/Documents/wef
- For PowerPoint:
/Users/<username>/Library/Containers/com.microsoft.Powerpoint/Data/Documents/wef
where <username> is your name on the device.
Get the Office Add-in manifest
You can now download the manifest of the Add-in you want to use.
- Download the XML BananaAccountingExcelManifest file.
- Copy the manifest to the manifest directory.
Load the Add-ins in Excel
Once all the setup and installations are done, it is possible to run and use the Add-in.
- Open Microsoft Excel 2016
- Click on Insert tab
- Click on the Add-ins button
- Click on the Shared folder
- Select the Banana Accounting Add-in
- Click Add
Troubleshooting
- Download and install the last version of Banana Accounting 9 for Windows
- Open Banana Experimental
- Click on menu Tools -> Program Options
- Select the tab Interface
- Check the options Start Web Server and Start Web Server with ssl
- Select the tab System Info
- Click on Web server settings path
- Click on the button Open path… to open the directory
- From the directory, select and open the file httpconfig
- Right click on the file httpconfig
- Open with
- Select Notepad
- Delete the last two rows that begins with sslKeyFile=… and sslCertFile=…
- Save the file and close it
- Click OK to save the option changes
- Close and restart Banana Experimental
Documentation Excel Add-in
Introduction
With this Add-in you can create Excel sheets that are filled with Banana Accounting data. Once you have added transactions to the accounting file you just need to click on the Update button of the Add-in and your spreadsheet content will be updated with the new data.
Your existing formatting and formula will be preserved.
- Create an Excel sheet with headers information
This information allows the Add-in to retrieve data from Banana Accounting.
There are information relative to the file, column and account or group to be retrieved.
The Add-in helps you add the necessary information to retrieve the data. -
Click on the Update button
The Add-in will retrieve the values from Banana Accounting software.
It mantains the format or formula you enter.
Example of a Balance sheet report created with the Banana Accounting Excel Add-in
In the example above we can see:
- The data part
Here is where the data is synchronized, based on the QueryAccount and QueryColumns.- Accounting data (Green)
Filled with the information coming from Banana Accounting - Header data (Yellow)
- Accounting data (Green)
- QueryColumns (Red)
The file name, columns names and type to retrieve.
If the column is empty no data in this column will be retrieved. You can use the columns to enter formula. - QueryAccounts (Orange)
The accounts or groups to retrieve.
If the row is empty no data in this row will be retrieved. You can use the row for entering formula o text that is not overwritten.
By clicking on the update button the Data part is updated with the new data of the accounting file, and all the previously settings like fonts, colors, formulas will remain.
Download and installation
See documentation on how to Download and install the Add-in
Example files:
- File Excel already with columns setup.
- Banana Accounting file used for the example excel file.
Add-in Command
As soon as the add-in is added in Excel, on the Home tab of the main ribbon is loaded the Banana Accounting Show Taskpane add-in command.
Banana Accounting Add-in command
When the Show Taskpane button is clicked, it loads the start screen of the add-in. The start screen provides additional information describing the functionalities of the add-in.
Click on the Let's Begin! button to start using the Add-in.
Banana Accounting Add-in start screen
Security alert messages for Windows users
In order to properly establish a connection between the add-in and Banana Accounting web server, it is required to accept the Banana security certificate.
After the Let's Begin! button has been clicked, securities alert dialogs like the following appear:
- The first security alert message is the following one, click on Yes to proceed:
- The second security alert message is the following one, click on Yes to proceed:
If the user clicks Yes, a connection between the add-in and the Banana Accounting web server is estabilished, and then it is possible to use the add-in. Otherwise, if the user clicks No, the add-in is loaded but none connection is established, and the add-in will not work.
If for some reason the security alert messages above do not appear, try to see the troubleshooting documentation.
Add-in general overview
The add-in is a task pane add-in type. This means that the add-in is loaded in a pane on the right side of the Excel worksheet.
It is composed by three tabs, each of them has one specific task:
- The Setup tab contains all the tools needed to add information to your sheet so that the add-in can fill the data part with the accounting data. Typically it is used every time you want to create something new, like for example the very first time you use this add-in.
- The Update tab is used to update the content of the Excel worksheet with the accounting data. It is used after the header section and some accounts has been added.
- The Logs tab it’s just a place where are displayed some messages about the add-in and the operations it does. For example when you update the sheet a message is displayed telling you that the update is completed.
Banana Accounting task pane add-in
Update of the worksheet
The Update tab is composed only of one button: Update current worksheet.
When clicked, this will start the updating process of the current Excel worksheet. Combining the Header, QueryAccount and QueryOptions, the add-in retrieves all the data directly from the Banana Accounting and writes them in the Excel worksheet.
Retrieve data from Banana Accounting and update the worksheet
Setup of the worksheet
These features will add the information to the current worksheet necessary to retrieve data from Banana Accounting.
In the setup tab there are four sections:
- Accounting file selection
- Set Header
- Set QueryColumns
- Set QueryAccounts
Setup of the worksheet tab
Select an opened Banana file
The first section of the setup page lists all the currently opened Banana Accounting file. Just select the needed one and go to the next setup section.
If for some reason an accounting file is opened in Banana Accounting after the add-in is loaded, then this file doesn’t appear in the list. In this case just click on Refresh list button in order to recheck all the opened documents and recreate the list.
Example of file selection
Set Header
The second section of the setup page inserts, on the top of the current worksheet, the header that allows the user to insert information that will be used by the add-in to retrieve data from the accounting file.
Add an header
The first step is to select from the list a type of header. There are two options:
- Predefined header with columns to insert an header with default values for columns and options
- Empty header to insert a blank header
When the button Add Header is clicked, the selected type of header is inserted in the worksheet. It is then possible to modify by setting the QueryColumns and changing QueryOptions.
Add header options
The second step is to define some options for the Currency, Header Left and Header Right values using the QueryOptions column. The options are:
- Repeat to repeat the values in each column
- Do not repeat to avoid repeated values. Only when the file name changes the values are inserted again.
When the button Add options is clicked, the selected options will be inserted in the respective cells.
Example of predefined header
Set QueryColumns
This section guides step by step the user to modify the header by adding QueryColumns to the worksheet.
The QueryColumns information allows the user to define exactly which data the add-in has to retrieve from the accounting file and in which column of the worksheet insert them.
Each QueryColumn consists of six information:
- The Column of the worksheet is used to define in which column of the worksheet all the QueryColumns values will be inserted.
- The Accounting filename is used to define the Accounting file to use when retrieving data.
- The Type value is used to define the type of data.
- The Column value is used to define the data for the given type.
- The Segments (OPTIONAL) is used to have a more detailed classification of the costs (this is optional, if not specified none segments will be added).
- The Periods (OPTIONAL) is used to define a period of the accounting (this is optional, if not specified all accounting period will be automatically used).
When the button Add values to column is clicked, all the information will be added automatically to the selected column of the worksheet.
Set QueryColumns section
Select a column of the worksheet
Use this to define in which column of the worksheet all the values of the QueryColumns are inserted. Possible values are:
- Current selected to use the colum of the cell selected on the worksheet (ex. if the cell D8 is selected, D column will be used).
- C ... Z
Remember that it is possible to use the columns from C to ZZ, even if not all appear in the list.
Select a filename
Use this to define the file name for a QueryColumn. When a file name is specified it is used until a new file name is inserted.
The possible values are:
- Current selected to use the selected file on the top of the add-in.
- Current (void) to use the previously inserted file but let the cell empty. It works only if in previous columns there is a specified file name.
- 1 previous year (p1) to use the previous year file of the last file inserted (example: if current year is "2019.ac2", p1 refers to "2018.ac2")
- 2 previous years (p2) to use two previous years file of the last file inserted(example: if current is "2019.ac2", p2 refers to "2017.ac2")
- 3 previous years (p3) to use three previous years file of the last file inserted(example: if current is "2019.ac2", p3 refers to "2016.ac2")
Filename selection
Notes:
- remember to always open in Banana Accounting all the files specified in the header
- the p1, p2 and p3 abbreviations always refer to the last file specified in the header
Example of more file insertion
On the image above we can see there are three different files defined, each of them using different columns.
- Columns from C to G refer to the 2019.ac2 file
- Columns from H to I refer to the 2018.ac2 file
- Coumns from J to K refer to the 2017.ac2 file (p1 is the previous file of the last file inserted, in this case the 2018.ac2)
Select a Type and a Column value
Use them to define the data you want to retrieve from the accounting file.
- Type specify the type of data.
- Column specify the data for the given type.
The table below indicates for each Type of data which Column can be specified and so retrieved from the accounting (Not Case-Sensitive).
Type | Column |
---|---|
column |
Group, Account, Description, Disable, FiscalNumber, BClass, Gr, Gr1, Gr2, Opening, Debit, Credit, Balance, Budget, BudgetDifference, Prior, PriorDifference, BudgetPrior, PeriodBegin, PeriodDebit, PeriodCredit, PeriodTotal, PeriodEnd, NamePrefix, FirstName, FamilyName, OrganisationName, Street, AddressExtra, POBox, PostalCode, Locality, Region, Country, CountryCode, Language, PhoneMain, PhoneMobile, Fax, EmailWork, Website, DateOfBirth, PaymentTermInDays, CreditLimit, MemberFee, BankName, BankIban, BankAccount, BankClearing, Code1 |
current |
amount, amountcurrency, balance, balancecurrency, bclass, credit, creditcurrency, debit, debitcurrency, enddate, opening, openingcurrency, periodstring, rowcount, startdate, total, totalcurrency |
budget | amount, amountcurrency, balance, balancecurrency, bclass, credit, creditcurrency, debit, debitcurrency, enddate, opening, openingcurrency, periodstring, rowcount, startdate, total, totalcurrency |
columnvat | Group, VatCode, Description, Gr, Gr1, IsDue, AmountType, VatRate, VatRateOnGross, VatPercentNonDeductible, VatAccount |
currentvat | taxable, amount, notdeductible, posted, rowcount |
In the table below there are some examples of queries that can be used in the header to retrieve data from Banana Accounting:
Type | Column | Segment | Start date | End date |
RESULT |
---|---|---|---|---|---|
column | description | Return from the Accounts table the value of the column description for the account specified in the QueryAccount column | |||
current | debit | Return the amount of debit transactions for all the accounting period for the account specified in the QueryAccount column | |||
current | balance | :S1 | 01.01.2019 | 10.01.2019 | Return the opening + debit-credit from the 01.01.2019 to 10.01.2019 for the account and segment specified in the QueryAccount column |
current | total | M6 | Return the difference between debit-credit for the 6th month for the account specified in the QueryAccount column | ||
current | total | Q2 | Return the difference between debit-credit for the second quarter for the account specified in the QueryAccount column | ||
budget | opening | M12 | Return the amount at the begining for the 12th month for the account specified in the QueryAccount column | ||
columnvat | description | Return from the Vat Codes table the value of the column description for the vat code specified in the QueryAccount column | |||
currentvat | taxable | Return the amount of the taxable column for the vat code specified in the QueryAccount column |
Select a Segment (optional)
If the selected file has segments they will appear in the list.
Use this to define a segment to have a more detailed classification of the costs.
Select a period (optional)
Use this to define the accounting period that will be used to retrieve data from the accounting file.
Possible values are:
- All (void) to use all the accounting period
- Custom date to specify a Start date and End date (example: Start date "04.02.2019", End date "12.03.2019").
- Month 1 (M1) ... Month 12 (M12) to specify a single month (example: M1 for 1st month, M2 for 2nd month, etc.)
- Quarter 1 (Q1) ... Quarter 4 (Q4) to specify a single quarter (example: Q1 for the 1st quarter, period from 01.01 to 31.03)
- Semester 1 (S1) ... Semester 2 (S2) to specify a single semester (example: S2 for the 2nd semester, period from 01.07 to 31.12)
- Year 1 (Y1) ... Year 10 (Y10) to specify a single year (example: Y1 for the 1st year)
Set QueryAccounts
This section provides to insert:
- QueryAccounts to specify all the desired accounts, groups, cost centers, segments or vat codes that will be used with the data specified in the header to retrieve the accounting data.
- QueryOptions (OPTIONAL) to specify an option for a specific QueryAccount. Just select a cell next to the account and insert the option (this is optional, if not specified none options will be added).
Add accounts
When an option is selected, the add-in loads the appropriate check box list with all the elements taken from the selected accounting file. It is possible to choose between six options:
- Accounts to load a list of all the accounts/categories codes taken from the table Accounts/Category of the accounting
- Groups to load a list of all the groups codes taken from the table Accounts/Category of the accounting
- Cost centers to load a list of all the cost centers codes taken from the table Accounts/Category of the accounting
- Segments to load a list of all the segments codes taken from the table Accounts/Category of the accounting
- All to load a list of all the accounts/categories, groups, cost centers and segments codes taken from the table Accounts/Category of the accounting
- Vat codes to load a list of all the VAT codes taken from the table VAT codes of the accounting
Type of account selection
For example, choosing the All option, the add-in loads a list containing all the accounts, groups, cost centers and segments respecting the order in which they appear in the accounting file.
Example of accounts and groups selection
After all desired elements has been checked, by clicking the Add accounts button will add them to the Excel worksheet under the QueryAccount starting from the selected cell. By default the add-in starts the insertion immediately after the QueryAccount title (row 16).
Add the selected accounts and groups to the Excel worksheet
Add option
The QueryOptions column is designed to add some options to the query that will retrieve the data from Banana Accounting. It is optional. If not used no options will be used.
The possible values are:
- invert to invert the sign of the current or budget balances.
- budget to get the budget balances (even if in the header are specified to use current balances).
- budgetinvert to get the budget balances (even if in the header are specified to use current balances) and also to invert the sign.
QueryAccounts options selection
Header settings
- Do not add or delete rows in the header.
- Do not add or delete columns before the column B.
- From column C forward, it is possible to add or remove columns. Columns A (QueryColumn) and B (QueryOptions) must always exist.
- Added columns can also be empty.
- If columns from AA to AZ are used, plese re-enter the file name at least on the AA column, even if it is the same used in the previous column.
To better understand how exactly the header works and how to properly modify it, below there are some explanation about the most important things.
Editable header parts
On the image above we highlighted in yellow all the header's parts that can be modified by adding information when creating a report.
Everything else will be automatically filled by the add-in when the Update current worksheet button is clicked.
Period Begin
A conversion of the start date to be easily read.
This is automatically filled for each column by the add-in when the worksheet is updated.
Period End
A conversion of the end date to be easily read.
This is automatically filled for each column by the add-in when the worksheet is updated.
Currency
The accounting basic currency.
This is automatically filled for each column by the add-in when the worksheet is updated.
Header Left
One of the information property of the accounting.
This is automatically filled for each column by the add-in when the worksheet is updated.
Header Right
One of the information property of the accounting.
This is automatically filled for each column by the add-in when the worksheet is updated.
QueryAccount
As already said, in this column are listed all the chosen accounts, each on a different row.
Instead of insert an account, is also possible to add a custom regroup using a particular accounting column.
The custom regroup QueryAccount syntax is $column=value, where:
- $ indicates that a custom regroup is used.
- column is the Xml name of the column. It can be a user created column (for example "Abc") or a column that already exists in the accounting (for example the "Gr").
- value indicates the regroup.
If we insert something like "$Abc=1" in the QueryAccount cell, this means that the add-in takes and sums together all the accounts/groups balances that have the 1 value in the "Abc" column of the accounting.
Logs
The Logs tab it’s just a text area where are displayed some messages about the add-in and the operations that it does.
Example of logs messages
Settings
The Settings tab allows to change some settings of the add-in:
- the server URL to define the url where Banana Accounting is hosted, to avoid to have Banana Accounting installed locally. By default it is defined the local Banana Accounting web server https://127.0.0.1:8089.
- the language to define the language of the Banana Excel Add-in. Available languages are english, french, german and italian.
- the development is used only by developers for testing purposes, and users cannot access it.
Settings tab
Release History
- 2017-06-12 First release
- 2017-07-07
- Added Add-in Commands functionality.
- Added a start screen that provides additional information describing the functionalities of the add-in.
- Added the settings tab to allow the user to change the Port of the URL.
- 2017-09-29
- Changed the name of the add-in to "Banana Accounting Excel Reports".
- Changed some texts.
- New add-in design.
- Added new functionalities that allow the user to set and insert all the required information more easily.
- Added localization language for english, french, german and italian.
- 2017-11-24
- Added new functionality that allows to set the parameters for the connection.
Excel 同步功能
使用 Excel同步功能,使您的会计数据也同样可在 Excel 表格中被使用。不需要复制和粘贴或导出和导入。
在您添加了新的发生业务之后,在Excel表格中的数据也会同步进行更新和计算。此功能仅在Windows操作系统下可用,在Apple/Mac电脑上暂不可用。
成本分摊在共同所有者或客户之间
Excel 同步功能用来检索在 Excel中的Banana会计数据和当前账户余额。
费用由使用正常Excel公式的客户分摊。
您可以使用该示例来创建公寓费用的划分。
当年与去年差额的示例
在此示例中,我们从设定的两年中提取数据并创建了一个图形。
分部细分的示例
分部的金额也由分部来细分。
Banana财务会计软件Excel同步用户定义功能介绍
介绍
Excel同步是Excel用户定义的功能,其实现了在Banana财务会计软件内的数据与在Excel表格文件中的数据同步更新,计算的功能。
在Banana财务会计软件中,如果您更新了会计文件,添加了新的发生业务,那么在Excel表格中的数据也会同步进行更新和计算。
Excel能够整合通过互联网协议提供的文档和数据。 Banana 包含一个网络服务器, 和一个 RESTful API, 其可通过http协议进行访问。Excel同步功能使用Banana软件集成网络服务器实时检索数据。
使用Excel公式
Banana Excel 同步功能的名字是以 "B" 开头的, 您可以在单元格中使用来检索会计数据。
请看示例:
// return the opening balance of the account 1000 for all the period =BOpening("1000") // return the description of the account 1000 =BAccountDescription("1000") // return the end balance of the group 10 =BBalance("Gr=10") // return the opening of the account 5000 for the period 3. month =BOpening("2000", "2017-03-01/2017-03-31") // return the total debit minus credit of the account 5000 for 3. month of the year =BTotal("5000", "M3") // return the total debit minus credit of the group 50 for 3. quarter of the year =BTotal("Gr=50", "Q3")
Excel 同步功能的优点:
- 您可以动态检索从Banana财务会计文件中提取的数据;
- 不需要在Excel中重新输入数据 (或者导入,复制和粘贴);
- 在会计文件数据发生变化的时候,Excel表格内的数据是与其同步更新的;
- 用于计算期间值的公式简便易使用,可以创建强大的电子表格来用于评估,呈现会计数据或创建图形。
技术方面的细节
Banana Excel同步是Excel用户定义的功能, 小的Visual Basic程序,其扩展Excel允许在单元格中插入公式。
- Banana Excel同步功能需要使用新版本的Excel,并且只适用于Windows版本。
- 为了能够使用Excel同步用户定义功能,您需要一个扩展名为 *.xlsm 的Excel文件。
- Banana Excel同步用户定义功能是根据Apache许可证来提供的 (开放资源软件。请您查看: /www.apache.org/licenses/LICENSE-2.0)。
- 查看最新版本的功能: github.com/BananaAccounting/General/。
- Banana Excel同步用户定义功能使用 Banana 网络服务器。
-
有关使用公式的更多信息,请您查看关于会计功能的Banana API。
使用示例
- 下载 Excel 电子表格示例文件
- 解压内容
- 开启 Banana财务会计软件
- 激活网络服务器 (工具栏 -> 基本设置 -> 界面 -> 启动web服务器)
- 打开Banana财务会计文件 "company_2019.ac2" 和 "company_2020.ac2"
- 打开“BananaSync.xlsm”文件并激活宏(Macro)
如果宏被Excel自动禁用,您应该更改宏安全设置
最后按照说明显示功能区中的开发人员选项卡 - 使用宏的"重新计算全部"来重新计算电子表格 (Ctrl+R)
Excel 没有反应
如果您打开了一个文件,Banana财务会计软件或Banana网络服务器没有运行的话,那么Excel将等待至联系到Banana网络服务器为止。
启动Banana财务会计软件和Banana网络服务器。
如何创建您的电子表格
- 以新的名字另存文件"BananaSync.xlsm"
- 在Banana财务会计软件中打开您的会计文件
- 在您的Excel电子表格中,用您的会计文件名替换该文件名(黄色突出显示的单元格)
- 根据您的需要更改电子表格
-
功能使用
参数文件名
作为第一个参数,大多数的Excel同步功能需要一个Banana财务会计文件的名称。
- 该文件必须是在Banana财务会计软件中被打开的。
- 您只使用没有目录的文件名。
不要在函数中直接使用文件名。请在单元格中使用包含文件名的参数。
- 您也可以在不同的年份使用相同的电子表格。 您只需要更改单元格中的文件名。
- 如果Banana财务会计软件没有打开Banana网络服务器,也没有激活的话,您无需等待。
- The file name of the current year is taken from the cell named "File0" .
- The cell File0 contains a function =BFileName(DisableConnection).
This function checks if the file is open in Banana.- If the file is not open the content of the cell is set to an empty string.
The other Banana Sync functions will not make any call to Banana, to retrive data. - If the file is open it will insert the name of the file.
- If the file is not open the content of the cell is set to an empty string.
- The cell B6 contain the name of the file to be used. Insert the file name in cell B6.
=BFileNameF(File0, DisableConnection). - The file name of the current year is taken from the cell named "File0" .
- The file name of the last year is taken from the cell named "File1" .
Argument period
Many functions use the optional argument period. This can be:
- An empty string. The start and end date of the accounting are used.
- A start date and end date in the form of yyyy-mm-dd/yyyy-mm-dd
example “2015-01-01/2015-01-31”
In order to create a period from two Excel dates use the function BCreatePeriod. - An abbreviation
With the abbreviation you can easily use the same spreadsheet for accounting file of different periods.
The start and the end date will be determined based on the date of the accounting file- M + the month number M1, M2, ..
- Q + the quarter number Q1, Q2,
- Y + the year number Y1, Y2, ....
BananaSync Functions description
Most function are available
- Without the parameter FileName.
In this case the File0 (Current Year) is used - With the paramenter FileName.
- The function is the same but end with "F"
BAccountDescription(account[, column]) and BAccountDescriptionF(fileName, account[, column])
Retrieve the account description of the specified account or group.
With argument column you can indicate to retrieve another column instead of the Description column.
Examples:
=BAccountDescription("1000") // Description of account 1000 current year =BAccountDescription("Gr=10") // Description of Group 10 current year =BAccountDescription("1000", "Gr1") // Contet of column "Gr1" relative to the account 1000 current year // Last year =BAccountDescriptionF(File1, "1000") // Desctiption of account 1000 =BAccountDescriptionF(File1, "Gr=10") // Description of Group 10
BAmount(account, [,period ]) and BAmountF(fileName, account, [,period ])
Retrieve the normalized amount based on the BClass.
Only work for double entry accounting only. For Income and expenses accounting use BBalance or BTotal.
- for accounts of BClass 1 or 2 it return the balance (value at a specific instant).
- for accounts of BClass 3 or 4 it return the total (value for the duration).
- For accounts of BClass 2 and 4 the amount is inverted.
You can use this functions also with groups provided you assign a BClass also to a group.
BBalance( account [, period]) and BBalanceF(fileName account [, period])
Retrieve the Balance at the end of the period of the indicate account, cost center, groups, segments
The BBalance result is the sum of the BOpening + BTotal
It is used for retrieving accounting data for the Balance Sheet accounts (Assets, Liabilities)
- Single account number ("1000")
- Several accounts summed toghether.
Enter the accounts numbers separated by the character “|” ("1000|1001). - You can specify normal accounts, cost centers or segments.
- You can also use wild cards and also use “Gr=” followed by the accounting group.
- For more information see the Javascript function description for currentBalance
- Example
BBalance( "1000") // Balance of account 1000 BBalance( "1000|1010") // Balance of account 1000 and 1010 are summed together BBalance( "10*|20*") // All account that start with 10 or with 20 are summed toghether BBalance( "Gr=10") // Group 10 BBalance( "Gr=10| Gr=20") // Group 10 or 29 BBalance( ".P1") // Cost center .P1 BBalance( ";C01|;C02") // Cost center ;C01 and C2 BBalance( ":S1|S2") // Segment :S1 and :S2 BBalance( "1000:S1:T1") // Account 1000 with segment :S1 or ::T1 BBalance( "1000:{}") // Account 1000 with segment not assigned BBalance( "1000:S1|S2:T1|T2") // Account 1000 with segment :S1 or ::S2 and ::T1 and ::T BBalance( "1000&&JCC1=P1") // Account 1000 and cost center .P1 // Last year BBalanceF(File1, "1000") // Balance of account 1000 (last year) BBalanceF(File1, "1000|1010") // Balance of account 1000 and 1010 are summed together (last year)
BBalanceGet( account, cmd, valueName [,period ]) and BBalanceGetF(fileName, account, cmd, valueName [,period ])
This function allows to easily access all other data made available by the REST API as “balance”, “budget”
Examples:
=BAmount( “1000”, “balance”, “currencyamount”) =BAmount( “1000”, “balance”, “count”) =BAmount( “1000”, “balance”, “debit”) // Last year =BAmount( File0, “1000”, “budget”, “debit”)
BBudgetAmount(account [, period]) and BBudgetAmountF(fileName account [, period])
Same as BAmount but use the budget data instead of the accounting data.
BBudgetBalance(account [, period]) and BBudgetBalanceF(fileName account [, period])
Same as BBalance but use the budget data instead of the accounting data.
BBudgetInterest( account, interestRate [, period]) and BBudgetInterestF(filename, account, interestRate [, period])
Same as BInterest but use the budget data instead of the accounting data.
BBudgetOpening(account [, period]) and BBudgetOpeningF(fileName account [, period])
Same as the BOpening but use the budget data instead of the accounting data.
BBudgetTotal(account [, period]) and BBudgetTotalF(fileName account [, period])
Same as the BTotal but use the budget data instead of the accounting data.
BCellAmount( table, rowColumn, column) and BCellAmountF(fileName, table, rowColumn, column)
Retrieve the content of a table cell as an amount.
Examples:
=BCellAmount(“Accounts”, 2, “Opening”) =BCellAmount(“Accounts”, “Account=1000”, “Balance”) =BCellAmount(“Accounts”, “Group=10”, “Balance”) // Last year =BCellAmountF(File1, “Accounts”, 2, “Opening”)
BCellValue( table, rowColumn, column) and BCellValueF(fileName, table, rowColumn, column)
Retrieve the content of a table cell as a text.
Examples:
=BCellValue(“Accounts”, 2, “Description”) =BCellValue(“Accounts”, “Account=1000”, “Description”) =BCellValue(“Accounts”, “Group=10”, “Description”) // Last year =BCellValueF(File1, “Accounts”, 2, “Description”)
BCreatePeriod( startDate, endDate)
Take two cell dates and create a string period
=BCreatePeriod(D4, D5)
BDate(isoDate)
Convert an Iso Date to an Excel date.
BFileName(fileName [, disable connection])
Return the FileName or an empty string if there is no connection with the web server or if the file is not correct.
If the value of disableConnection is not void the function returns an empty string.
Use the cells that contain the result of this function as the file name parameter when using the other functions. If Banana is not open only one query is made and Excel will not wait for a long time.
BFunctionsVersion()
Return the version of the function in the date format.
BInfo( sectionXml, idXml) and BInfoF(fileName, sectionXml, idXml)
Retrieve information regarding the file properties.
Examples:
=BInfo(“Base”, “HeaderLeft”) =BInfo(“Base”, “DateLastSaved”) =BInfo(“AccountingDataBase”, “OpeningDate”) =BInfo(“AccountingDataBase”, “BasicCurrency”) // Last year =BInfoF( File1, “Base”, “HeaderLeft”)
BInterest( account, interestRate [, period]) and BInterestF(filename, account, interestRate [, period])
Calculate the interest for this account for the specified period
account can be any account as specified in BBalance
interestRate in percentage
- > 0 calculate the interest on the debit amounts
- < 0 calculate the interest on the credit amount
BOpening( account [period]) and BOpeningF(filename, account [period])
Retrieve the Balance for balance of period start for the indicated account.
BQuery(fileName, query)
Return the result of a free defined query.
Examples:
=BQuery(File0;"startperiod?M1”) =BQuery(File0;"startperiod?M1”)
BTotal( account [,period]) and BTotalF(filename, account [,period])
Retrieve the movement for the period.
Should be used to retrieve the data for the Profit and Loss accounts (Cost and Revenues).
BVatBalance( vatCode, vatValue [, period]) and BVatBalanceF(filename, vatCode, vatValue [, period])
Return a value regarding the specified VatCode (or multiple VatCodes).
“vatValue” can be “taxable”, “amount”, “notdeductible”, “posted”
Examples:
=BVatBalance(“V10”, “taxable”) =BVatBalance(“V10|V20”, “posted”) //Last year =BVatBalanceF( File0, “V10”, “taxable”)
Additional function explanation
The retrieve the exact content of the cells
If you wanto to retrive the content of a cell you can use:
- BCellValue
The content of a cell, useful for text. - BCellAmount
The content of a cell is converted to a number so that you can use it for calculation.
With this you will retrive the exact content of a column "Balance" for the row where Account is 1000.
If the Balance is credit the amount is negative.
=BCellAmount(File0, “Accounts”, “Account=1000”, “Balance”)
Accounting Period calculation
You have different formula that allow to retrieve the amount.
- BBalance.
This is equivalent to the above. It retrieve the Balance of the whole accounting period.
But BBalance allow you to use also a period.
As a period you can use the date being, date end of an abbreviation. M3 means the first month of the accounting period.
If you use abbreviation instead of date your sheet will automatically adapt to file of different year.
BBalance( "1000") //Balance end of year BBalance( "1000", "2017-03-01", "2017-03-31") //Balance end of March BBalance( "1000", M3); // Balance and of March if accounting period start on 1. of January
- BTotal
It retrieve the total movement (Debit - Credit) for the period.
Use BTotal to the amount for income and expenss account.
Cedit amounts are retrieved as negative numbers.
BTotal( "1000") //Total movement end of year BBalance( "1000", "2017-03-01", "2017-03-31") //Total end of March BBalance( "1000", M3); // Total and of March if accounting period start on 1. of January
- BAmount
BAmount put the sign in positive based on the BClass of the account.
The amount retrieved depend on the BClass of the account or the group.
For Balance accounts (bclass 1 and 1) retrieve the Balance.
For Income and expenses accounts (bclass 3 and 4) retrieve the Total.
It also invert the sign in case of BClass 2 and 4.
So if you use BAmount for the Account revenues (BClass 4) you will have the total sales for the period in positive.
Your are free to use the most appropriate function.
-
BAccountDescription.
It is the same as GetCellValue but it deal automatically with accounts or groups.
Is usefull to retrieve the description of an account or group, in combination with BBalance, BTotal or BAmount.
=BAccountDescription( "1000") //Retrieve the column Description of the account 1000
=BAccountDescription( "1000", "Notes") //Retrieve the column Notes of the account 1000
=BAccountDescription( "Gr=10") //Retrieve the column Descrition of the group 10
Recalculate
The automatic recalculation does not update the data from the accounting file.
In order to have the data updated it is necessary to call the macro RecalculateAll() that call the method Application.CalculateFullRebuild
The example files contain a button “Recalculate” that call the macro RecalculateAll.
Banana host name and port
Web server data is retrieved from “localhost:8081”
You can specify a different host by entering a value in a cell named “BananaHostName”
Modify the functions or add your owns
Functions are defined in the Visual Basic module “Banana”.
If you add your function it would be better to add to your module.
To access the Visual Basic Macro Functionalities you should activate the macro.
In order to see and edit the functions your nedd to show the Developer tab in the Excel ribbon.
Use a new version of the Banana functions
In order to see and edit the functions your nedd to show the Developer tab in the Excel ribbon.
- Download on your computer the latest version
- Open your file in Excel
- Open the file "BananaSync.xlsm" in Excel
- Go to the Developer Tab
- Click on "Visual Basic"
- Copy the content of the "BananaSync.xmls - Banana (Code)"
- Paste the content in the Modules->Banana of your file.
Compatibility
Banana ExcelSync functions have been tested with Excel 2013 and 2016 for Windows.
Excel for Mac is not ready yet.
In Excel for Mac is not possible to call the http.
Any contribute to solve this problem is welcome.
Release History
- 2014-07-24 First release
- 2015-02-28 Updated for new version with new functionalities
- 2015-05-12 Call to webserver now require v1
- 2015-05-12 Development moved to github
- 2015-05-25 Changed BAmoount function to use BClass
- 2015-10-04 Added BDate function
- 2015-11-12 Renamend ExcelSync
- 2015-11-28
- Added example for cost division
- Started working on Mac support
- 2016-04-26 Added BCellAmount
- 2016-04-28 Fixes in some case rounding amount to zero
- 2017-02-01 New Version 2 (Functions without the file parameters)
Office Add-ins
Introduction to Excel 2016 Add-ins
Office 2016 Add-ins are extentions of Word, Excel, PowerPoint, and Outlook.
Add-ins are composed of:
- Manifest file
An XML file that defines various settings, including description and links to all the add-in files.
It is used by Word, Excel, PowerPoint, and Outlook to locate the Add-in resources.
The manifest file can reside on a local directory or is published on the Office Store. - Webpage files
Files that compose the web app (HTML pages, JavaScript code and images).
All the files need to reside on a web server.
Add-in Examples
These examples have been made available for programmers that want to create specialized add-ins to retrieve information from Banana Accounting.
You need to insall the add-ins on a web server.
- for Excel:
- Account Card report to create an Excel worksheet with details of an account.
- Retrieve Table report to create an Excel worksheet with a full table taken from the accounting.
- for Word:
- Account Card report to create a Word document with details of an account.
Resources
For more and detailed information about the developing of the Office Add-ins, please visit https://github.com/BananaAccounting/General/tree/master/OfficeAddIns.
命令行
Banana can be started by giving a series of command (for a list of command and examples file see below).
Example: open a file
banana70.exe c:\temp\example.ac2
Rule for command line command
- The arguments need to be preceded by a minus “-” sign. If an argument is missing of the “-” sign, it is interpreted as the name of the file to open.
- Include the whole argument within the delimiter “…” if the text include whitespace.
- Running import as command in the command line save the accounting file on exit
If a command fail, than a return code different than 0 is returned, and the error is inserted in the log file (only if the option –log_file was used).
Examples
Example: open a file:
banana70.exe c:\temp\example.ac2
Export to xml file
banana70.exe -cmd=export "-cmd_file=c:\temp\my example.ac2" "-cmd_p1=c:\temp\myexample.xml" -cmd_p2=xml -period_begin=2006-01-01 –period_end=2005-03-30
Example: import transactions (use the file name with the proper directory name)
banana70.exe -cmd=import -cmd_file="company.ac2" -cmd_table=Transactions -cmd_p1=import_mov.txt -cmd_exit=1
For detail information regarding the import of transaction see the page "Importing in txt format".
Available Command
The argument “–cmd=…” specifies the command to be executed. The other arguments specify the option for this command.
The command can be used as a command line or a DDE request.
Argument |
Description |
cmd= |
The command to execute file_open (cmd_p1=noshow) file_close (cmd_file) file_save (cmd_file) file_saveas (cmd_file, cmd_p1) file_show (cmd_file) get_tableinfo (cmd_file , cmd_table) get_getcell (cmd_file , cmd_table, cmd_column, cmd_row) get_getline (cmd_file , cmd_table, cmd_column, cmd_row) get_lasterror set_language(cmd_p1) calc_all (cmd_file) calc_simple (cmd_file) deleterows (…) *) export (…) fileinfo (…) import (…) *) acc_accountcard (…) acc_externalreport (…) acc_vatreport (…)
1) Running import in the command line save the file on exit;
|
List of arguments
Command |
Argument |
Description |
From command line |
cmd_exit=1 |
The program should exit and terminate |
For all commands |
cmd_file= |
the file to use or open |
cmd_pw= |
password to open the file |
|
cmd_names= |
A - Field name in XML (default on) a - Field name in original language |
|
log_file= |
set the log file name for writing messages (if no file name no log) |
|
deletelines |
cmd_p1= |
start of line to delete (number) |
cmd_p2= |
how many lines to delete (if not present = 1) |
|
cmd_table= |
The name of table |
|
|
|
|
set_language |
cmd_p1= |
The two letter ISO639 language code (de, fr, en, it) |
|
|
|
file_open |
cmd_p1= |
noshow – do not show the file |
|
|
|
file_saveas |
cmd_p1= |
file name of saved file |
|
|
|
get_tableinfo |
cmd_table= |
The name of the table to get info |
|
|
|
get_getcell |
cmd_table= |
The name of the table |
cmd_row= |
The number of the row, or an expression like “Account=1000:3” (In this ex. the third row where the field Account is equal to 1000 is used) |
|
cmd_column= |
The name of the column |
|
cmd_op= |
A – Format value (default on) |
|
get_getline |
cmd_table= |
The name of the table |
cmd_row= |
The number of the row, or an expression like “Account=1000:3” (In this ex. the third row where the field Account is equal to 1000 is used) |
|
cmd_op= |
A – Format value (default on) |
|
export |
export_use_param |
Instead of the default parameters use the last saved parameters (set with the dialog) and then applies the specified options with the other arguments |
cmd_p1= |
file name of the export file |
|
cmd_p2= |
Type: html, excel, xml |
|
cmd_table= |
The name of table to export (only the table is exported) |
|
export_include= |
Options: Upper case(A) = on; Lower Case(a) = off A - Recheck accounting (default on) B - Include statistics table (default on) C - Include transaction table (default on) D - Include account table (default on) E - Include category table (default on) F - Include total table (default on) G - Include Exchange rate table (default on) H - Inclue Vat code table and vat report (default on) I - Include Period Accounts (default on) L - Include Period VAT (default on) M - Create periods for the whole year (default off) N – Create accounts card |
|
export_include_ma= |
number of months for accounts period, for option I, (default 1) |
|
export_include_mv= |
number of months VAT period, for option L (default 3) |
|
export_include_mm= |
max numbers of periods (default 36) |
|
export_op_html= |
Options for html A - Use style sheet B - Use predefined style sheet (default on) C - Include style shett within html file (default on) D - Export visible fields only (default on) E - Table with borders (default on) F - Columns with headers (default on) G - Preserve page breaks within the table (default on)
|
|
export_op_excel= |
Options for Excel export A - Define cell name (default on) B - Define table name (default on) C - Use Xml names (default on) D - Protect tables (default on) |
|
export_op_xml= |
Upper case(A) = on; Lower Case(a) = off A – Visible field only (default off) B – Include view list (default off) |
|
period_all |
period All |
|
period_begin= |
Begin date (yyyy-mm-dd) |
|
period_end= |
period End date (yyyy-mm-dd) |
|
vat_use_param= |
Instead of the default parameters use the last saved parameters (set with the dialog) and then applies the options specified with vat_op |
|
vat_op= |
A - Include transactions B - Include total account C - Include total codes D - Include total percentage E - Use own group schema F - Only code specified G - Only group specified |
|
vat_sort= |
sort field |
|
vat_text= |
single code or groups (to use with –vat_op F and G) |
|
|
|
|
fileinfo |
cmd_op= |
A – Recalculate all (default off) |
import |
cmd_p1= |
File name of the file to import. Data have to be separated by tabulator, and the first row has to contain the name of the fields. |
cmd_p2= |
Insert al line number (0=Append to end) |
|
cmd_op= |
A - Complete imported raws |
|
cmd_table= |
The name of table where to insert the data |
|
|
|
|
acc_accountcard |
cmd_p1= |
account number |
cmd_p2= |
field name for sorting |
|
period_all |
period All (default) |
|
period_begin= |
Begin date (yyyy-mm-dd) |
|
period_end= |
period End date (yyyy-mm-dd) |
|
acc_externalreport |
cmd_p1= |
file name of the report |
cmd_p2= |
column name for grouping |
|
cmd_op= |
Upper case(A) = on; Lower Case(a) = off B - Include account with no transactions C - Include totals only D - Notify if an account is without a group |
|
|
|
|
acc_vatreport |
period_all |
period All (default) |
period_begin= |
Begin date (yyyy-mm-dd) |
|
period_end= |
period End date (yyyy-mm-dd) |
|
vat_use_param= |
use parameters from existing dialog + specified options like vat_op |
|
vat_op= |
Vat options Upper case(A) = on; Lower Case(a) = off A - Include transactions B - Include total account C - Include total codes D - Include total percentage E - Use own group schema F - Only code specified G - Only group specified H – Not used groups |
|
vat_sort= |
sort field |
|
vat_text= |
single code or groups (to use with –vat_op F and G) |
|
|
|
开放资源
Banana Accounting use this open source library:
- Qt Framework Libraries with LGPL 2.1 and LGPL 3.
- Libharu libraries (pdf writing) with zlib/libpng license.
-
QtWebApp HTTP Server with the LGPL license.
The exact version of the library is visible within the software under
- Info regarding Banana Accounting
- Patent and legal informations
Building the libraries
The above indicated libraries are dinamically linked.
If you want to use modified libraries:
- Qt Framework. Banana use the dll libraries build made available by the The Qt Company for each platform.
For building your own libraries simply follow the Qt instrunctions. - Libharu libraries are also build with the default builds scripts.
- QtWebApp have been modified by Banana.ch
- Added support to compile the library dinamically on windows.
- Added support to start the web server only for local host, so that it does not trigger the firewall.
- We make modified code available so that you can compile using the normal setting.
Replacing the libraries
Once you have re-build the library and created the dll:
- Replace the libraries/dll
- In Windows the libraries are in the program directory
- In Mac are under the directory frameworks
- In Android are in the lib directory
- In Linux are in the lib directory
Info
If you have question let us know.
网络服务器
Excel, Word, Access and other software have the ability to integrate documents and data that is made available throught the internet protocol.
To have the possibility to retrieve the Banana Accounting data from other software, Banana include a web server, and a RESTful API, that can be accessed through http protocol.
Starting the web server
The web server enable you to access the accounting data through http.
The web server is started from the dialog Program Options unter the menu Tools.
Once the web server is started you can access to the server by typing the address "http://localhost:8081/" in your browser or in your application.
Settings
The settings of the file server, like the listening port number and others, are stored in the following file:
Windows: "C:/Users/{user_name}/AppData/Local/Banana.ch/Banana/8.0/httpconfig.ini"
Mac: "/Users/{user_name}/Library/Application Support/Banana.ch/Banana/8.0/httpconfig.ini"
Linux: "/home/{user_name}/.local/share/data/Banana.ch/Banana/8.0/httpconfig.ini"
Resources API v1.0
/v1
Show the home page of the web server and enable you to navigate the content of the accounting files.
/v1/docs
Return the list of opened documents as json array.
Examples:
/v1/docs Returns: ["accounting.ac2","accounting previous year.ac2", ...]
/v1/doc/{doc_name}/tablenames
Return the list of tables in document doc_name as json array.
Examples:
/v1/doc/accounting.ac2/tables Returns: ["Accounting","Transactions", ...]
/v1/doc/{doc_name}/table/{table_name}
Return the content of table table_name in document doc_name as html.
Parameters:
view Contains the the xml name of the view to be returned.
columns Contains the xml names of the columns to be returned.
navigation If set to true the html page navigation is showed, else only the data are showed.
Examples:
/v1/doc/accounting.ac2/table/Accounts /v1/doc/accounting.ac2/table/Accounts?view=Base /v1/doc/accounting.ac2/table/Accounts?columns=Account,Group,Description,Balance
/v1/doc/{doc_name}/table/{table_name}/rowcount
Return the number of rows in the table table_name as text.
/v1/doc/{doc_name}/table/{table_name}/columnnames
Return the list of columns as json array.
/v1/doc/{doc_name}/table/{table_name}/row/{row_nr}/column/{col_name}
Return the value of cell at row row_nr and column col_name as text.
The part row_nr can be a row number starting from 1 or an expression like 'Account=1000' (In this ex. the first row where the field Account is equal to 1000 is used)
The part col_name is the xml name of the requested column.
Examples:
/v1/doc/accounting.ac2/table/Accounts/row/2/Description /v1/doc/accounting.ac2/table/Accounts/row/Account=1000/Balance
/v1/doc/{doc_name}/accounts
Return the list of accounts as json array.
Examples:
/v1/doc/accounting.ac2/accounts Returns: [{"id":"1000","descr":"1000 Cash"}, {"id":"1010","descr":"1000 Post"}, ...]
/v1/doc/{doc_name}/groups
Return the list of groups as json array.
Examples:
/v1/doc/accounting.ac2/groups Returns: [{"id":"100","descr":"100 Current Assets"}, ...]
/v1/doc/{doc_name}/vatcodes
Return the list of vatcodes as json array.
Examples:
/v1/doc/accounting.ac2/vatcodes Returns: [{"id":"V80","descr":"V80 Sales and services 8.0%"}, ...]
/v1/doc/{doc_name}/accountcard/{account_id}
Return the account card of account account_id as html.
Parameters:
view Contains the the xml name of the view to be returned.
columns Contains the xml names of the columns to be returned.
navigation If set to true the html page navigation is showed, else only the data are showed.
period Define the start and end date for the request.
It can contain a period abbreviation like '1Q' or a start and end date like '2014-01-01/2014-03-31'.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
filter Contains a javascript expression used to filter the transactions. The object available to the expression are "row", "rowNr", and "table".
For example: filter=row.value("Date")==="2014-01-15"
Examples:
/v1/doc/accounting.ac2/accountcard/1000 /v1/doc/accounting.ac2/accountcard/1000?period=Q1 /v1/doc/accounting.ac2/accountcard/1000?period=2014-01-01/2014-03-31 /v1/doc/accounting.ac2/accountcard/1000?filter=row.value("Description").contain("xyz")
/v1/doc/{doc_name}/accountdescription/{account_id|Gr=group_id}[/{col_name}]
Return the description of the requested account or group as text.
The part col_name is optional, it is the xml name of the requested column. Default is the column 'Description'.
Examples:
/v1/doc/accounting.ac2/accountdescription/1000 /v1/doc/accounting.ac2/accountdescription/Gr=1 /v1/doc/accounting.ac2/accountdescription/1000/Curreny
/v1/doc/{doc_name}/balance/{account_id|Gr=group_id|BClass=class_id}/{opening|credit|debit|total|balance|openingcurrency|...}
Return the current balance of the requested account, group or bclass as text.
The last part or the url can be one of the followings strings:
- opening
- credit
- debit
- total
- balance
- openingcurrency
- ceditcurrency
- debitcurrency
- totalcurrency
- balancecurrency
- rowcount
Parameters:
period Define the start and end date for the request.
It can contain a period abbreviation like '1Q' or a start and end date like '2014-01-01/2014-03-31'.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
filter Contains a javascript expression used to filter the transactions. The object available to the expression are "row", "rowNr", and "table".
For example: filter=row.value("Date")==="2014-01-15"
Examples:
/v1/doc/accounting.ac2/balance/1000/opening /v1/doc/accounting.ac2/balance/1000|1010|1020|1030/opening /v1/doc/accounting.ac2/balance/Gr=6/totalcurrency?period=Q1 /v1/doc/accounting.ac2/balance/BClass=1/balance
/v1/doc/{doc_name}/budgetcard/{account_id}
Return the budget card of account account_id as html.
Parameters:
view Contains the the xml name of the view to be returned.
columns Contains the xml names of the columns to be returned.
navigation If set to true the html page navigation is showed, else only the data are showed.
period Define the start and end date for the request.
It can contain a period abbreviation like '1Q' or a start and end date like '2014-01-01/2014-03-31'.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
filter Contains a javascript expression used to filter the transactions. The object available to the expression are "row", "rowNr", and "table".
For example: filter=row.value("Date")==="2014-01-15"
Introduced in 7.0.7.0
Examples:
/v1/doc/accounting.ac2/budgetcard/1000 /v1/doc/accounting.ac2/budgetcard/1000?period=Q1 /v1/doc/accounting.ac2/budgetcard/1000?period=2014-01-01/2014-03-31
/v1/doc/{doc_name}/budget/{account_id|Gr=group_id|BClass=class_id}/{opening|credit|debit|total|balance|openingcurrency|...}
Return the budget of the requested account, group or bclass as text.
The last part or the url can be one of the followings strings:
- opening
- credit
- debit
- total
- balance
- openingcurrency
- ceditcurrency
- debitcurrency
- totalcurrency
- balancecurrency
- rowcount
Parameters:
period Define the start and end date for the request.
It can contain a period abbreviation like '1Q' or a start and end date like '2014-01-01/2014-03-31'.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
filter Contains a javascript expression used to filter the transactions. The object available to the expression are "row", "rowNr", and "table".
For example: filter=row.value("Date")==="2014-01-15"
Examples:
/v1/doc/accounting.ac2/budget/1000/opening /v1/doc/accounting.ac2/budget/1000|1010|1020|1030/opening /v1/doc/accounting.ac2/budget/Gr=6/totalcurrency?period=Q1 /v1/doc/accounting.ac2/budget/BClass=1/balance
/v1/doc/{doc_name}/projection/{account_id|Gr=group_id|BClass=class_id}/{opening|credit|debit|total|balance|openingcurrency|...}
Return the projection of the requested account, group or bclass as text.
The last part or the url can be one of the followings strings:
- opening
- credit
- debit
- total
- balance
- openingcurrency
- ceditcurrency
- debitcurrency
- totalcurrency
- balancecurrency
- rowcount
Parameters:
projectionstart This parameter is mandatory and define the start date of the projection.
It can contain a period abbreviation like 'Q1' (start at beginnig of) or a date like '2014-07-01'.
period Define the start and end date for the request.
It can contain a period abbreviation like '1Q' or a start and end date like '2014-01-01/2014-03-31'.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
filter Contains a javascript expression used to filter the transactions. The object available to the expression are "row", "rowNr", and "table".
For example: filter=row.value("Date")==="2014-01-15"
Examples:
/v1/doc/accounting.ac2/projection/1000/opening?projectionstart=S1 /v1/doc/accounting.ac2/projection/1000/opening?projectionstart=2014-07-01
/v1/doc/{doc_name}/vatbalance/{vat_code|Gr=vat_group}/{taxable|amount|notdeductible|posted}
Return the current balance of the requested vat code as text.
The last part of the url can be one of the followings strings:
- taxable
- amount
- notdeductible
- posted
- rowcount
Parameters:
period Define the start and end date for the request.
It can contain a period abbreviation like '1Q' or a start and end date like '2014-01-01/2014-03-31'.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
filter Contains a javascript expression used to filter the transactions. The object available to the expression are "row", "rowNr", and "table".
For example: filter=row.value("Date")==="2014-01-15"
Examples:
/v1/doc/accounting.ac2/vatbalance/V80/balance
/v1/doc/{doc_name}/vatbudget/{vat_code|Gr=vat_group}/{taxable|amount|notdeductible|posted}
Return the budget of the requested vat code as text.
The last part or the url can be one of the followings strings:
- taxable
- amount
- notdeductible
- posted
- rowcount
Parameters:
period Define the start and end date for the request.
It can contain a period abbreviation like '1Q' or a start and end date like '2014-01-01/2014-03-31'.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
filter Contains a javascript expression used to filter the transactions. The object available to the expression are "row", "rowNr", and "table".
For example: filter=row.value("Date")==="2014-01-15"
Examples:
/v1/doc/accounting.ac2/vatbudget/V80/balance
/v1/doc/{doc_name}/vatdescription/{vat_code}[/{col_name}]
Return the description of the requested vat code as text.
The part col_name is optional, it is the xml name of the requested column. Default is the column 'Description'.
Examples:
/v1/doc/accounting.ac2/vatdescription/V80 /v1/doc/accounting.ac2/vatdescription/V80/Gr1
/v1/doc/{doc_name}/accreport
Return the accounting report for the document doc_name as html.
Parameters:
view Contains the the xml name of the view to be returned.
columns Contains the xml names of the columns to be returned.
navigation If set to true the html page navigation is showed, else only the data are showed.
period Define the start and end date for the request.
It can contain a period abbreviation like '1Q' or a start and end date like '2014-01-01/2014-03-31'.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
subdivision Define the period subdivision for the request .A period subdivision is defined by one of the following charachters:
- M for monthly subdivision
- Q for quarter sudbivision
- S for semester subdivision
- Y for year subdivision
Examples:
/v1/doc/accounting.ac2/accreport /v1/doc/accounting.ac2/accreport?period=Q1 /v1/doc/accounting.ac2/accreport?subdivision=Q
/v1/doc/{doc_name}/vatreport
Return the vat report for the document doc_name as html.
Parameters:
view Contains the the xml name of the view to be returned.
columns Contains the xml names of the columns to be returned.
navigation If set to true the html page navigation is showed, else only the data are showed.
period Define the start and end date for the request.
It can contain a period abbreviation like '1Q' or a start and end date like '2014-01-01/2014-03-31'.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
Examples:
/v1/doc/accounting.ac2/vatreport /v1/doc/accounting.ac2/vatreport?period=Q3
/v1/doc/{doc_name}/journal
Return the journal for the document doc_name as html.
Parameters:
columns Contains the xml names of the columns to be returned.
navigation If set to true the html page navigation is showed, else only the data are showed.
doc/{doc_name}/startperiod
Return the start date in the form of 'YYYY-MM-DD'.
Parameters:
period Define the period for the request.
It can contain a period abbreviation like '1Q' or be empry. If period is not present or empty the accounting start date is returned.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
See also endPeriod.
Introduced in 7.0.7.0
Examples:
/v1/doc/accounting.ac2/startperiod /v1/doc/accounting.ac2/startPeriod?period=Q3
doc/{doc_name}/endPeriod
Return the end date in the form of 'YYYY-MM-DD'.
Parameters:
period Define the period for the request.
It can contain a period abbreviation like '1Q' or be empry. If period is not present or empty the accounting end date is returned.
A period abbreviation is defined by a number followed by one of the following charachters:
- M for months
- Q for quarters
- S for semesters
- Y for years
See also startPeriod.
Introduced in 7.0.7.0
Examples:
/v1/doc/accounting.ac2/endPeriod /v1/doc/accounting.ac2/endperiod?period=Q3
/v1/doc/{doc_name}/info
Return the info table as html.
Parameters:
columns Contains the xml names of the columns to be returned.
navigation If set to true the html page navigation is showed, else only the data are showed.
/v1/doc/{doc_name}/info/{info_section_name}/{info_id_name}
Return the info value section:id as text.
Examples:
/v1/doc/accounting.ac2/info/AccountingDataBase/BasicCurrency
/v1/doc/{doc_name}/infos
Return the infos of document doc_name as json object.
Examples:
/v1/doc/accounting.ac2/infos Returns: [{"section":"Base", "id":"FileInfo", "value":""},{"section":"Base", "id":"Date", "value":"2014-05-13"}, ...]
/v1/doc/{doc_name}/messages/count
Return the number of error messages in the accounting file.
Parameters:
recheck If set to 'yes' a 'Recheck accounting' is executed.
/v1/script?scriptfile=path_to_script
Execute the script scriptfile.
Parameters:
scriptfile Define the path of the script to be executed.The path can be an absolute path or a path relative to the user's document directory.
ac2file Define the name of an opened document to be passed to the script. It is optional.
indata Contains text data to be passed to the script. It is optional.
Examples:
/v1/script?scriptfile=getresults.js /v1/script?scriptfile=getresults.js&ac2file=accounting.ac2
/v1/settings
Show the settings of the web server.
/v1/help
Show the help of the web server.
Data formats API
Date
Date values are in ISO 8601 format 'YYYY-MM-DD'.
Decimal
Decimal values have a '.' (dot) as decimal separator and doesn't have a group separator. For example: '12345.67'.
Decimal values are rounded according to the accounting settings.
Text
Text values can contain any character supported by UTF-8.
Time
Time values are in ISO 8601 format 'HH:MM:SS'. The formats 'HH:MM' and 'HH:MM:SS.ZZZ are also accepted.
Data formats API
Date
Date values are in ISO 8601 format 'YYYY-MM-DD'.
Decimal
Decimal values have a '.' (dot) as decimal separator and doesn't have a group separator. For example: '12345.67'.
Decimal values are rounded according to the accounting settings.
Text
Text values can contain any character supported by UTF-8.
Time
Time values are in ISO 8601 format 'HH:MM:SS'. The formats 'HH:MM' and 'HH:MM:SS.ZZZ are also accepted.
导入数据
See also:
- End user genaral import documentation .
- End user documentation for importing accounting data.
- If you are a developper and do want to test if the import file is correct. Download and install the Banana Software. In Starter Edition mode you can cCreate a new accounting file, use the import in to account function and make all tests you need.
ImportApp
An importApp is javascript program that is executed internally by Banana (when user want to import data) and usually convert data from a proprietary format to a Banana "Text file with columns header".
You can create an ImportApp that does more sofisticated things like:
- Appling an account number based on the content .
For example set the ContraAccount to "3000" if the amount is positive and the "Description" start with "Revenue from " - Use data contained in another banana table to complete the transactions.
- Create a table with (Tools->Add new functionalities->Add simple table) where you list text to look for in the transactions text and the corresponding account to use.
- Assume you invoice data use a customers number that is different from the account number in the Account table.
Add a new column in the Account table and then use the content to retrive the appropriate account number. - Adding a prefix to the supplier invoice number, so that you can easily distinguish incoming and outgoing invoices.
For more information see creating an ImportApp
Import and complete the data imported in Banana
Once the data is imported user can undo the operation or complete or modify the data.
By this way you can delegate to the user to check if the import is correct, if there are changes that need to be done.
Import "Text file with columns header"
The Banana import format is of type "Text file with column headers".
- Fields and column name separator is to be tab separated "\t"
- Each line (after a "\n") is a new record
- Charachter code preferably UTF8 or else the local one.
- The first line contains the columns header name
- You can use any column name existing on the table
- Names a case sensitive and must correspond to the Banana NameXml (English) of the column.
- Starting from line 2 it contains the data to be imported
- The format for the Date fields is yyyy-mm-dd
- The decimal separator is the decimal point "."
- Amount should not have any thousand separator
Two command for import
- Throught the Command in Menu Account1->Import in Accounting.
This is a specialized import for accounting data, with postprocessing of that suitable for the accounting data.- Import Accounts, VatCode, Exchange rate
It use the column name as in the table - Transactions
You have two option:- Double entry account format (same as in the double entry transactions table)
- Income/Expense account (for bank statements)
- Import Accounts, VatCode, Exchange rate
- Throught the command Data import. Import from txt.
You can import data in any table. For accounting data prefer option 1.
Import double entry transactions in txt format
For what is concerning the specific of the import of double entry see the explanations the Import Double-entry accounting transactions. The only difference is that the Complete transactions with section is active and allows the user to enter the initial document number and the destination account number. Once the import is done, the counterparty account will have to be entered manually.
Menu Account1->Import into account
The type of file to be used is a "Text file with column headers".
Main columns for import
For importing invoices the tab separated import file or translated file usually contains this columns:
- Date of the transaction (2014-12-31)
- DateDocument with the date of the invoice
- DocInvoice the invoice number
- Description a brief text
- AccountDebit the account number of the customer or the general account for customers
- AccountCredit the account number of the revenue account
- Amount the amount of the accounting currency
- VatCode the vat code that should be used
- AmountCurrency if multi-currency the amount of the invoice in original currency and currency of the AccountDebit
Example file double entry format
Fields are separated by the tab char (ASCII decimal 11, C language "\t").
In the example the tab charachter is not visible.
Date Doc Description AccountDebit AccountCredit Amount VatCode VatPercentNonDeductible 2018-01-03 Bank to Cash 1000 1020 350.00 2018-01-05 Office Supplies 6500 1000 32.50 E76
Options
- Import using clipboard data will use the content of the clipboard instead of the file
- Autocomplete values Some fields of the transactions are automatically completed (see "Importing transactions for multicurrency double entry accounting").
- Unicode (utf-8) The content of the file is in Unicode utf-8 (it support any character set).
Importing other transaction's columns
You can import any other field that is defined in the transactions table.
There are other alues that we suggest to import if available:
- DateDocument the date of the original document (for example the date of the invoice)
- DocOriginal the document number for example the invoice number
- DocPayed the document number that has been payed
- DocLink the address of the file that link to a scanned document (pdf, jpg, ..)
- DocInvoice the invoice number
- ExternalReference a information that help to identify the transactions as unique.
It will be used in future implementation of Banana (in conjunction with the date) to warn a user that the transaction has already been imported.
This should be a externaReference generated by the software that create the transactions to be imported.
We suggest to use a name of the program and a number tha that is unique for the accounting period.
For example "invoice-2013-00001.001" with year, invoice number and a progressive number that is relative to the invoice in case it will be necessary to have more transactions lines for the same invoice.
Importing transactions for multicurrency double entry accounting
By importing multicurrency data there can be rounding or calculation differences due to different development tools used. To avoid such differences you should provide only certain fields and while importing the program will calculate the field values that are missing (with the option "Autocomplete values") .
- If you provide only "AmountCurrency" the program will use the default exchange rate and will calculate the "Amount".
- In order to avoid error provide always the "ExchangeCurrency"
- If you provide the "AmountCurrency" and the "ExchangeRate" and the "Amount" are 0 o not present the program will calculate the exchange rate based on the column "Amount" and "AmountCurrency".
Importing Invoice data
The data of your invoice software can be easily imported in Banana.
There are two way to do so:
- Your invoice software already has the ability to export the invoice data.
In order to import this data in Banana you need to create a Javascript BananaApp that translate the data in the format accetable for Banana.
The script program take as input the content of a file and create an output that is a tab separeted text file with columns headers. - Let your invoice software generate a file for Banana a indicated in the "Import double entry transaction in txt format".
Invoices on more lines
Most invoices have different items that need to be registered in different revenues accounts or that have different VAT percentage.
In this case for each invoice you neet to have many import lines.
Date, DateDocument, DocInvoice have always the same values.
- The first line you have the
- AccountDebit the customer account number
- AccountCredit is void.
- Amount the total amount of the invoice. The amount due from Customer.
- VatCode is void
- For each item with different revenue accounts or Vat percentage you should have an additional lines
- AccountDebit is void
- AccountCredit the revenue account for this item
- Amount the total amount to be registered on this account.
If you have a VatCode it could be convenient to use the amount without VAT. - VatCode the VatCode that apply to this item.
If the Amount is Net of VAT you should define a VAT Code that is calculated on the net Value.
Group transactions by invoice number
Il the imported data contains the "DocInvoice" columns, when Banana display you a sedond DialogBox, you can choose to have Banana group the transactions by DocInvoice.
In this case Banana automatically create if necessary a transaction for rounding differences.
Use Cost center instead for customer account
If you do not want to keep track of the invoices registered but do not wan't them to be recorded on ordently account you can use the Cost center (CC3). See also Client/Suppliers register.
Import receipts/payment transactions in txt format (Bank statements)
This format is suitable to import Bank statements in elctorinic format.
- For what is concerning the specific of the import of income/expenses transactions see the explanations Import Income & Expenses accounting transactions.
- The information for the Double Entry import are also partially applicable.
Menu Account1->Import into account
The type of file to be used is a "Receipt/Payment transactions".
- You can use any column name existing on the table
- Column with special meaning are
- Date of the transaction (2014-12-31)
- Description a brief text
- Income: The amount in credit (can also be negative a mount)
- Expenses: The amount in debit
- ContraAccount: the account nember (debit/credit) or category
- Account: If the file contains the movements of multiple accounts, the account of the transaction
- VatCode the vat code that should be used
- Fields header in the first line o the file Fields names a case sensitive and must correspond to the NameXml (English)
- Fields and column name separator is to be tab separated "\t"
- Each line (after a "\n") is a new record
- The format for the Date fields is yyyy-mm-dd
Example file Income/Expenses format
Fields are separated by the tab char (ASCII decimal 11, C language "\t").
In the example the tab charachter is not visible.
Date Description Income Expenses ContraAccount Account 2007-01-02 Paper 30.00 2007-01-06 material for photographic competition 259.2 3000
Options
- Import using clipboard data will use the content of the clipboard instead of the file
- Autocomplete values Some fields of the transactions are automatically completed (see "Importing transactions for multicurrency double entry accounting").
Once the import is done, the contra account will have to be entered manually. - Unicode (utf-8) The content of the file is in Unicode utf-8 (it support any character set).
Automated data importing
The import of transaction can be automated using the command.
For further information see "Command line"
Exporting data
Banana Accounting can export in different formats:
It is also possible to create Banana Apps that export the data in specific formats:
Banana software is also trying to improve the data interchange with a new JCSV file format that bring toghether the simplicity of CSV and the advanced data interchange capabilities of Json.
GitHub BananaAccounting
Contribute to BananaAccounting GitHub repository
In order to contribute to BananaAccounting GitHub repository and submit some changes it is necessary to follow some basic steps.
- Install GitHub Desktop
- Fork the repository
- Clone the repository
- Modify or add files to the repository
- Submit the changes
Install Github Desktop
Install GitHub Desktop on your computer, and if you don't have it create your own account.
Fork the repository
The first step is to fork your own copy of the repository you want to work on to your account:
- Go to the Banana Accounting's main page in github
- Click on the repository link
- Click the button Fork on top right of the page
- Select your Account
Clone the repository
The second step is to clone the forked repository:
- Click the green button Clone or download -> Open in Desktop -> Open link
- Click the button Clone and wait a moment while the forked repository is cloned on your local machine.
At this point, you have created on your computer your own copy of the repository, where you can work on the files, create directories etc, as you work as usual.
Modify or add files to the repository
To work with the repository:
- Start GitHub Desktop
- Choose the repository you like to work on
- Menu Repository -> Show in Explorer
- Work on the files, create directories etc, as you work as usual..
- Commit the changes to your own repository by clicking on Commit and then Pull buttons
Submit the changes
To submit changes with GitHub desktop:
- Start GitHub Desktop
- Choose the repository
- Click on Menu Branch -> Create Pull Request
- On the opened page of the browser set:
- base fork: select the BananaAccounting repository (example: BananaAccounting/Netherlands)
- base: select the master branch of the BananaAccounting repository
- head fork: select your own repository (example: YourAccountName/Netherlands)
- compare: select the master branch of the repository
- Click the button Create Pull Request
- Add a comment title and a comment text for the pull request
- Click the button Create Pull Request
Important: Do not click on the "Close Pull Request" button, or the pull request will be blocked!
The repository moderator will receive the pull request, evaluate and approve or refuse the contribution.
You will be automatically notified.