First commit waiting for Budget Alert

This commit is contained in:
2025-09-04 13:37:35 +01:00
commit 2d681f27f5
4563 changed files with 1061534 additions and 0 deletions

View File

@ -0,0 +1,17 @@
apply plugin: "com.axelor.app-module"
apply from: "../version.gradle"
apply {
version = openSuiteVersion
}
axelor {
title "Axelor Cash Management"
description "Axelor Cash Management Module"
}
dependencies {
compile project(":modules:axelor-human-resource")
compile project(":modules:axelor-supplychain")
}

View File

@ -0,0 +1,75 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.cash.management.db.repo;
import com.axelor.apps.base.db.Company;
import com.axelor.apps.base.db.repo.SequenceRepository;
import com.axelor.apps.base.service.administration.SequenceService;
import com.axelor.apps.cash.management.db.ForecastRecap;
import com.axelor.apps.cash.management.exception.IExceptionMessage;
import com.axelor.exception.AxelorException;
import com.axelor.exception.db.repo.TraceBackRepository;
import com.axelor.i18n.I18n;
import com.axelor.inject.Beans;
import java.math.BigDecimal;
import javax.persistence.PersistenceException;
public class CashManagementForecastRecapRepository extends ForecastRecapRepository {
@Override
public ForecastRecap save(ForecastRecap entity) {
try {
if (entity.getForecastRecapSeq() == null) {
Company company = entity.getCompany();
String sequence =
Beans.get(SequenceService.class)
.getSequenceNumber(SequenceRepository.FORECAST_RECAP_SEQUENCE, company);
if (sequence == null) {
throw new AxelorException(
company,
TraceBackRepository.CATEGORY_CONFIGURATION_ERROR,
I18n.get(IExceptionMessage.FORCAST_RECAP_SEQUENCE_ERROR),
company.getName());
} else {
entity.setForecastRecapSeq(sequence);
}
}
return super.save(entity);
} catch (AxelorException e) {
throw new PersistenceException(e.getLocalizedMessage());
}
}
@Override
public ForecastRecap copy(ForecastRecap entity, boolean deep) {
ForecastRecap copy = super.copy(entity, deep);
copy.clearForecastRecapLineList();
copy.setCalculationDate(null);
copy.setForecastRecapSeq(null);
copy.setEndingBalance(BigDecimal.ZERO);
return copy;
}
}

View File

@ -0,0 +1,25 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.cash.management.exception;
public interface IExceptionMessage {
static final String FORECAST_COMPANY = /*$$(*/ "Please select a company" /*)*/;
static final String FORCAST_RECAP_SEQUENCE_ERROR = /*$$(*/
"The company %s doesn't have any configured sequence for ForcastRecap" /*)*/;
}

View File

@ -0,0 +1,30 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.cash.management.module;
import com.axelor.app.AxelorModule;
import com.axelor.apps.cash.management.db.repo.CashManagementForecastRecapRepository;
import com.axelor.apps.cash.management.db.repo.ForecastRecapRepository;
public class CashManagementModule extends AxelorModule {
@Override
protected void configure() {
bind(ForecastRecapRepository.class).to(CashManagementForecastRecapRepository.class);
}
}

View File

@ -0,0 +1,23 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.cash.management.report;
public interface IReport {
public static final String FORECAST_RECAP = "ForecastRecap.rptdesign";
}

View File

@ -0,0 +1,56 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.cash.management.report;
public interface ITranslation {
public static final String FORECAST_RECAP_TITLE = /*$$(*/ "ForecastRecap.title"; /*)*/
public static final String FORECAST_RECAP_OPPORTUNITIES_TYPE_NO = /*$$(*/
"ForecastOpportunitiesType.no"; /*)*/
public static final String FORECAST_RECAP_OPPORTUNITIES_TYPE_BASE = /*$$(*/
"ForecastOpportunitiesType.base"; /*)*/
public static final String FORECAST_RECAP_OPPORTUNITIES_TYPE_WORST = /*$$(*/
"ForecastOpportunitiesType.worst"; /*)*/
public static final String FORECAST_RECAP_OPPORTUNITIES_TYPE_BEST = /*$$(*/
"ForecastOpportunitiesType.best"; /*)*/
public static final String FORECAST_RECAP_LINE_TYPE_IN = /*$$(*/ "ForecastLineType.in"; /*)*/
public static final String FORECAST_RECAP_LINE_TYPE_OUT = /*$$(*/ "ForecastLineType.out"; /*)*/
public static final String FORECAST_RECAP_COMPANY = /*$$(*/ "ForecastRecap.company"; /*)*/
public static final String FORECAST_RECAP_CALCULATION_DATE = /*$$(*/
"ForecastRecap.calculationDate"; /*)*/
public static final String FORECAST_RECAP_OPPORTUNITIES_TYPE = /*$$(*/
"ForecastRecap.opportunitiesTypeSelect"; /*)*/
public static final String FORECAST_RECAP_CURRENCY = /*$$(*/ "ForecastRecap.currency"; /*)*/
public static final String FORECAST_RECAP_FROM_DATE = /*$$(*/ "ForecastRecap.fromDate"; /*)*/
public static final String FORECAST_RECAP_STARTING_BALANCE = /*$$(*/
"ForecastRecap.startingBalance"; /*)*/
public static final String FORECAST_RECAP_BANK_DETAILS = /*$$(*/
"ForecastRecap.bankDetailsIban"; /*)*/
public static final String FORECAST_RECAP_TO_DATE = /*$$(*/ "ForecastRecap.toDate"; /*)*/
public static final String FORECAST_RECAP_ENDING_BALANCE = /*$$(*/
"ForecastRecap.endingBalance"; /*)*/
public static final String FORECAST_RECAP_OPERATION_DETAILS = /*$$(*/
"ForecastRecap.operationDetails"; /*)*/
public static final String FORECAST_RECAP_LINE_ESTIMATED_DATE = /*$$(*/
"ForecastLine.estimatedDate"; /*)*/
public static final String FORECAST_RECAP_LINE_TYPE = /*$$(*/ "ForecastLine.type"; /*)*/
public static final String FORECAST_RECAP_LINE_RELATED_TO_NAME = /*$$(*/
"ForecastLine.relatedToName"; /*)*/
public static final String FORECAST_RECAP_LINE_AMOUNT = /*$$(*/ "ForecastLine.amount"; /*)*/
public static final String FORECAST_RECAP_LINE_BALANCE = /*$$(*/ "ForecastLine.balance"; /*)*/
}

View File

@ -0,0 +1,101 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.cash.management.service;
import com.axelor.apps.base.db.BankDetails;
import com.axelor.apps.base.db.Company;
import com.axelor.apps.base.service.app.AppBaseService;
import com.axelor.apps.cash.management.db.Forecast;
import com.axelor.apps.cash.management.db.ForecastGenerator;
import com.axelor.apps.cash.management.db.ForecastReason;
import com.axelor.apps.cash.management.db.repo.ForecastRepository;
import com.google.inject.Inject;
import com.google.inject.persist.Transactional;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class ForecastService {
@Inject protected AppBaseService appBaseService;
@Inject protected ForecastRepository forecastRepo;
@Transactional
public void generate(ForecastGenerator forecastGenerator) {
LocalDate fromDate = forecastGenerator.getFromDate();
LocalDate toDate = forecastGenerator.getToDate();
LocalDate itDate = LocalDate.parse(fromDate.toString(), DateTimeFormatter.ISO_DATE);
int count = 0;
this.reset(forecastGenerator);
while (!itDate.isAfter(toDate)) {
Forecast forecast =
this.createForecast(
forecastGenerator,
forecastGenerator.getCompany(),
forecastGenerator.getBankDetails(),
forecastGenerator.getTypeSelect(),
forecastGenerator.getAmount(),
itDate,
forecastGenerator.getForecastReason(),
forecastGenerator.getComments(),
forecastGenerator.getRealizedSelect());
forecastRepo.save(forecast);
itDate = fromDate.plusMonths(++count * forecastGenerator.getPeriodicitySelect());
}
}
public Forecast createForecast(
ForecastGenerator forecastGenerator,
Company company,
BankDetails bankDetails,
int typeSelect,
BigDecimal amount,
LocalDate estimatedDate,
ForecastReason reason,
String comments,
int realizedSelect) {
Forecast forecast = new Forecast();
forecast.setForecastGenerator(forecastGenerator);
forecast.setCompany(company);
forecast.setBankDetails(bankDetails);
forecast.setTypeSelect(typeSelect);
forecast.setAmount(amount);
forecast.setEstimatedDate(estimatedDate);
forecast.setForecastReason(reason);
forecast.setComments(comments);
forecast.setRealizedSelect(realizedSelect);
return forecast;
}
@Transactional
public void reset(ForecastGenerator forecastGenerator) {
forecastRepo
.all()
.filter(
"self.forecastGenerator = ? AND (self.realizedSelect = ? OR (self.realizedSelect = ? AND self.estimatedDate > ?))",
forecastGenerator,
ForecastRepository.REALISED_SELECT_NO,
ForecastRepository.REALISED_SELECT_AUTO,
appBaseService.getTodayDate())
.remove();
}
}

View File

@ -0,0 +1,24 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.cash.management.translation;
public interface ITranslation {
public static final String CASH_MANAGEMENT_APP_NAME = /*$$(*/ "value:Cash management"; /*)*/
public static final String CASH_MANAGEMENT_REPORT_TITLE = /*$$(*/ "ForecastRecap"; /*)*/
}

View File

@ -0,0 +1,36 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.cash.management.web;
import com.axelor.apps.cash.management.db.ForecastGenerator;
import com.axelor.apps.cash.management.db.repo.ForecastGeneratorRepository;
import com.axelor.apps.cash.management.service.ForecastService;
import com.axelor.inject.Beans;
import com.axelor.rpc.ActionRequest;
import com.axelor.rpc.ActionResponse;
public class ForecastController {
public void generate(ActionRequest request, ActionResponse response) {
ForecastGenerator forecastGenerator = request.getContext().asType(ForecastGenerator.class);
forecastGenerator =
Beans.get(ForecastGeneratorRepository.class).find(forecastGenerator.getId());
Beans.get(ForecastService.class).generate(forecastGenerator);
response.setReload(true);
}
}

View File

@ -0,0 +1,191 @@
/*
* Axelor Business Solutions
*
* Copyright (C) 2019 Axelor (<http://axelor.com>).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.axelor.apps.cash.management.web;
import com.axelor.apps.cash.management.db.ForecastRecap;
import com.axelor.apps.cash.management.db.ForecastRecapLine;
import com.axelor.apps.cash.management.db.repo.ForecastRecapRepository;
import com.axelor.apps.cash.management.exception.IExceptionMessage;
import com.axelor.apps.cash.management.service.ForecastRecapService;
import com.axelor.apps.cash.management.translation.ITranslation;
import com.axelor.exception.AxelorException;
import com.axelor.exception.db.repo.TraceBackRepository;
import com.axelor.i18n.I18n;
import com.axelor.inject.Beans;
import com.axelor.meta.schema.actions.ActionView;
import com.axelor.rpc.ActionRequest;
import com.axelor.rpc.ActionResponse;
import com.axelor.rpc.Context;
import java.lang.invoke.MethodHandles;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ForecastRecapController {
private final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public void populate(ActionRequest request, ActionResponse response) throws AxelorException {
ForecastRecap forecastRecap = request.getContext().asType(ForecastRecap.class);
if (forecastRecap.getCompany() == null) {
throw new AxelorException(
TraceBackRepository.CATEGORY_CONFIGURATION_ERROR,
I18n.get(IExceptionMessage.FORECAST_COMPANY));
}
Beans.get(ForecastRecapService.class)
.populate(Beans.get(ForecastRecapRepository.class).find(forecastRecap.getId()));
response.setReload(true);
}
public void sales(ActionRequest request, ActionResponse response) throws AxelorException {
Long id = new Long(request.getContext().get("_id").toString());
ForecastRecapService forecastRecapService = Beans.get(ForecastRecapService.class);
ForecastRecap forecastRecap = Beans.get(ForecastRecapRepository.class).find(id);
forecastRecap.setForecastRecapLineList(new ArrayList<ForecastRecapLine>());
Map<LocalDate, BigDecimal> mapExpected = new HashMap<LocalDate, BigDecimal>();
Map<LocalDate, BigDecimal> mapConfirmed = new HashMap<LocalDate, BigDecimal>();
if (forecastRecap.getOpportunitiesTypeSelect() != null
&& forecastRecap.getOpportunitiesTypeSelect()
> ForecastRecapRepository.OPPORTUNITY_TYPE_NO) {
forecastRecapService.getOpportunities(forecastRecap, mapExpected, mapConfirmed);
}
forecastRecapService.getInvoices(forecastRecap, mapExpected, mapConfirmed);
forecastRecapService.getTimetablesOrOrders(forecastRecap, mapExpected, mapConfirmed);
forecastRecapService.getForecasts(forecastRecap, mapExpected, mapConfirmed);
List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();
Set<LocalDate> keyList = mapExpected.keySet();
for (LocalDate date : keyList) {
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("date", (Object) date);
dataMap.put("amount", (Object) mapExpected.get(date));
dataMap.put("type", (Object) I18n.get("Expected"));
dataList.add(dataMap);
}
keyList = mapConfirmed.keySet();
for (LocalDate date : keyList) {
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("date", (Object) date);
dataMap.put("amount", (Object) mapConfirmed.get(date));
dataMap.put("type", (Object) I18n.get("Confirmed"));
dataList.add(dataMap);
}
response.setData(dataList);
}
public void spending(ActionRequest request, ActionResponse response) throws AxelorException {
Long id = new Long(request.getContext().get("_id").toString());
ForecastRecapService forecastRecapService = Beans.get(ForecastRecapService.class);
ForecastRecap forecastRecap = Beans.get(ForecastRecapRepository.class).find(id);
forecastRecap.setForecastRecapLineList(new ArrayList<ForecastRecapLine>());
forecastRecapService.populateWithTimetablesOrOrders(forecastRecap);
forecastRecapService.populateWithExpenses(forecastRecap);
forecastRecapService.populateWithSalaries(forecastRecap);
forecastRecapService.populateWithForecastsNoSave(forecastRecap);
List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();
Map<LocalDate, BigDecimal> map = new HashMap<LocalDate, BigDecimal>();
for (ForecastRecapLine forecastRecapLine : forecastRecap.getForecastRecapLineList()) {
if (forecastRecapLine.getTypeSelect() == 2) {
if (map.containsKey(forecastRecapLine.getEstimatedDate())) {
map.put(
forecastRecapLine.getEstimatedDate(),
map.get(forecastRecapLine.getEstimatedDate()).add(forecastRecapLine.getAmount()));
} else {
map.put(forecastRecapLine.getEstimatedDate(), forecastRecapLine.getAmount());
}
}
}
Set<LocalDate> keyList = map.keySet();
for (LocalDate date : keyList) {
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("date", (Object) date);
dataMap.put("amount", (Object) map.get(date));
dataList.add(dataMap);
}
response.setData(dataList);
}
public void marges(ActionRequest request, ActionResponse response) throws AxelorException {
Long id = new Long(request.getContext().get("_id").toString());
ForecastRecapService forecastRecapService = Beans.get(ForecastRecapService.class);
ForecastRecap forecastRecap = Beans.get(ForecastRecapRepository.class).find(id);
forecastRecap.setForecastRecapLineList(new ArrayList<ForecastRecapLine>());
forecastRecapService.populateWithTimetablesOrOrders(forecastRecap);
forecastRecapService.populateWithExpenses(forecastRecap);
forecastRecapService.populateWithSalaries(forecastRecap);
forecastRecapService.populateWithForecastsNoSave(forecastRecap);
forecastRecapService.populateWithInvoices(forecastRecap);
if (forecastRecap.getOpportunitiesTypeSelect() != null
&& forecastRecap.getOpportunitiesTypeSelect()
> ForecastRecapRepository.OPPORTUNITY_TYPE_NO) {
forecastRecapService.populateWithOpportunities(forecastRecap);
}
List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();
Map<LocalDate, BigDecimal> map = new HashMap<LocalDate, BigDecimal>();
for (ForecastRecapLine forecastRecapLine : forecastRecap.getForecastRecapLineList()) {
if (forecastRecapLine.getTypeSelect() == 2) {
if (map.containsKey(forecastRecapLine.getEstimatedDate())) {
map.put(
forecastRecapLine.getEstimatedDate(),
map.get(forecastRecapLine.getEstimatedDate())
.subtract(forecastRecapLine.getAmount()));
} else {
map.put(
forecastRecapLine.getEstimatedDate(),
BigDecimal.ZERO.subtract(forecastRecapLine.getAmount()));
}
} else {
if (map.containsKey(forecastRecapLine.getEstimatedDate())) {
map.put(
forecastRecapLine.getEstimatedDate(),
map.get(forecastRecapLine.getEstimatedDate()).add(forecastRecapLine.getAmount()));
} else {
map.put(forecastRecapLine.getEstimatedDate(), forecastRecapLine.getAmount());
}
}
}
Set<LocalDate> keyList = map.keySet();
for (LocalDate date : keyList) {
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("date", (Object) date);
dataMap.put("amount", (Object) map.get(date));
dataList.add(dataMap);
}
response.setData(dataList);
}
public void print(ActionRequest request, ActionResponse response) throws AxelorException {
Context context = request.getContext();
Long forecastRecapId = new Long(context.get("_forecastRecapId").toString());
String reportType = (String) context.get("reportTypeSelect");
String fileLink =
Beans.get(ForecastRecapService.class).getForecastRecapFileLink(forecastRecapId, reportType);
String title = I18n.get(ITranslation.CASH_MANAGEMENT_REPORT_TITLE);
title += forecastRecapId;
logger.debug("Printing " + title);
response.setView(ActionView.define(title).add("html", fileLink).map());
response.setCanClose(true);
}
}

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="base_sequence.csv" separator=";" type="com.axelor.apps.base.db.Sequence" search="self.importId = :importId">
<bind to="yearlyResetOk" column="yearlyResetOk" eval="yearlyResetOk == '1' ? true : false"/>
<bind to="nextNum" column="nextNum" eval="nextNum?.empty ? '1' : nextNum"/>
<bind to="padding" column="padding" eval="padding?.empty ? '1' : padding"/>
<bind to="toBeAdded" column="toBeAdded" eval="toBeAdded?.empty ? '1' : toBeAdded"/>
<bind to="resetDate" eval="call:com.axelor.apps.base.service.app.AppBaseService:getTodayDate()" />
</input>
</csv-inputs>

View File

@ -0,0 +1,2 @@
"importId";"code";"name";"nextNum";"padding";"prefixe";"suffixe";"toBeAdded";"yearlyResetOk"
1000;"forecastRecap";"Estimated liquidity plan";1;4;"AXELP";;1;1
1 importId code name nextNum padding prefixe suffixe toBeAdded yearlyResetOk
2 1000 forecastRecap Estimated liquidity plan 1 4 AXELP 1 1

View File

@ -0,0 +1,2 @@
"importId";"code";"name";"nextNum";"padding";"prefixe";"suffixe";"toBeAdded";"yearlyResetOk"
1000;"forecastRecap";"Plan de trésorerie prévisionnel";1;4;"AXPTP";;1;1
1 importId code name nextNum padding prefixe suffixe toBeAdded yearlyResetOk
2 1000 forecastRecap Plan de trésorerie prévisionnel 1 4 AXPTP 1 1

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="auth_permission.csv" separator=";" type="com.axelor.auth.db.Permission" search="self.name = :name" call="com.axelor.csv.script.ImportPermission:importPermissionToRole">
<bind to="canRead" eval="can_read == 'x' ? 'true' : 'false'"/>
<bind to="canWrite" eval="can_write == 'x' ? 'true' : 'false'"/>
<bind to="canCreate" eval="can_create == 'x' ? 'true' : 'false'"/>
<bind to="canRemove" eval="can_remove == 'x' ? 'true' : 'false'"/>
<bind to="canExport" eval="can_export == 'x' ? 'true' : 'false'"/>
</input>
<input file="base_appCashManagement.csv" separator=";" type="com.axelor.apps.base.db.AppCashManagement" call="com.axelor.csv.script.ImportApp:importApp">
<bind column="dependsOn" to="dependsOnSet" search="self.code in :dependsOn" eval="dependsOn.split(',') as List"/>
</input>
<input file="meta_helpEN.csv" separator=";" type="com.axelor.meta.db.MetaHelp">
<bind to="language" eval="'en'" />
<bind to="type" eval="'tooltip'" />
<bind to="model" eval="com.axelor.inject.Beans.get(com.axelor.meta.db.repo.MetaModelRepository.class).findByName(object)?.getFullName()" column="object" />
</input>
<input file="meta_helpFR.csv" separator=";" type="com.axelor.meta.db.MetaHelp">
<bind to="language" eval="'fr'" />
<bind to="type" eval="'tooltip'" />
<bind to="model" eval="com.axelor.inject.Beans.get(com.axelor.meta.db.repo.MetaModelRepository.class).findByName(object)?.getFullName()" column="object" />
</input>
<input file="meta_metaMenu.csv" separator=";" type="com.axelor.meta.db.MetaMenu" search="self.name = :name" update="true" />
</csv-inputs>

View File

@ -0,0 +1,2 @@
"name";"object";"can_read";"can_write";"can_create";"can_remove";"can_export";"condition";"conditionParams";"roleName"
"perm.cash.management.all";"com.axelor.apps.cash.management.db.*";"x";"x";"x";"x";"x";;;"Admin"
1 name object can_read can_write can_create can_remove can_export condition conditionParams roleName
2 perm.cash.management.all com.axelor.apps.cash.management.db.* x x x x x Admin

View File

@ -0,0 +1,2 @@
"name";"code";"installOrder";"description";"cashManagementGeneral.importId";"imagePath";"modules";"dependsOn";"sequence"
"Cash management";"cash-management";19;"Cash management configuration";1;"app-cash-management.png";"axelor-cash-management";"account";9
1 name code installOrder description cashManagementGeneral.importId imagePath modules dependsOn sequence
2 Cash management cash-management 19 Cash management configuration 1 app-cash-management.png axelor-cash-management account 9

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 B

View File

@ -0,0 +1,2 @@
"module";"object";"view";"field";"help"
"axelor-cash-management";"ForecastRecap";"forecast-recap-form";"showReport";"This button allows you to see the results as a histogram, which is generated in PDF format."
1 module object view field help
2 axelor-cash-management ForecastRecap forecast-recap-form showReport This button allows you to see the results as a histogram, which is generated in PDF format.

View File

@ -0,0 +1,2 @@
"module";"object";"view";"field";"help"
"axelor-cash-management";"ForecastRecap";"forecast-recap-form";"showReport";"Ce bouton permet de voir les résultats sous forme d'histogramme, qui est généré sous format PDF."
1 module object view field help
2 axelor-cash-management ForecastRecap forecast-recap-form showReport Ce bouton permet de voir les résultats sous forme d'histogramme, qui est généré sous format PDF.

View File

@ -0,0 +1,8 @@
"name";"roles.name"
"forecast-root";"Admin"
"forecast-root-forecast";"Admin"
"forecast-root-forecast-recap";"Admin"
"forecast-root-forecast-report";"Admin"
"forecast-conf";"Admin"
"forecast-conf-forecast-generator";"Admin"
"forecast-conf-forecast-reason";"Admin"
1 name roles.name
2 forecast-root Admin
3 forecast-root-forecast Admin
4 forecast-root-forecast-recap Admin
5 forecast-root-forecast-report Admin
6 forecast-conf Admin
7 forecast-conf-forecast-generator Admin
8 forecast-conf-forecast-reason Admin

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="base_sequence.csv" separator=";" type="com.axelor.apps.base.db.Sequence" search="self.importId = :importId" call="com.axelor.csv.script.SequenceScript:computeFullname">
<bind to="yearlyResetOk" column="yearlyResetOk" eval="yearlyResetOk == '1' ? true : false"/>
<bind to="nextNum" column="nextNum" eval="nextNum?.empty ? '1' : nextNum"/>
<bind to="padding" column="padding" eval="padding?.empty ? '1' : padding"/>
<bind to="toBeAdded" column="toBeAdded" eval="toBeAdded?.empty ? '1' : toBeAdded"/>
</input>
</csv-inputs>

View File

@ -0,0 +1,2 @@
"code";"manageMultiBanks"
"cash-management";"true"
1 code manageMultiBanks
2 cash-management true

View File

@ -0,0 +1,2 @@
"importId";"company.importId"
1000;1
1 importId company.importId
2 1000 1

View File

@ -0,0 +1,2 @@
"code";"manageMultiBanks"
"cash-management";"true"
1 code manageMultiBanks
2 cash-management true

View File

@ -0,0 +1,2 @@
"importId";"company.importId"
1000;1
1 importId company.importId
2 1000 1

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="base_appCashManagement.csv" separator=";" type="com.axelor.apps.base.db.AppCashManagement" search="self.code = :code" update="true" />
</csv-inputs>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="base" package="com.axelor.apps.base.db"/>
<entity name="AppCashManagement" lang="java" cacheable="true" extends="App" />
</domain-models>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" ?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="human-resource" package="com.axelor.apps.hr.db"/>
<entity name="Employee" cacheable="true">
<many-to-one name="bankDetails" ref="com.axelor.apps.base.db.BankDetails" title="Bank"/>
</entity>
</domain-models>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="cash-management" package="com.axelor.apps.cash.management.db"/>
<entity name="Forecast" lang="java">
<many-to-one name="company" ref="com.axelor.apps.base.db.Company" required="true" title="Company" />
<many-to-one name="bankDetails" ref="com.axelor.apps.base.db.BankDetails" title="Bank" required="true"/>
<many-to-one name="forecastReason" ref="com.axelor.apps.cash.management.db.ForecastReason" required="true" title="Reason" />
<integer name="typeSelect" selection="iaccount.payment.mode.in.out.select" title="Type" required="true"/>
<decimal name="amount" title="Amount"/>
<date name="estimatedDate" title="Estimated date"/>
<string name="comments" title="Comments" large="true"/>
<integer name="realizedSelect" selection="forecast.realized.select" title="Realized" default="2"/>
<many-to-one name="forecastGenerator" ref="com.axelor.apps.cash.management.db.ForecastGenerator"/>
<extra-code><![CDATA[
public static final int REALISED_SELECT_YES = 1;
public static final int REALISED_SELECT_NO = 2;
public static final int REALISED_SELECT_AUTO = 3;
]]></extra-code>
</entity>
</domain-models>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="cash-management" package="com.axelor.apps.cash.management.db"/>
<entity name="ForecastGenerator" lang="java">
<many-to-one name="company" ref="com.axelor.apps.base.db.Company" required="true" title="Company" />
<many-to-one name="bankDetails" ref="com.axelor.apps.base.db.BankDetails" title="Bank" required="true"/>
<many-to-one name="forecastReason" ref="com.axelor.apps.cash.management.db.ForecastReason" required="true" title="Reason" />
<integer name="typeSelect" selection="iaccount.payment.mode.in.out.select" title="Type" required="true"/>
<decimal name="amount" title="Amount"/>
<date name="fromDate" title="From" required="true"/>
<date name="toDate" title="To" required="true"/>
<string name="comments" title="Comments" large="true"/>
<integer name="realizedSelect" selection="forecast.realized.select" title="Realized" default="2"/>
<integer name="periodicitySelect" selection="product.periodicity.subscription.select" title="Periodicity" default="1"/>
</entity>
</domain-models>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="cash-management" package="com.axelor.apps.cash.management.db"/>
<entity name="ForecastReason" lang="java">
<string name="reason" title="Reason" required="true" namecolumn="true"/>
</entity>
</domain-models>

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="cash-management" package="com.axelor.apps.cash.management.db"/>
<entity name="ForecastRecap" lang="java">
<string name="forecastRecapSeq" readonly="true" title="Seq." />
<many-to-one name="company" ref="com.axelor.apps.base.db.Company" required="true" title="Company" />
<many-to-one name="bankDetails" ref="com.axelor.apps.base.db.BankDetails" title="Bank"/>
<decimal name="startingBalance" title="Starting Balance" required="true"/>
<decimal name="endingBalance" title="Ending Balance"/>
<decimal name="currentBalance"/>
<date name="fromDate" title="From"/>
<date name="toDate" title="To"/>
<one-to-many name="forecastRecapLineList" ref="com.axelor.apps.cash.management.db.ForecastRecapLine" title="Details" mappedBy="forecastRecap"/>
<integer name="opportunitiesTypeSelect" title="Take into account opportunies" selection="forecast.opportunities.type.select"/>
<many-to-one name="currency" ref="com.axelor.apps.base.db.Currency" title="Currency" massUpdate="true"/>
<many-to-one name="salesMan" ref="com.axelor.auth.db.User" title="SalesMan"/>
<integer name="displayTypeSelect" title="Display" selection="display.type.select" default="3"/>
<boolean name="isReport"/>
<date name="calculationDate" title="Calculation Date" readonly="true"/>
<unique-constraint columns="forecastRecapSeq,company"/>
<extra-code><![CDATA[
public static final int OPPORTUNITY_TYPE_NO = 1;
public static final int OPPORTUNITY_TYPE_BASE = 2;
public static final int OPPORTUNITY_TYPE_WORST = 3;
public static final int OPPORTUNITY_TYPE_BEST = 4;
]]></extra-code>
</entity>
</domain-models>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="cash-management" package="com.axelor.apps.cash.management.db"/>
<entity name="ForecastRecapLine" lang="java">
<integer name="typeSelect" selection="iaccount.payment.mode.in.out.select" title="Type" required="true"/>
<decimal name="amount" title="Amount"/>
<date name="estimatedDate" title="Date"/>
<decimal name="balance" title="ForecastRecapLine.balance"/>
<many-to-one name="forecastRecap" ref="com.axelor.apps.cash.management.db.ForecastRecap"/>
<string name="relatedToSelect" title="Related to" selection="forecast.recap.line.related.to.select"/>
<long name="relatedToSelectId"/>
<string name="relatedToSelectName" title="Related to"/>
</entity>
</domain-models>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="account" package="com.axelor.apps.account.db"/>
<entity sequential="true" name="Invoice" lang="java">
<date name="estimatedPaymentDate" title="Estimated payment date"/>
</entity>
</domain-models>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="crm" package="com.axelor.apps.crm.db"/>
<entity name="Opportunity" lang="java">
<many-to-one name="bankDetails" ref="com.axelor.apps.base.db.BankDetails" title="Bank"/>
</entity>
</domain-models>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="base" package="com.axelor.apps.base.db"/>
<entity name="Sequence" lang="java">
<extra-code><![CDATA[
//SEQUENCE SELECT
public static final String FORECAST_RECAP_SEQUENCE = "forecastRecap";
]]></extra-code>
</entity>
</domain-models>

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount",,,
"Auto",,,
"Bank",,,
"Base",,,
"Best",,,
"Both",,,
"Calculation Date",,,
"Cash management",,,
"Comments",,,
"Company",,,
"Configuration",,,
"Confirmed",,,
"Currency",,,
"Current balance",,,
"Date",,,
"Details",,,
"Display",,,
"Ending Balance",,,
"Estimated date",,,
"Estimated payment date",,,
"Expected",,,
"Expense",,,
"Forecast",,,
"Forecast Assistant",,,
"Forecast Assistants",,,
"Forecast Reasons",,,
"Forecast Recap",,,
"Forecast Recaps",,,
"Forecast Report",,,
"Forecast Reports",,,
"Forecast generator",,,
"Forecast reason",,,
"Forecast reasons",,,
"Forecast recap",,,
"ForecastLine.amount",,,
"ForecastLine.balance",,,
"ForecastLine.estimatedDate",,,
"ForecastLine.relatedToName",,,
"ForecastLine.type",,,
"ForecastLineType.in",,,
"ForecastLineType.out",,,
"ForecastOpportunitiesType.base",,,
"ForecastOpportunitiesType.best",,,
"ForecastOpportunitiesType.no",,,
"ForecastOpportunitiesType.worst",,,
"ForecastRecap",,,
"ForecastRecap.bankDetailsIban",,,
"ForecastRecap.calculationDate",,,
"ForecastRecap.company",,,
"ForecastRecap.currency",,,
"ForecastRecap.endingBalance",,,
"ForecastRecap.fromDate",,,
"ForecastRecap.operationDetails",,,
"ForecastRecap.opportunitiesTypeSelect",,,
"ForecastRecap.startingBalance",,,
"ForecastRecap.title",,,
"ForecastRecap.toDate",,,
"ForecastRecapLine.balance",,,
"Forecasts",,,
"Forecasts generated",,,
"Format",,,
"From",,,
"Generate",,,
"Invalid dates",,,
"Invoice",,,
"Is report",,,
"Line",,,
"Lines",,,
"Marges",,,
"No",,,
"ODS",,,
"PDF",,,
"Periodicity",,,
"Please select a company",,,
"Populate",,,
"Previsional Marges",,,
"Previsional Sales",,,
"Previsional Spending",,,
"Print",,,
"Purchase order",,,
"Realized",,,
"Reason",,,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales",,,
"SalesMan",,,
"Seq.",,,
"Spending",,,
"Starting Balance",,,
"Take into account opportunies",,,
"The company %s doesn't have any configured sequence for ForcastRecap",,,
"To",,,
"Type",,,
"Update",,,
"Worst",,,
"XLS",,,
"Yes",,,
"value:Cash management",,,
1 key message comment context
2 Amount
3 Auto
4 Bank
5 Base
6 Best
7 Both
8 Calculation Date
9 Cash management
10 Comments
11 Company
12 Configuration
13 Confirmed
14 Currency
15 Current balance
16 Date
17 Details
18 Display
19 Ending Balance
20 Estimated date
21 Estimated payment date
22 Expected
23 Expense
24 Forecast
25 Forecast Assistant
26 Forecast Assistants
27 Forecast Reasons
28 Forecast Recap
29 Forecast Recaps
30 Forecast Report
31 Forecast Reports
32 Forecast generator
33 Forecast reason
34 Forecast reasons
35 Forecast recap
36 ForecastLine.amount
37 ForecastLine.balance
38 ForecastLine.estimatedDate
39 ForecastLine.relatedToName
40 ForecastLine.type
41 ForecastLineType.in
42 ForecastLineType.out
43 ForecastOpportunitiesType.base
44 ForecastOpportunitiesType.best
45 ForecastOpportunitiesType.no
46 ForecastOpportunitiesType.worst
47 ForecastRecap
48 ForecastRecap.bankDetailsIban
49 ForecastRecap.calculationDate
50 ForecastRecap.company
51 ForecastRecap.currency
52 ForecastRecap.endingBalance
53 ForecastRecap.fromDate
54 ForecastRecap.operationDetails
55 ForecastRecap.opportunitiesTypeSelect
56 ForecastRecap.startingBalance
57 ForecastRecap.title
58 ForecastRecap.toDate
59 ForecastRecapLine.balance
60 Forecasts
61 Forecasts generated
62 Format
63 From
64 Generate
65 Invalid dates
66 Invoice
67 Is report
68 Line
69 Lines
70 Marges
71 No
72 ODS
73 PDF
74 Periodicity
75 Please select a company
76 Populate
77 Previsional Marges
78 Previsional Sales
79 Previsional Spending
80 Print
81 Purchase order
82 Realized
83 Reason
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales
89 SalesMan
90 Seq.
91 Spending
92 Starting Balance
93 Take into account opportunies
94 The company %s doesn't have any configured sequence for ForcastRecap
95 To
96 Type
97 Update
98 Worst
99 XLS
100 Yes
101 value:Cash management

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount","Betrag",,
"Auto","Auto",,
"Bank","Bank",,
"Base","Basis",,
"Best","Beste",,
"Both","Beide",,
"Calculation Date",,,
"Cash management","Bargeldmanagement",,
"Comments","Kommentare",,
"Company","Unternehmen",,
"Configuration","Konfiguration",,
"Confirmed","Bestätigt",,
"Currency","Währung",,
"Current balance","Aktueller Saldo",,
"Date","Datum",,
"Details","Details",,
"Display","Display",,
"Ending Balance","Endsaldo",,
"Estimated date","Geschätztes Datum",,
"Estimated payment date","Geschätztes Zahlungsdatum",,
"Expected","Erwartet",,
"Expense",,,
"Forecast","Prognose",,
"Forecast Assistant","Prognosehilfe",,
"Forecast Assistants","Prognose-Assistenten",,
"Forecast Reasons","Prognosegründe",,
"Forecast Recap","Prognosebericht",,
"Forecast Recaps","Prognose-Rekapitulationen",,
"Forecast Report","Prognosebericht",,
"Forecast Reports","Prognoseberichte",,
"Forecast generator","Prognosegenerator",,
"Forecast reason","Prognosegrund",,
"Forecast reasons","Prognosegründe",,
"Forecast recap","Zusammenfassung der Prognose",,
"ForecastLine.amount",,,
"ForecastLine.balance",,,
"ForecastLine.estimatedDate",,,
"ForecastLine.relatedToName",,,
"ForecastLine.type",,,
"ForecastLineType.in",,,
"ForecastLineType.out",,,
"ForecastOpportunitiesType.base",,,
"ForecastOpportunitiesType.best",,,
"ForecastOpportunitiesType.no",,,
"ForecastOpportunitiesType.worst",,,
"ForecastRecap","Prognosebericht",,
"ForecastRecap.bankDetailsIban",,,
"ForecastRecap.calculationDate",,,
"ForecastRecap.company",,,
"ForecastRecap.currency",,,
"ForecastRecap.endingBalance",,,
"ForecastRecap.fromDate",,,
"ForecastRecap.operationDetails",,,
"ForecastRecap.opportunitiesTypeSelect",,,
"ForecastRecap.startingBalance",,,
"ForecastRecap.title",,,
"ForecastRecap.toDate",,,
"ForecastRecapLine.balance",,,
"Forecasts","Prognosen",,
"Forecasts generated","Generierte Prognosen",,
"Format",,,
"From","Von",,
"Generate","Generieren",,
"Invalid dates","Ungültige Daten",,
"Invoice",,,
"Is report","Ist Bericht",,
"Line","Linie",,
"Lines","Linien",,
"Marges","Margen",,
"No","Nein",,
"ODS",,,
"PDF",,,
"Periodicity","Periodizität",,
"Please select a company","Bitte wählen Sie ein Unternehmen aus",,
"Populate","Füllen",,
"Previsional Marges","Vorläufige Margen",,
"Previsional Sales","Vorläufiger Umsatz",,
"Previsional Spending","Vorläufige Ausgaben",,
"Print",,,
"Purchase order",,,
"Realized","Realisiert",,
"Reason","Grund",,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales","Umsatz",,
"SalesMan","Vertriebsmitarbeiter",,
"Seq.",,,
"Spending","Ausgaben",,
"Starting Balance","Anfangssaldo",,
"Take into account opportunies","Chancen berücksichtigen",,
"The company %s doesn't have any configured sequence for ForcastRecap",,,
"To","An",,
"Type","Typ",,
"Update","Update",,
"Worst","Schlimmste",,
"XLS",,,
"Yes","Ja",,
"value:Cash management","Wert:Cash Management",,
1 key message comment context
2 Amount Betrag
3 Auto Auto
4 Bank Bank
5 Base Basis
6 Best Beste
7 Both Beide
8 Calculation Date
9 Cash management Bargeldmanagement
10 Comments Kommentare
11 Company Unternehmen
12 Configuration Konfiguration
13 Confirmed Bestätigt
14 Currency Währung
15 Current balance Aktueller Saldo
16 Date Datum
17 Details Details
18 Display Display
19 Ending Balance Endsaldo
20 Estimated date Geschätztes Datum
21 Estimated payment date Geschätztes Zahlungsdatum
22 Expected Erwartet
23 Expense
24 Forecast Prognose
25 Forecast Assistant Prognosehilfe
26 Forecast Assistants Prognose-Assistenten
27 Forecast Reasons Prognosegründe
28 Forecast Recap Prognosebericht
29 Forecast Recaps Prognose-Rekapitulationen
30 Forecast Report Prognosebericht
31 Forecast Reports Prognoseberichte
32 Forecast generator Prognosegenerator
33 Forecast reason Prognosegrund
34 Forecast reasons Prognosegründe
35 Forecast recap Zusammenfassung der Prognose
36 ForecastLine.amount
37 ForecastLine.balance
38 ForecastLine.estimatedDate
39 ForecastLine.relatedToName
40 ForecastLine.type
41 ForecastLineType.in
42 ForecastLineType.out
43 ForecastOpportunitiesType.base
44 ForecastOpportunitiesType.best
45 ForecastOpportunitiesType.no
46 ForecastOpportunitiesType.worst
47 ForecastRecap Prognosebericht
48 ForecastRecap.bankDetailsIban
49 ForecastRecap.calculationDate
50 ForecastRecap.company
51 ForecastRecap.currency
52 ForecastRecap.endingBalance
53 ForecastRecap.fromDate
54 ForecastRecap.operationDetails
55 ForecastRecap.opportunitiesTypeSelect
56 ForecastRecap.startingBalance
57 ForecastRecap.title
58 ForecastRecap.toDate
59 ForecastRecapLine.balance
60 Forecasts Prognosen
61 Forecasts generated Generierte Prognosen
62 Format
63 From Von
64 Generate Generieren
65 Invalid dates Ungültige Daten
66 Invoice
67 Is report Ist Bericht
68 Line Linie
69 Lines Linien
70 Marges Margen
71 No Nein
72 ODS
73 PDF
74 Periodicity Periodizität
75 Please select a company Bitte wählen Sie ein Unternehmen aus
76 Populate Füllen
77 Previsional Marges Vorläufige Margen
78 Previsional Sales Vorläufiger Umsatz
79 Previsional Spending Vorläufige Ausgaben
80 Print
81 Purchase order
82 Realized Realisiert
83 Reason Grund
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales Umsatz
89 SalesMan Vertriebsmitarbeiter
90 Seq.
91 Spending Ausgaben
92 Starting Balance Anfangssaldo
93 Take into account opportunies Chancen berücksichtigen
94 The company %s doesn't have any configured sequence for ForcastRecap
95 To An
96 Type Typ
97 Update Update
98 Worst Schlimmste
99 XLS
100 Yes Ja
101 value:Cash management Wert:Cash Management

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount",,,
"Auto",,,
"Bank",,,
"Base",,,
"Best",,,
"Both",,,
"Calculation Date",,,
"Cash management",,,
"Comments",,,
"Company",,,
"Configuration",,,
"Confirmed",,,
"Currency",,,
"Current balance",,,
"Date",,,
"Details",,,
"Display",,,
"Ending Balance",,,
"Estimated date",,,
"Estimated payment date",,,
"Expected",,,
"Expense",,,
"Forecast",,,
"Forecast Assistant",,,
"Forecast Assistants",,,
"Forecast Reasons",,,
"Forecast Recap",,,
"Forecast Recaps",,,
"Forecast Report",,,
"Forecast Reports",,,
"Forecast generator",,,
"Forecast reason",,,
"Forecast reasons",,,
"Forecast recap",,,
"ForecastLine.amount","Amount",,
"ForecastLine.balance","Balance",,
"ForecastLine.estimatedDate","Date",,
"ForecastLine.relatedToName","Realted to",,
"ForecastLine.type","Type",,
"ForecastLineType.in","In",,
"ForecastLineType.out","Out",,
"ForecastOpportunitiesType.base","Base",,
"ForecastOpportunitiesType.best","Best",,
"ForecastOpportunitiesType.no","No",,
"ForecastOpportunitiesType.worst","Worst",,
"ForecastRecap",,,
"ForecastRecap.bankDetailsIban","IBAN",,
"ForecastRecap.calculationDate","Calculation date",,
"ForecastRecap.company","Company",,
"ForecastRecap.currency","Currency",,
"ForecastRecap.endingBalance","Ending balance",,
"ForecastRecap.fromDate","From",,
"ForecastRecap.operationDetails","Operation details",,
"ForecastRecap.opportunitiesTypeSelect","Take into account opportunies",,
"ForecastRecap.startingBalance","Starting balance",,
"ForecastRecap.title","Estimated liquidity plan",,
"ForecastRecap.toDate","To",,
"ForecastRecapLine.balance","Balance",,
"Forecasts",,,
"Forecasts generated",,,
"Format",,,
"From",,,
"Generate",,,
"Invalid dates",,,
"Invoice",,,
"Is report",,,
"Line",,,
"Lines",,,
"Marges",,,
"No",,,
"ODS",,,
"PDF",,,
"Periodicity",,,
"Please select a company",,,
"Populate",,,
"Previsional Marges",,,
"Previsional Sales",,,
"Previsional Spending",,,
"Print",,,
"Purchase order",,,
"Realized",,,
"Reason",,,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales",,,
"SalesMan",,,
"Seq.",,,
"Spending",,,
"Starting Balance",,,
"Take into account opportunies",,,
"The company %s doesn't have any configured sequence for ForcastRecap",,,
"To",,,
"Type",,,
"Update",,,
"Worst",,,
"XLS",,,
"Yes",,,
"value:Cash management",,,
1 key message comment context
2 Amount
3 Auto
4 Bank
5 Base
6 Best
7 Both
8 Calculation Date
9 Cash management
10 Comments
11 Company
12 Configuration
13 Confirmed
14 Currency
15 Current balance
16 Date
17 Details
18 Display
19 Ending Balance
20 Estimated date
21 Estimated payment date
22 Expected
23 Expense
24 Forecast
25 Forecast Assistant
26 Forecast Assistants
27 Forecast Reasons
28 Forecast Recap
29 Forecast Recaps
30 Forecast Report
31 Forecast Reports
32 Forecast generator
33 Forecast reason
34 Forecast reasons
35 Forecast recap
36 ForecastLine.amount Amount
37 ForecastLine.balance Balance
38 ForecastLine.estimatedDate Date
39 ForecastLine.relatedToName Realted to
40 ForecastLine.type Type
41 ForecastLineType.in In
42 ForecastLineType.out Out
43 ForecastOpportunitiesType.base Base
44 ForecastOpportunitiesType.best Best
45 ForecastOpportunitiesType.no No
46 ForecastOpportunitiesType.worst Worst
47 ForecastRecap
48 ForecastRecap.bankDetailsIban IBAN
49 ForecastRecap.calculationDate Calculation date
50 ForecastRecap.company Company
51 ForecastRecap.currency Currency
52 ForecastRecap.endingBalance Ending balance
53 ForecastRecap.fromDate From
54 ForecastRecap.operationDetails Operation details
55 ForecastRecap.opportunitiesTypeSelect Take into account opportunies
56 ForecastRecap.startingBalance Starting balance
57 ForecastRecap.title Estimated liquidity plan
58 ForecastRecap.toDate To
59 ForecastRecapLine.balance Balance
60 Forecasts
61 Forecasts generated
62 Format
63 From
64 Generate
65 Invalid dates
66 Invoice
67 Is report
68 Line
69 Lines
70 Marges
71 No
72 ODS
73 PDF
74 Periodicity
75 Please select a company
76 Populate
77 Previsional Marges
78 Previsional Sales
79 Previsional Spending
80 Print
81 Purchase order
82 Realized
83 Reason
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales
89 SalesMan
90 Seq.
91 Spending
92 Starting Balance
93 Take into account opportunies
94 The company %s doesn't have any configured sequence for ForcastRecap
95 To
96 Type
97 Update
98 Worst
99 XLS
100 Yes
101 value:Cash management

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount","Importe",,
"Auto","Auto",,
"Bank","Banco",,
"Base","Base",,
"Best","Mejor",,
"Both","Ambos",,
"Calculation Date",,,
"Cash management","Gestión de tesorería",,
"Comments","Comentarios",,
"Company","Empresa",,
"Configuration","Configuración",,
"Confirmed","Confirmado",,
"Currency","Moneda",,
"Current balance","Saldo actual",,
"Date","Fecha",,
"Details","Detalles",,
"Display","Pantalla",,
"Ending Balance","Saldo final",,
"Estimated date","Fecha estimada",,
"Estimated payment date","Fecha estimada de pago",,
"Expected","Esperado",,
"Expense",,,
"Forecast","Pronóstico",,
"Forecast Assistant","Asistente de pronóstico",,
"Forecast Assistants","Asistentes de pronóstico",,
"Forecast Reasons","Motivos del pronóstico",,
"Forecast Recap","Recapitulación de pronósticos",,
"Forecast Recaps","Recapitulación de pronósticos",,
"Forecast Report","Informe de pronóstico",,
"Forecast Reports","Informes de pronóstico",,
"Forecast generator","Generador de pronósticos",,
"Forecast reason","Motivo de pronóstico",,
"Forecast reasons","Motivos de pronóstico",,
"Forecast recap","Recapitulación de pronósticos",,
"ForecastLine.amount",,,
"ForecastLine.balance",,,
"ForecastLine.estimatedDate",,,
"ForecastLine.relatedToName",,,
"ForecastLine.type",,,
"ForecastLineType.in",,,
"ForecastLineType.out",,,
"ForecastOpportunitiesType.base",,,
"ForecastOpportunitiesType.best",,,
"ForecastOpportunitiesType.no",,,
"ForecastOpportunitiesType.worst",,,
"ForecastRecap","PronósticoRecuperación",,
"ForecastRecap.bankDetailsIban",,,
"ForecastRecap.calculationDate",,,
"ForecastRecap.company",,,
"ForecastRecap.currency",,,
"ForecastRecap.endingBalance",,,
"ForecastRecap.fromDate",,,
"ForecastRecap.operationDetails",,,
"ForecastRecap.opportunitiesTypeSelect",,,
"ForecastRecap.startingBalance",,,
"ForecastRecap.title",,,
"ForecastRecap.toDate",,,
"ForecastRecapLine.balance",,,
"Forecasts","Previsiones",,
"Forecasts generated","Pronósticos generados",,
"Format",,,
"From","Desde",,
"Generate","Generar",,
"Invalid dates","Fechas no válidas",,
"Invoice",,,
"Is report","Es informe",,
"Line","Línea",,
"Lines","Líneas",,
"Marges","Marges",,
"No","No",,
"ODS",,,
"PDF",,,
"Periodicity","Periodicidad",,
"Please select a company","Por favor, seleccione una empresa",,
"Populate","Poblar",,
"Previsional Marges","Marcas Previsionales",,
"Previsional Sales","Ventas Previsionales",,
"Previsional Spending","Gasto Previsional",,
"Print",,,
"Purchase order",,,
"Realized","Realizado",,
"Reason","Razón",,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales","Ventas",,
"SalesMan","Vendedor",,
"Seq.",,,
"Spending","Gasto",,
"Starting Balance","Saldo inicial",,
"Take into account opportunies","Tener en cuenta las oportunidades",,
"The company %s doesn't have any configured sequence for ForcastRecap",,,
"To","Para",,
"Type","Tipo",,
"Update","Actualización",,
"Worst","Peor",,
"XLS",,,
"Yes","",,
"value:Cash management","value:Gestión de caja",,
1 key message comment context
2 Amount Importe
3 Auto Auto
4 Bank Banco
5 Base Base
6 Best Mejor
7 Both Ambos
8 Calculation Date
9 Cash management Gestión de tesorería
10 Comments Comentarios
11 Company Empresa
12 Configuration Configuración
13 Confirmed Confirmado
14 Currency Moneda
15 Current balance Saldo actual
16 Date Fecha
17 Details Detalles
18 Display Pantalla
19 Ending Balance Saldo final
20 Estimated date Fecha estimada
21 Estimated payment date Fecha estimada de pago
22 Expected Esperado
23 Expense
24 Forecast Pronóstico
25 Forecast Assistant Asistente de pronóstico
26 Forecast Assistants Asistentes de pronóstico
27 Forecast Reasons Motivos del pronóstico
28 Forecast Recap Recapitulación de pronósticos
29 Forecast Recaps Recapitulación de pronósticos
30 Forecast Report Informe de pronóstico
31 Forecast Reports Informes de pronóstico
32 Forecast generator Generador de pronósticos
33 Forecast reason Motivo de pronóstico
34 Forecast reasons Motivos de pronóstico
35 Forecast recap Recapitulación de pronósticos
36 ForecastLine.amount
37 ForecastLine.balance
38 ForecastLine.estimatedDate
39 ForecastLine.relatedToName
40 ForecastLine.type
41 ForecastLineType.in
42 ForecastLineType.out
43 ForecastOpportunitiesType.base
44 ForecastOpportunitiesType.best
45 ForecastOpportunitiesType.no
46 ForecastOpportunitiesType.worst
47 ForecastRecap PronósticoRecuperación
48 ForecastRecap.bankDetailsIban
49 ForecastRecap.calculationDate
50 ForecastRecap.company
51 ForecastRecap.currency
52 ForecastRecap.endingBalance
53 ForecastRecap.fromDate
54 ForecastRecap.operationDetails
55 ForecastRecap.opportunitiesTypeSelect
56 ForecastRecap.startingBalance
57 ForecastRecap.title
58 ForecastRecap.toDate
59 ForecastRecapLine.balance
60 Forecasts Previsiones
61 Forecasts generated Pronósticos generados
62 Format
63 From Desde
64 Generate Generar
65 Invalid dates Fechas no válidas
66 Invoice
67 Is report Es informe
68 Line Línea
69 Lines Líneas
70 Marges Marges
71 No No
72 ODS
73 PDF
74 Periodicity Periodicidad
75 Please select a company Por favor, seleccione una empresa
76 Populate Poblar
77 Previsional Marges Marcas Previsionales
78 Previsional Sales Ventas Previsionales
79 Previsional Spending Gasto Previsional
80 Print
81 Purchase order
82 Realized Realizado
83 Reason Razón
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales Ventas
89 SalesMan Vendedor
90 Seq.
91 Spending Gasto
92 Starting Balance Saldo inicial
93 Take into account opportunies Tener en cuenta las oportunidades
94 The company %s doesn't have any configured sequence for ForcastRecap
95 To Para
96 Type Tipo
97 Update Actualización
98 Worst Peor
99 XLS
100 Yes
101 value:Cash management value:Gestión de caja

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount","Montant",,
"Auto",,,
"Bank","Banque",,
"Base",,,
"Best","Meilleur cas",,
"Both","Les deux",,
"Calculation Date","Date de calcul",,
"Cash management","Prévisions de trésorerie",,
"Comments","Commentaires",,
"Company","Société",,
"Configuration",,,
"Confirmed","Confirmé",,
"Currency","Devise",,
"Current balance","Solde actuel",,
"Date",,,
"Details","Détails",,
"Display","Afficher",,
"Ending Balance","Solde darrivée",,
"Estimated date","Date estimée",,
"Estimated payment date","Date de paiement estimée",,
"Expected","Prévu",,
"Expense",,,
"Forecast","Prévision",,
"Forecast Assistant","Assistant prévisions",,
"Forecast Assistants","Assistants prévisions",,
"Forecast Reasons","Motifs",,
"Forecast Recap","Récapitulatif prévisions",,
"Forecast Recaps","Récapitulatifs prévisions",,
"Forecast Report","Rapport prévisions",,
"Forecast Reports","Rapports prévisions",,
"Forecast generator","Assistant prévisions",,
"Forecast reason","Motif",,
"Forecast reasons","Motifs",,
"Forecast recap","Récapitulatif prévisions",,
"ForecastLine.amount","Montant",,
"ForecastLine.balance","Solde",,
"ForecastLine.estimatedDate","Date estimée",,
"ForecastLine.relatedToName","Associé à",,
"ForecastLine.type","Type",,
"ForecastLineType.in","Entrant",,
"ForecastLineType.out","Sortant",,
"ForecastOpportunitiesType.base","Base",,
"ForecastOpportunitiesType.best","Meilleur cas",,
"ForecastOpportunitiesType.no","Non",,
"ForecastOpportunitiesType.worst","Pire cas",,
"ForecastRecap","Récapitulatif prévisions",,
"ForecastRecap.bankDetailsIban","IBAN",,
"ForecastRecap.calculationDate","Date de calcul",,
"ForecastRecap.company","Société",,
"ForecastRecap.currency","Devise",,
"ForecastRecap.endingBalance","Solde darrivée",,
"ForecastRecap.fromDate","De",,
"ForecastRecap.operationDetails","Détails des opérations",,
"ForecastRecap.opportunitiesTypeSelect","Prendre en compte les opportunités",,
"ForecastRecap.startingBalance","Solde de départ",,
"ForecastRecap.title","Plan de trésorerie prévisionnel",,
"ForecastRecap.toDate","À",,
"ForecastRecapLine.balance","Solde",,
"Forecasts","Prévisions",,
"Forecasts generated","Prévisions générées",,
"Format",,,
"From","De",,
"Generate","Générer",,
"Invalid dates","Dates invalides",,
"Invoice",,,
"Is report","Est un rapport",,
"Line","Ligne",,
"Lines","Lignes",,
"Marges",,,
"No","Non",,
"ODS",,,
"PDF",,,
"Periodicity","Périodicité",,
"Please select a company","Veuillez sélectionner une société",,
"Populate","Compléter",,
"Previsional Marges","Marges prévisionnelles",,
"Previsional Sales","Ventes prévisionnelles",,
"Previsional Spending","Dépenses prévisionnelles",,
"Print","Imprimer",,
"Purchase order",,,
"Realized","Réalisé",,
"Reason","Motif",,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales","Ventes",,
"SalesMan","Commercial",,
"Seq.",,,
"Spending","Dépenses",,
"Starting Balance","Solde de départ",,
"Take into account opportunies","Prendre en compte les opportunités",,
"The company %s doesn't have any configured sequence for ForcastRecap","La société %s n'a pas de séquence configurée pour ForcastRecap",,
"To","À",,
"Type",,,
"Update","Mise à jour",,
"Worst","Pire cas",,
"XLS",,,
"Yes","Oui",,
"value:Cash management","Cash management",,
1 key message comment context
2 Amount Montant
3 Auto
4 Bank Banque
5 Base
6 Best Meilleur cas
7 Both Les deux
8 Calculation Date Date de calcul
9 Cash management Prévisions de trésorerie
10 Comments Commentaires
11 Company Société
12 Configuration
13 Confirmed Confirmé
14 Currency Devise
15 Current balance Solde actuel
16 Date
17 Details Détails
18 Display Afficher
19 Ending Balance Solde d’arrivée
20 Estimated date Date estimée
21 Estimated payment date Date de paiement estimée
22 Expected Prévu
23 Expense
24 Forecast Prévision
25 Forecast Assistant Assistant prévisions
26 Forecast Assistants Assistants prévisions
27 Forecast Reasons Motifs
28 Forecast Recap Récapitulatif prévisions
29 Forecast Recaps Récapitulatifs prévisions
30 Forecast Report Rapport prévisions
31 Forecast Reports Rapports prévisions
32 Forecast generator Assistant prévisions
33 Forecast reason Motif
34 Forecast reasons Motifs
35 Forecast recap Récapitulatif prévisions
36 ForecastLine.amount Montant
37 ForecastLine.balance Solde
38 ForecastLine.estimatedDate Date estimée
39 ForecastLine.relatedToName Associé à
40 ForecastLine.type Type
41 ForecastLineType.in Entrant
42 ForecastLineType.out Sortant
43 ForecastOpportunitiesType.base Base
44 ForecastOpportunitiesType.best Meilleur cas
45 ForecastOpportunitiesType.no Non
46 ForecastOpportunitiesType.worst Pire cas
47 ForecastRecap Récapitulatif prévisions
48 ForecastRecap.bankDetailsIban IBAN
49 ForecastRecap.calculationDate Date de calcul
50 ForecastRecap.company Société
51 ForecastRecap.currency Devise
52 ForecastRecap.endingBalance Solde d’arrivée
53 ForecastRecap.fromDate De
54 ForecastRecap.operationDetails Détails des opérations
55 ForecastRecap.opportunitiesTypeSelect Prendre en compte les opportunités
56 ForecastRecap.startingBalance Solde de départ
57 ForecastRecap.title Plan de trésorerie prévisionnel
58 ForecastRecap.toDate À
59 ForecastRecapLine.balance Solde
60 Forecasts Prévisions
61 Forecasts generated Prévisions générées
62 Format
63 From De
64 Generate Générer
65 Invalid dates Dates invalides
66 Invoice
67 Is report Est un rapport
68 Line Ligne
69 Lines Lignes
70 Marges
71 No Non
72 ODS
73 PDF
74 Periodicity Périodicité
75 Please select a company Veuillez sélectionner une société
76 Populate Compléter
77 Previsional Marges Marges prévisionnelles
78 Previsional Sales Ventes prévisionnelles
79 Previsional Spending Dépenses prévisionnelles
80 Print Imprimer
81 Purchase order
82 Realized Réalisé
83 Reason Motif
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales Ventes
89 SalesMan Commercial
90 Seq.
91 Spending Dépenses
92 Starting Balance Solde de départ
93 Take into account opportunies Prendre en compte les opportunités
94 The company %s doesn't have any configured sequence for ForcastRecap La société %s n'a pas de séquence configurée pour ForcastRecap
95 To À
96 Type
97 Update Mise à jour
98 Worst Pire cas
99 XLS
100 Yes Oui
101 value:Cash management Cash management

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount","Importo",,
"Auto","Auto",,
"Bank","Banca",,
"Base","Base",,
"Best","Migliore",,
"Both","Entrambi",,
"Calculation Date",,,
"Cash management","Gestione della liquidità",,
"Comments","Commenti",,
"Company","L'azienda",,
"Configuration","Configurazione",,
"Confirmed","Confermato",,
"Currency","Valuta",,
"Current balance","Saldo corrente",,
"Date","Data",,
"Details","Dettagli",,
"Display","Display",,
"Ending Balance","Saldo finale",,
"Estimated date","Data stimata",,
"Estimated payment date","Data di pagamento prevista",,
"Expected","Previsto",,
"Expense",,,
"Forecast","Previsioni",,
"Forecast Assistant","Assistente Previsione",,
"Forecast Assistants","Assistenti di previsione",,
"Forecast Reasons","Motivi delle previsioni",,
"Forecast Recap","Previsione Ricapitolare",,
"Forecast Recaps","Previsioni Ricadute",,
"Forecast Report","Rapporto di previsione",,
"Forecast Reports","Rapporti di previsione",,
"Forecast generator","Generatore di previsioni",,
"Forecast reason","Motivo delle previsioni",,
"Forecast reasons","Motivi di previsione",,
"Forecast recap","Riassunto delle previsioni",,
"ForecastLine.amount",,,
"ForecastLine.balance",,,
"ForecastLine.estimatedDate",,,
"ForecastLine.relatedToName",,,
"ForecastLine.type",,,
"ForecastLineType.in",,,
"ForecastLineType.out",,,
"ForecastOpportunitiesType.base",,,
"ForecastOpportunitiesType.best",,,
"ForecastOpportunitiesType.no",,,
"ForecastOpportunitiesType.worst",,,
"ForecastRecap","ForecastRecap",,
"ForecastRecap.bankDetailsIban",,,
"ForecastRecap.calculationDate",,,
"ForecastRecap.company",,,
"ForecastRecap.currency",,,
"ForecastRecap.endingBalance",,,
"ForecastRecap.fromDate",,,
"ForecastRecap.operationDetails",,,
"ForecastRecap.opportunitiesTypeSelect",,,
"ForecastRecap.startingBalance",,,
"ForecastRecap.title",,,
"ForecastRecap.toDate",,,
"ForecastRecapLine.balance",,,
"Forecasts","Previsioni",,
"Forecasts generated","Previsioni generate",,
"Format",,,
"From","Da",,
"Generate","Generare",,
"Invalid dates","Date non valide",,
"Invoice",,,
"Is report","È rapporto",,
"Line","Linea",,
"Lines","Linee",,
"Marges","Margini",,
"No","No",,
"ODS",,,
"PDF",,,
"Periodicity","La periodicità",,
"Please select a company","Selezionare un'azienda",,
"Populate","Popolare",,
"Previsional Marges","Margini Previsionali",,
"Previsional Sales","Vendite Previsionali",,
"Previsional Spending","Spesa Previsionale",,
"Print",,,
"Purchase order",,,
"Realized","Realizzato",,
"Reason","Ragione",,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales","Vendite",,
"SalesMan","Venditore",,
"Seq.",,,
"Spending","Spesa",,
"Starting Balance","Saldo iniziale",,
"Take into account opportunies","Prendere in considerazione le opportunità",,
"The company %s doesn't have any configured sequence for ForcastRecap",,,
"To","A",,
"Type","Tipo",,
"Update","Aggiorna",,
"Worst","Peggiore",,
"XLS",,,
"Yes","",,
"value:Cash management","valore:Cash management",,
1 key message comment context
2 Amount Importo
3 Auto Auto
4 Bank Banca
5 Base Base
6 Best Migliore
7 Both Entrambi
8 Calculation Date
9 Cash management Gestione della liquidità
10 Comments Commenti
11 Company L'azienda
12 Configuration Configurazione
13 Confirmed Confermato
14 Currency Valuta
15 Current balance Saldo corrente
16 Date Data
17 Details Dettagli
18 Display Display
19 Ending Balance Saldo finale
20 Estimated date Data stimata
21 Estimated payment date Data di pagamento prevista
22 Expected Previsto
23 Expense
24 Forecast Previsioni
25 Forecast Assistant Assistente Previsione
26 Forecast Assistants Assistenti di previsione
27 Forecast Reasons Motivi delle previsioni
28 Forecast Recap Previsione Ricapitolare
29 Forecast Recaps Previsioni Ricadute
30 Forecast Report Rapporto di previsione
31 Forecast Reports Rapporti di previsione
32 Forecast generator Generatore di previsioni
33 Forecast reason Motivo delle previsioni
34 Forecast reasons Motivi di previsione
35 Forecast recap Riassunto delle previsioni
36 ForecastLine.amount
37 ForecastLine.balance
38 ForecastLine.estimatedDate
39 ForecastLine.relatedToName
40 ForecastLine.type
41 ForecastLineType.in
42 ForecastLineType.out
43 ForecastOpportunitiesType.base
44 ForecastOpportunitiesType.best
45 ForecastOpportunitiesType.no
46 ForecastOpportunitiesType.worst
47 ForecastRecap ForecastRecap
48 ForecastRecap.bankDetailsIban
49 ForecastRecap.calculationDate
50 ForecastRecap.company
51 ForecastRecap.currency
52 ForecastRecap.endingBalance
53 ForecastRecap.fromDate
54 ForecastRecap.operationDetails
55 ForecastRecap.opportunitiesTypeSelect
56 ForecastRecap.startingBalance
57 ForecastRecap.title
58 ForecastRecap.toDate
59 ForecastRecapLine.balance
60 Forecasts Previsioni
61 Forecasts generated Previsioni generate
62 Format
63 From Da
64 Generate Generare
65 Invalid dates Date non valide
66 Invoice
67 Is report È rapporto
68 Line Linea
69 Lines Linee
70 Marges Margini
71 No No
72 ODS
73 PDF
74 Periodicity La periodicità
75 Please select a company Selezionare un'azienda
76 Populate Popolare
77 Previsional Marges Margini Previsionali
78 Previsional Sales Vendite Previsionali
79 Previsional Spending Spesa Previsionale
80 Print
81 Purchase order
82 Realized Realizzato
83 Reason Ragione
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales Vendite
89 SalesMan Venditore
90 Seq.
91 Spending Spesa
92 Starting Balance Saldo iniziale
93 Take into account opportunies Prendere in considerazione le opportunità
94 The company %s doesn't have any configured sequence for ForcastRecap
95 To A
96 Type Tipo
97 Update Aggiorna
98 Worst Peggiore
99 XLS
100 Yes
101 value:Cash management valore:Cash management

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount","Bedrag",,
"Auto","Auto",,
"Bank","Bank",,
"Base","Basis",,
"Best","Beste",,
"Both","Beide",,
"Calculation Date",,,
"Cash management","Kasmiddelenbeheer",,
"Comments","Commentaar",,
"Company","Bedrijf",,
"Configuration","Configuratie",,
"Confirmed","Bevestigd",,
"Currency","Valuta",,
"Current balance","Huidig saldo",,
"Date","Datum",,
"Details","Details",,
"Display","Vertoning",,
"Ending Balance","Eindsaldo",,
"Estimated date","Geschatte datum",,
"Estimated payment date","Geschatte betalingsdatum",,
"Expected","Verwacht",,
"Expense",,,
"Forecast","Voorspelling",,
"Forecast Assistant","Prognose-assistent",,
"Forecast Assistants","Prognose-assistenten",,
"Forecast Reasons","Redenen voor de prognoses",,
"Forecast Recap","Prognose Herziening",,
"Forecast Recaps","Prognose Herschikkingen",,
"Forecast Report","Prognoseverslag",,
"Forecast Reports","Prognose rapporten",,
"Forecast generator","Prognose generator",,
"Forecast reason","Geraamde reden",,
"Forecast reasons","Prognose redenen",,
"Forecast recap","Voorspelling recapitulatie",,
"ForecastLine.amount",,,
"ForecastLine.balance",,,
"ForecastLine.estimatedDate",,,
"ForecastLine.relatedToName",,,
"ForecastLine.type",,,
"ForecastLineType.in",,,
"ForecastLineType.out",,,
"ForecastOpportunitiesType.base",,,
"ForecastOpportunitiesType.best",,,
"ForecastOpportunitiesType.no",,,
"ForecastOpportunitiesType.worst",,,
"ForecastRecap","VoorspellingRecap",,
"ForecastRecap.bankDetailsIban",,,
"ForecastRecap.calculationDate",,,
"ForecastRecap.company",,,
"ForecastRecap.currency",,,
"ForecastRecap.endingBalance",,,
"ForecastRecap.fromDate",,,
"ForecastRecap.operationDetails",,,
"ForecastRecap.opportunitiesTypeSelect",,,
"ForecastRecap.startingBalance",,,
"ForecastRecap.title",,,
"ForecastRecap.toDate",,,
"ForecastRecapLine.balance",,,
"Forecasts","Voorspellingen",,
"Forecasts generated","Prognoses gegenereerd",,
"Format",,,
"From","Van",,
"Generate","Genereer",,
"Invalid dates","Ongeldige data",,
"Invoice",,,
"Is report","Is rapport",,
"Line","Lijn",,
"Lines","Lijnen",,
"Marges","Schoonmaak",,
"No","Nee",,
"ODS",,,
"PDF",,,
"Periodicity","Periodiciteit",,
"Please select a company","Selecteer een bedrijf",,
"Populate","Bevolken",,
"Previsional Marges","Previsionelearges",,
"Previsional Sales","Voorlopige verkoop",,
"Previsional Spending","Voorlopige uitgaven",,
"Print",,,
"Purchase order",,,
"Realized","Gerealiseerd",,
"Reason","Reden",,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales","Verkoop",,
"SalesMan","Verkoper",,
"Seq.",,,
"Spending","Uitgaven",,
"Starting Balance","Startbalans",,
"Take into account opportunies","Houd rekening met opportuniteiten",,
"The company %s doesn't have any configured sequence for ForcastRecap",,,
"To","Naar",,
"Type","Type",,
"Update","Update",,
"Worst","Ergst",,
"XLS",,,
"Yes","Ja",,
"value:Cash management","waarde:Kasmiddelenbeheer",,
1 key message comment context
2 Amount Bedrag
3 Auto Auto
4 Bank Bank
5 Base Basis
6 Best Beste
7 Both Beide
8 Calculation Date
9 Cash management Kasmiddelenbeheer
10 Comments Commentaar
11 Company Bedrijf
12 Configuration Configuratie
13 Confirmed Bevestigd
14 Currency Valuta
15 Current balance Huidig saldo
16 Date Datum
17 Details Details
18 Display Vertoning
19 Ending Balance Eindsaldo
20 Estimated date Geschatte datum
21 Estimated payment date Geschatte betalingsdatum
22 Expected Verwacht
23 Expense
24 Forecast Voorspelling
25 Forecast Assistant Prognose-assistent
26 Forecast Assistants Prognose-assistenten
27 Forecast Reasons Redenen voor de prognoses
28 Forecast Recap Prognose Herziening
29 Forecast Recaps Prognose Herschikkingen
30 Forecast Report Prognoseverslag
31 Forecast Reports Prognose rapporten
32 Forecast generator Prognose generator
33 Forecast reason Geraamde reden
34 Forecast reasons Prognose redenen
35 Forecast recap Voorspelling recapitulatie
36 ForecastLine.amount
37 ForecastLine.balance
38 ForecastLine.estimatedDate
39 ForecastLine.relatedToName
40 ForecastLine.type
41 ForecastLineType.in
42 ForecastLineType.out
43 ForecastOpportunitiesType.base
44 ForecastOpportunitiesType.best
45 ForecastOpportunitiesType.no
46 ForecastOpportunitiesType.worst
47 ForecastRecap VoorspellingRecap
48 ForecastRecap.bankDetailsIban
49 ForecastRecap.calculationDate
50 ForecastRecap.company
51 ForecastRecap.currency
52 ForecastRecap.endingBalance
53 ForecastRecap.fromDate
54 ForecastRecap.operationDetails
55 ForecastRecap.opportunitiesTypeSelect
56 ForecastRecap.startingBalance
57 ForecastRecap.title
58 ForecastRecap.toDate
59 ForecastRecapLine.balance
60 Forecasts Voorspellingen
61 Forecasts generated Prognoses gegenereerd
62 Format
63 From Van
64 Generate Genereer
65 Invalid dates Ongeldige data
66 Invoice
67 Is report Is rapport
68 Line Lijn
69 Lines Lijnen
70 Marges Schoonmaak
71 No Nee
72 ODS
73 PDF
74 Periodicity Periodiciteit
75 Please select a company Selecteer een bedrijf
76 Populate Bevolken
77 Previsional Marges Previsionelearges
78 Previsional Sales Voorlopige verkoop
79 Previsional Spending Voorlopige uitgaven
80 Print
81 Purchase order
82 Realized Gerealiseerd
83 Reason Reden
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales Verkoop
89 SalesMan Verkoper
90 Seq.
91 Spending Uitgaven
92 Starting Balance Startbalans
93 Take into account opportunies Houd rekening met opportuniteiten
94 The company %s doesn't have any configured sequence for ForcastRecap
95 To Naar
96 Type Type
97 Update Update
98 Worst Ergst
99 XLS
100 Yes Ja
101 value:Cash management waarde:Kasmiddelenbeheer

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount","Kwota",,
"Auto","Automatycznie",,
"Bank","Bank",,
"Base","Podstawa",,
"Best","Najlepszy",,
"Both","obydwu.",,
"Calculation Date",,,
"Cash management","Zarządzanie środkami pieniężnymi",,
"Comments","Komentarze",,
"Company","Firma",,
"Configuration","Konfiguracja",,
"Confirmed","Potwierdzone",,
"Currency","Waluta",,
"Current balance","Saldo bieżące",,
"Date","Data",,
"Details","Szczegóły",,
"Display","Wyświetlacz",,
"Ending Balance","Bilans zamknięcia",,
"Estimated date","Szacowana data",,
"Estimated payment date","Szacowana data płatności",,
"Expected","Oczekiwany",,
"Expense",,,
"Forecast","Prognoza",,
"Forecast Assistant","Asystent prognozowania",,
"Forecast Assistants","Asystenci prognoz",,
"Forecast Reasons","Przyczyny prognoz",,
"Forecast Recap","Prognoza Przekształcenie",,
"Forecast Recaps","Przekształcenia prognoz",,
"Forecast Report","Sprawozdanie z prognozy",,
"Forecast Reports","Sprawozdania z prognozy",,
"Forecast generator","Generator prognoz",,
"Forecast reason","Przyczyna prognozy",,
"Forecast reasons","Przyczyny prognozowania",,
"Forecast recap","Przekształcenie prognozy",,
"ForecastLine.amount",,,
"ForecastLine.balance",,,
"ForecastLine.estimatedDate",,,
"ForecastLine.relatedToName",,,
"ForecastLine.type",,,
"ForecastLineType.in",,,
"ForecastLineType.out",,,
"ForecastOpportunitiesType.base",,,
"ForecastOpportunitiesType.best",,,
"ForecastOpportunitiesType.no",,,
"ForecastOpportunitiesType.worst",,,
"ForecastRecap","PrognozaRecap",,
"ForecastRecap.bankDetailsIban",,,
"ForecastRecap.calculationDate",,,
"ForecastRecap.company",,,
"ForecastRecap.currency",,,
"ForecastRecap.endingBalance",,,
"ForecastRecap.fromDate",,,
"ForecastRecap.operationDetails",,,
"ForecastRecap.opportunitiesTypeSelect",,,
"ForecastRecap.startingBalance",,,
"ForecastRecap.title",,,
"ForecastRecap.toDate",,,
"ForecastRecapLine.balance",,,
"Forecasts","Prognozy",,
"Forecasts generated","Wygenerowane prognozy",,
"Format",,,
"From","Od",,
"Generate","Generuj",,
"Invalid dates","Nieważne daty",,
"Invoice",,,
"Is report","Czy raport jest raportem?",,
"Line","Linia",,
"Lines","Linie",,
"Marges","Marże",,
"No","Nie",,
"ODS",,,
"PDF",,,
"Periodicity","Okresowość",,
"Please select a company","Proszę wybrać firmę",,
"Populate","Populacja",,
"Previsional Marges","Marże prewencyjne",,
"Previsional Sales","Sprzedaż prewencyjna",,
"Previsional Spending","Wydatki prewencyjne",,
"Print",,,
"Purchase order",,,
"Realized","Zrealizowane",,
"Reason","Uzasadnienie",,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales","Sprzedaż",,
"SalesMan","SalesMan",,
"Seq.",,,
"Spending","Wydatki",,
"Starting Balance","Bilans początkowy",,
"Take into account opportunies","Uwzględnić możliwości",,
"The company %s doesn't have any configured sequence for ForcastRecap",,,
"To","Do",,
"Type","Typ",,
"Update","Aktualizacja",,
"Worst","Najgorszy",,
"XLS",,,
"Yes","Tak",,
"value:Cash management","wartość: Zarządzanie środkami pieniężnymi",,
1 key message comment context
2 Amount Kwota
3 Auto Automatycznie
4 Bank Bank
5 Base Podstawa
6 Best Najlepszy
7 Both obydwu.
8 Calculation Date
9 Cash management Zarządzanie środkami pieniężnymi
10 Comments Komentarze
11 Company Firma
12 Configuration Konfiguracja
13 Confirmed Potwierdzone
14 Currency Waluta
15 Current balance Saldo bieżące
16 Date Data
17 Details Szczegóły
18 Display Wyświetlacz
19 Ending Balance Bilans zamknięcia
20 Estimated date Szacowana data
21 Estimated payment date Szacowana data płatności
22 Expected Oczekiwany
23 Expense
24 Forecast Prognoza
25 Forecast Assistant Asystent prognozowania
26 Forecast Assistants Asystenci prognoz
27 Forecast Reasons Przyczyny prognoz
28 Forecast Recap Prognoza Przekształcenie
29 Forecast Recaps Przekształcenia prognoz
30 Forecast Report Sprawozdanie z prognozy
31 Forecast Reports Sprawozdania z prognozy
32 Forecast generator Generator prognoz
33 Forecast reason Przyczyna prognozy
34 Forecast reasons Przyczyny prognozowania
35 Forecast recap Przekształcenie prognozy
36 ForecastLine.amount
37 ForecastLine.balance
38 ForecastLine.estimatedDate
39 ForecastLine.relatedToName
40 ForecastLine.type
41 ForecastLineType.in
42 ForecastLineType.out
43 ForecastOpportunitiesType.base
44 ForecastOpportunitiesType.best
45 ForecastOpportunitiesType.no
46 ForecastOpportunitiesType.worst
47 ForecastRecap PrognozaRecap
48 ForecastRecap.bankDetailsIban
49 ForecastRecap.calculationDate
50 ForecastRecap.company
51 ForecastRecap.currency
52 ForecastRecap.endingBalance
53 ForecastRecap.fromDate
54 ForecastRecap.operationDetails
55 ForecastRecap.opportunitiesTypeSelect
56 ForecastRecap.startingBalance
57 ForecastRecap.title
58 ForecastRecap.toDate
59 ForecastRecapLine.balance
60 Forecasts Prognozy
61 Forecasts generated Wygenerowane prognozy
62 Format
63 From Od
64 Generate Generuj
65 Invalid dates Nieważne daty
66 Invoice
67 Is report Czy raport jest raportem?
68 Line Linia
69 Lines Linie
70 Marges Marże
71 No Nie
72 ODS
73 PDF
74 Periodicity Okresowość
75 Please select a company Proszę wybrać firmę
76 Populate Populacja
77 Previsional Marges Marże prewencyjne
78 Previsional Sales Sprzedaż prewencyjna
79 Previsional Spending Wydatki prewencyjne
80 Print
81 Purchase order
82 Realized Zrealizowane
83 Reason Uzasadnienie
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales Sprzedaż
89 SalesMan SalesMan
90 Seq.
91 Spending Wydatki
92 Starting Balance Bilans początkowy
93 Take into account opportunies Uwzględnić możliwości
94 The company %s doesn't have any configured sequence for ForcastRecap
95 To Do
96 Type Typ
97 Update Aktualizacja
98 Worst Najgorszy
99 XLS
100 Yes Tak
101 value:Cash management wartość: Zarządzanie środkami pieniężnymi

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount","Montante",,
"Auto","Auto",,
"Bank","Banco",,
"Base","Base",,
"Best","Melhor",,
"Both","Ambos",,
"Calculation Date",,,
"Cash management","Administração de caixa",,
"Comments","Comentários",,
"Company","Empresa",,
"Configuration","Configuração",,
"Confirmed","Confirmado",,
"Currency","Moeda",,
"Current balance","Saldo atual",,
"Date","Data",,
"Details","Detalhes",,
"Display","Exibição",,
"Ending Balance","Saldo Final",,
"Estimated date","Data estimada",,
"Estimated payment date","Data estimada de pagamento",,
"Expected","Previsto",,
"Expense",,,
"Forecast","Previsão",,
"Forecast Assistant","Assistente de Previsões",,
"Forecast Assistants","Assistentes de previsão",,
"Forecast Reasons","Razões da previsão",,
"Forecast Recap","Reformulação da previsão",,
"Forecast Recaps","Previsões reformuladas",,
"Forecast Report","Relatório de previsão",,
"Forecast Reports","Relatórios de previsão",,
"Forecast generator","Gerador de previsões",,
"Forecast reason","Motivo da previsão",,
"Forecast reasons","Razões de previsão",,
"Forecast recap","Reformulação da previsão",,
"ForecastLine.amount",,,
"ForecastLine.balance",,,
"ForecastLine.estimatedDate",,,
"ForecastLine.relatedToName",,,
"ForecastLine.type",,,
"ForecastLineType.in",,,
"ForecastLineType.out",,,
"ForecastOpportunitiesType.base",,,
"ForecastOpportunitiesType.best",,,
"ForecastOpportunitiesType.no",,,
"ForecastOpportunitiesType.worst",,,
"ForecastRecap","ForecastRecap",,
"ForecastRecap.bankDetailsIban",,,
"ForecastRecap.calculationDate",,,
"ForecastRecap.company",,,
"ForecastRecap.currency",,,
"ForecastRecap.endingBalance",,,
"ForecastRecap.fromDate",,,
"ForecastRecap.operationDetails",,,
"ForecastRecap.opportunitiesTypeSelect",,,
"ForecastRecap.startingBalance",,,
"ForecastRecap.title",,,
"ForecastRecap.toDate",,,
"ForecastRecapLine.balance",,,
"Forecasts","Previsões",,
"Forecasts generated","Previsões geradas",,
"Format",,,
"From","De",,
"Generate","Gerar",,
"Invalid dates","Datas inválidas",,
"Invoice",,,
"Is report","É relatório",,
"Line","Linha",,
"Lines","Linhas",,
"Marges","Marges",,
"No","Não",,
"ODS",,,
"PDF",,,
"Periodicity","Periodicidade",,
"Please select a company","Selecione uma empresa",,
"Populate","População",,
"Previsional Marges","Margens Previsionais",,
"Previsional Sales","Vendas Previsionais",,
"Previsional Spending","Gastos Previsionais",,
"Print",,,
"Purchase order",,,
"Realized","Realizado",,
"Reason","Razão",,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales","Vendas",,
"SalesMan","SalesMan",,
"Seq.",,,
"Spending","Gastos",,
"Starting Balance","Saldo inicial",,
"Take into account opportunies","Ter em conta as oportunidades",,
"The company %s doesn't have any configured sequence for ForcastRecap",,,
"To","Para",,
"Type","Tipo de",,
"Update","Atualização",,
"Worst","Pior",,
"XLS",,,
"Yes","Sim",,
"value:Cash management","value:Administração de caixa",,
1 key message comment context
2 Amount Montante
3 Auto Auto
4 Bank Banco
5 Base Base
6 Best Melhor
7 Both Ambos
8 Calculation Date
9 Cash management Administração de caixa
10 Comments Comentários
11 Company Empresa
12 Configuration Configuração
13 Confirmed Confirmado
14 Currency Moeda
15 Current balance Saldo atual
16 Date Data
17 Details Detalhes
18 Display Exibição
19 Ending Balance Saldo Final
20 Estimated date Data estimada
21 Estimated payment date Data estimada de pagamento
22 Expected Previsto
23 Expense
24 Forecast Previsão
25 Forecast Assistant Assistente de Previsões
26 Forecast Assistants Assistentes de previsão
27 Forecast Reasons Razões da previsão
28 Forecast Recap Reformulação da previsão
29 Forecast Recaps Previsões reformuladas
30 Forecast Report Relatório de previsão
31 Forecast Reports Relatórios de previsão
32 Forecast generator Gerador de previsões
33 Forecast reason Motivo da previsão
34 Forecast reasons Razões de previsão
35 Forecast recap Reformulação da previsão
36 ForecastLine.amount
37 ForecastLine.balance
38 ForecastLine.estimatedDate
39 ForecastLine.relatedToName
40 ForecastLine.type
41 ForecastLineType.in
42 ForecastLineType.out
43 ForecastOpportunitiesType.base
44 ForecastOpportunitiesType.best
45 ForecastOpportunitiesType.no
46 ForecastOpportunitiesType.worst
47 ForecastRecap ForecastRecap
48 ForecastRecap.bankDetailsIban
49 ForecastRecap.calculationDate
50 ForecastRecap.company
51 ForecastRecap.currency
52 ForecastRecap.endingBalance
53 ForecastRecap.fromDate
54 ForecastRecap.operationDetails
55 ForecastRecap.opportunitiesTypeSelect
56 ForecastRecap.startingBalance
57 ForecastRecap.title
58 ForecastRecap.toDate
59 ForecastRecapLine.balance
60 Forecasts Previsões
61 Forecasts generated Previsões geradas
62 Format
63 From De
64 Generate Gerar
65 Invalid dates Datas inválidas
66 Invoice
67 Is report É relatório
68 Line Linha
69 Lines Linhas
70 Marges Marges
71 No Não
72 ODS
73 PDF
74 Periodicity Periodicidade
75 Please select a company Selecione uma empresa
76 Populate População
77 Previsional Marges Margens Previsionais
78 Previsional Sales Vendas Previsionais
79 Previsional Spending Gastos Previsionais
80 Print
81 Purchase order
82 Realized Realizado
83 Reason Razão
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales Vendas
89 SalesMan SalesMan
90 Seq.
91 Spending Gastos
92 Starting Balance Saldo inicial
93 Take into account opportunies Ter em conta as oportunidades
94 The company %s doesn't have any configured sequence for ForcastRecap
95 To Para
96 Type Tipo de
97 Update Atualização
98 Worst Pior
99 XLS
100 Yes Sim
101 value:Cash management value:Administração de caixa

View File

@ -0,0 +1,101 @@
"key","message","comment","context"
"Amount","Сумма",,
"Auto","Авто",,
"Bank","Банк",,
"Base","База",,
"Best","Лучший",,
"Both","Оба",,
"Calculation Date",,,
"Cash management","Управление денежной наличностью",,
"Comments","Комментарии",,
"Company","Компания",,
"Configuration","Конфигурация",,
"Confirmed","Подтверждённый",,
"Currency","Валюта",,
"Current balance","Текущий баланс",,
"Date","Дата",,
"Details","Детали",,
"Display","дисплей",,
"Ending Balance","Конец баланса",,
"Estimated date","Расчетная дата",,
"Estimated payment date","Расчетная дата оплаты",,
"Expected","Ожидаемый",,
"Expense",,,
"Forecast","Прогноз",,
"Forecast Assistant","Помощник по прогнозированию",,
"Forecast Assistants","Помощники по прогнозированию",,
"Forecast Reasons","Прогнозные причины",,
"Forecast Recap","Резюме прогноза",,
"Forecast Recaps","Прогнозы Повторные расчеты",,
"Forecast Report","Прогнозный доклад",,
"Forecast Reports","Прогнозные отчеты",,
"Forecast generator","Генератор прогнозов",,
"Forecast reason","Прогнозная причина",,
"Forecast reasons","Прогнозные причины",,
"Forecast recap","Резюме прогноза",,
"ForecastLine.amount",,,
"ForecastLine.balance",,,
"ForecastLine.estimatedDate",,,
"ForecastLine.relatedToName",,,
"ForecastLine.type",,,
"ForecastLineType.in",,,
"ForecastLineType.out",,,
"ForecastOpportunitiesType.base",,,
"ForecastOpportunitiesType.best",,,
"ForecastOpportunitiesType.no",,,
"ForecastOpportunitiesType.worst",,,
"ForecastRecap","ForecastRecap",,
"ForecastRecap.bankDetailsIban",,,
"ForecastRecap.calculationDate",,,
"ForecastRecap.company",,,
"ForecastRecap.currency",,,
"ForecastRecap.endingBalance",,,
"ForecastRecap.fromDate",,,
"ForecastRecap.operationDetails",,,
"ForecastRecap.opportunitiesTypeSelect",,,
"ForecastRecap.startingBalance",,,
"ForecastRecap.title",,,
"ForecastRecap.toDate",,,
"ForecastRecapLine.balance",,,
"Forecasts","Прогнозы",,
"Forecasts generated","Созданные прогнозы",,
"Format",,,
"From","От",,
"Generate","Генерировать",,
"Invalid dates","Недействительные даты",,
"Invoice",,,
"Is report","это отчет",,
"Line","Линия",,
"Lines","Линии",,
"Marges","Марджи",,
"No","Нет",,
"ODS",,,
"PDF",,,
"Periodicity","Периодичность",,
"Please select a company","Пожалуйста, выберите компанию",,
"Populate","Население",,
"Previsional Marges","Превизионные маржи",,
"Previsional Sales","Превизиональные продажи",,
"Previsional Spending","Расходы подразделений",,
"Print",,,
"Purchase order",,,
"Realized","Реализован",,
"Reason","Причина",,
"Related to",,,
"Related to select",,,
"Reports",,,
"Sale order",,,
"Sales","Продажи",,
"SalesMan","Коммерсант",,
"Seq.",,,
"Spending","Расходы",,
"Starting Balance","Начальный баланс",,
"Take into account opportunies","Принимать во внимание возможности",,
"The company %s doesn't have any configured sequence for ForcastRecap",,,
"To","К",,
"Type","Тип",,
"Update","Обновить",,
"Worst","Худший",,
"XLS",,,
"Yes","Да",,
"value:Cash management","стоимость:Управление денежными средствами",,
1 key message comment context
2 Amount Сумма
3 Auto Авто
4 Bank Банк
5 Base База
6 Best Лучший
7 Both Оба
8 Calculation Date
9 Cash management Управление денежной наличностью
10 Comments Комментарии
11 Company Компания
12 Configuration Конфигурация
13 Confirmed Подтверждённый
14 Currency Валюта
15 Current balance Текущий баланс
16 Date Дата
17 Details Детали
18 Display дисплей
19 Ending Balance Конец баланса
20 Estimated date Расчетная дата
21 Estimated payment date Расчетная дата оплаты
22 Expected Ожидаемый
23 Expense
24 Forecast Прогноз
25 Forecast Assistant Помощник по прогнозированию
26 Forecast Assistants Помощники по прогнозированию
27 Forecast Reasons Прогнозные причины
28 Forecast Recap Резюме прогноза
29 Forecast Recaps Прогнозы Повторные расчеты
30 Forecast Report Прогнозный доклад
31 Forecast Reports Прогнозные отчеты
32 Forecast generator Генератор прогнозов
33 Forecast reason Прогнозная причина
34 Forecast reasons Прогнозные причины
35 Forecast recap Резюме прогноза
36 ForecastLine.amount
37 ForecastLine.balance
38 ForecastLine.estimatedDate
39 ForecastLine.relatedToName
40 ForecastLine.type
41 ForecastLineType.in
42 ForecastLineType.out
43 ForecastOpportunitiesType.base
44 ForecastOpportunitiesType.best
45 ForecastOpportunitiesType.no
46 ForecastOpportunitiesType.worst
47 ForecastRecap ForecastRecap
48 ForecastRecap.bankDetailsIban
49 ForecastRecap.calculationDate
50 ForecastRecap.company
51 ForecastRecap.currency
52 ForecastRecap.endingBalance
53 ForecastRecap.fromDate
54 ForecastRecap.operationDetails
55 ForecastRecap.opportunitiesTypeSelect
56 ForecastRecap.startingBalance
57 ForecastRecap.title
58 ForecastRecap.toDate
59 ForecastRecapLine.balance
60 Forecasts Прогнозы
61 Forecasts generated Созданные прогнозы
62 Format
63 From От
64 Generate Генерировать
65 Invalid dates Недействительные даты
66 Invoice
67 Is report это отчет
68 Line Линия
69 Lines Линии
70 Marges Марджи
71 No Нет
72 ODS
73 PDF
74 Periodicity Периодичность
75 Please select a company Пожалуйста, выберите компанию
76 Populate Население
77 Previsional Marges Превизионные маржи
78 Previsional Sales Превизиональные продажи
79 Previsional Spending Расходы подразделений
80 Print
81 Purchase order
82 Realized Реализован
83 Reason Причина
84 Related to
85 Related to select
86 Reports
87 Sale order
88 Sales Продажи
89 SalesMan Коммерсант
90 Seq.
91 Spending Расходы
92 Starting Balance Начальный баланс
93 Take into account opportunies Принимать во внимание возможности
94 The company %s doesn't have any configured sequence for ForcastRecap
95 To К
96 Type Тип
97 Update Обновить
98 Worst Худший
99 XLS
100 Yes Да
101 value:Cash management стоимость:Управление денежными средствами

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<csv-inputs xmlns="http://axelor.com/xml/ns/data-import"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/data-import http://axelor.com/xml/ns/data-import/data-import_5.2.xsd">
<input file="cash-management_role.csv" separator=";" type="com.axelor.auth.db.Role" search="self.name = :name"/>
<input file="cash-management_permission.csv" separator=";" type="com.axelor.auth.db.Permission" search="self.name = :name" call="com.axelor.csv.script.ImportPermission:importPermissionToRole">
<bind to="canRead" eval="can_read == 'x' ? 'true' : 'false'"/>
<bind to="canWrite" eval="can_write == 'x' ? 'true' : 'false'"/>
<bind to="canCreate" eval="can_create == 'x' ? 'true' : 'false'"/>
<bind to="canRemove" eval="can_remove == 'x' ? 'true' : 'false'"/>
<bind to="canExport" eval="can_export == 'x' ? 'true' : 'false'"/>
</input>
<input file="cash-management_metaMenu.csv" separator=";" type="com.axelor.meta.db.MetaMenu" search="self.name = :name" update="true">
<bind column="roles" to="roles" search="self.name in :roles" eval="roles.split('\\|') as List"/>
</input>
</csv-inputs>

View File

@ -0,0 +1,8 @@
"name";"roles"
"forecast-root";"Cash Management Manager|Cash Management User|Cash Management Read"
"forecast-root-forecast";"Cash Management Manager|Cash Management User|Cash Management Read"
"forecast-root-forecast-recap";"Cash Management Manager|Cash Management User|Cash Management Read"
"forecast-root-forecast-report";"Cash Management Manager|Cash Management User|Cash Management Read"
"forecast-conf";"Cash Management Manager"
"forecast-conf-forecast-generator";"Cash Management Manager"
"forecast-conf-forecast-reason";"Cash Management Manager"
1 name roles
2 forecast-root Cash Management Manager|Cash Management User|Cash Management Read
3 forecast-root-forecast Cash Management Manager|Cash Management User|Cash Management Read
4 forecast-root-forecast-recap Cash Management Manager|Cash Management User|Cash Management Read
5 forecast-root-forecast-report Cash Management Manager|Cash Management User|Cash Management Read
6 forecast-conf Cash Management Manager
7 forecast-conf-forecast-generator Cash Management Manager
8 forecast-conf-forecast-reason Cash Management Manager

View File

@ -0,0 +1,16 @@
"name";"object";"can_read";"can_write";"can_create";"can_remove";"can_export";"condition";"conditionParams";"roleName"
"perm.cash.management.Forecast.r";"com.axelor.apps.cash.management.db.Forecast";"x";;;;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Cash Management Read"
"perm.cash.management.ForecastReason.r";"com.axelor.apps.cash.management.db.ForecastReason";"x";;;;;;;"Cash Management Read"
"perm.cash.management.ForecastRecap.r";"com.axelor.apps.cash.management.db.ForecastRecap";"x";;;;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Cash Management Read"
"perm.cash.management.ForecastRecapLine.r";"com.axelor.apps.cash.management.db.ForecastRecapLine";"x";;;;;;;"Cash Management Read"
"perm.cash.management.ForecastGenerator.r";"com.axelor.apps.cash.management.db.ForecastGenerator";"x";;;;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Cash Management Read"
"perm.cash.management.Forecast.rwc";"com.axelor.apps.cash.management.db.Forecast";"x";"x";"x";;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Cash Management User"
"perm.cash.management.ForecastReason.rwc";"com.axelor.apps.cash.management.db.ForecastReason";"x";"x";"x";;;;;"Cash Management User"
"perm.cash.management.ForecastRecap.rwc";"com.axelor.apps.cash.management.db.ForecastRecap";"x";"x";"x";;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Cash Management User"
"perm.cash.management.ForecastRecapLine.rwc";"com.axelor.apps.cash.management.db.ForecastRecapLine";"x";"x";"x";;;;;"Cash Management User"
"perm.cash.management.ForecastGenerator.rwc";"com.axelor.apps.cash.management.db.ForecastGenerator";"x";"x";"x";;;"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Cash Management User"
"perm.cash.management.Forecast.rwcde";"com.axelor.apps.cash.management.db.Forecast";"x";"x";"x";"x";"x";"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Cash Management Manager"
"perm.cash.management.ForecastReason.rwcde";"com.axelor.apps.cash.management.db.ForecastReason";"x";"x";"x";"x";"x";;;"Cash Management Manager"
"perm.cash.management.ForecastRecap.rwcde";"com.axelor.apps.cash.management.db.ForecastRecap";"x";"x";"x";"x";"x";"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Cash Management Manager"
"perm.cash.management.ForecastRecapLine.rwcde";"com.axelor.apps.cash.management.db.ForecastRecapLine";"x";"x";"x";"x";"x";;;"Cash Management Manager"
"perm.cash.management.ForecastGenerator.rwcde";"com.axelor.apps.cash.management.db.ForecastGenerator";"x";"x";"x";"x";"x";"self.company.id in (?)";"__user__.companySet.id.plus(0)";"Cash Management Manager"
1 name object can_read can_write can_create can_remove can_export condition conditionParams roleName
2 perm.cash.management.Forecast.r com.axelor.apps.cash.management.db.Forecast x self.company.id in (?) __user__.companySet.id.plus(0) Cash Management Read
3 perm.cash.management.ForecastReason.r com.axelor.apps.cash.management.db.ForecastReason x Cash Management Read
4 perm.cash.management.ForecastRecap.r com.axelor.apps.cash.management.db.ForecastRecap x self.company.id in (?) __user__.companySet.id.plus(0) Cash Management Read
5 perm.cash.management.ForecastRecapLine.r com.axelor.apps.cash.management.db.ForecastRecapLine x Cash Management Read
6 perm.cash.management.ForecastGenerator.r com.axelor.apps.cash.management.db.ForecastGenerator x self.company.id in (?) __user__.companySet.id.plus(0) Cash Management Read
7 perm.cash.management.Forecast.rwc com.axelor.apps.cash.management.db.Forecast x x x self.company.id in (?) __user__.companySet.id.plus(0) Cash Management User
8 perm.cash.management.ForecastReason.rwc com.axelor.apps.cash.management.db.ForecastReason x x x Cash Management User
9 perm.cash.management.ForecastRecap.rwc com.axelor.apps.cash.management.db.ForecastRecap x x x self.company.id in (?) __user__.companySet.id.plus(0) Cash Management User
10 perm.cash.management.ForecastRecapLine.rwc com.axelor.apps.cash.management.db.ForecastRecapLine x x x Cash Management User
11 perm.cash.management.ForecastGenerator.rwc com.axelor.apps.cash.management.db.ForecastGenerator x x x self.company.id in (?) __user__.companySet.id.plus(0) Cash Management User
12 perm.cash.management.Forecast.rwcde com.axelor.apps.cash.management.db.Forecast x x x x x self.company.id in (?) __user__.companySet.id.plus(0) Cash Management Manager
13 perm.cash.management.ForecastReason.rwcde com.axelor.apps.cash.management.db.ForecastReason x x x x x Cash Management Manager
14 perm.cash.management.ForecastRecap.rwcde com.axelor.apps.cash.management.db.ForecastRecap x x x x x self.company.id in (?) __user__.companySet.id.plus(0) Cash Management Manager
15 perm.cash.management.ForecastRecapLine.rwcde com.axelor.apps.cash.management.db.ForecastRecapLine x x x x x Cash Management Manager
16 perm.cash.management.ForecastGenerator.rwcde com.axelor.apps.cash.management.db.ForecastGenerator x x x x x self.company.id in (?) __user__.companySet.id.plus(0) Cash Management Manager

View File

@ -0,0 +1,4 @@
"name";"description"
"Cash Management Read";
"Cash Management User";
"Cash Management Manager";
1 name description
2 Cash Management Read
3 Cash Management User
4 Cash Management Manager

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<chart name="chart.forecast.report.sales" title="Previsional Sales">
<dataset type="rpc">com.axelor.apps.cash.management.web.ForecastRecapController:sales</dataset>
<category key="date" type="date" />
<series key="amount" groupBy="type" type="bar"/>
</chart>
<chart name="chart.forecast.report.spending" title="Previsional Spending">
<dataset type="rpc">com.axelor.apps.cash.management.web.ForecastRecapController:spending</dataset>
<category key="date" type="date" />
<series key="amount" type="bar"/>
</chart>
<chart name="chart.forecast.report.marges" title="Previsional Marges">
<dataset type="rpc">com.axelor.apps.cash.management.web.ForecastRecapController:marges</dataset>
<category key="date" type="date" />
<series key="amount" type="bar"/>
</chart>
</object-views>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="forecast-grid" title="Forecasts" model="com.axelor.apps.cash.management.db.Forecast">
<field name="company" if="__config__.app.getApp('base').getEnableMultiCompany()"/>
<field name="bankDetails"/>
<field name="typeSelect"/>
<field name="amount" aggregate="sum"/>
<field name="estimatedDate"/>
<field name="realizedSelect"/>
</grid>
<form name="forecast-form" title="Forecast" model="com.axelor.apps.cash.management.db.Forecast"
onNew="action-forecast-record-default-on-new">
<panel name="mainPanel" >
<field name="company" canEdit="false" onChange="action-forecast-record-bank"/>
<field name="bankDetails" onSelect="action-accounting-batch-attrs-bank-details-domain"/>
<field name="typeSelect"/>
<field name="amount"/>
<field name="estimatedDate"/>
<field name="forecastReason"/>
<field name="realizedSelect" widget="RadioSelect"/>
<field name="comments" colSpan="12"/>
</panel>
</form>
<action-record name="action-forecast-record-default-on-new" model="com.axelor.apps.cash.management.db.Forecast">
<field name="company" expr="eval: __user__.activeCompany"/>
<field name="bankDetails" expr="eval: __user__.activeCompany?.defaultBankDetails" if="__user__.activeCompany?.defaultBankDetails?.active"/>
</action-record>
<action-record name="action-forecast-record-bank" model="com.axelor.apps.cash.management.db.Forecast">
<field name="bankDetails" expr="eval: company?.defaultBankDetails" if="company?.defaultBankDetails?.active"/>
</action-record>
</object-views>

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="forecast-generator-grid" title="Forecast Assistants" model="com.axelor.apps.cash.management.db.ForecastGenerator">
<field name="company" if="__config__.app.getApp('base').getEnableMultiCompany()"/>
<field name="bankDetails"/>
<field name="typeSelect"/>
<field name="amount" aggregate="sum"/>
<field name="fromDate"/>
<field name="toDate"/>
<field name="periodicitySelect"/>
</grid>
<form name="forecast-generator-form" title="Forecast Assistant" model="com.axelor.apps.cash.management.db.ForecastGenerator"
onNew="action-forecast-generator-record-default-on-new">
<panel name="mainPanel" >
<button name="generateBtn" title="Generate" onClick="action-forecast-generator-validate-dates,save,action-forecast-generator-method-generate,action-forecast-generator-attrs-title-generate" colSpan="3" colOffset="9"/>
<field name="company" canEdit="false" onChange="action-forecast-generator-record-bank"/>
<field name="bankDetails" onSelect="action-accounting-batch-attrs-bank-details-domain"/>
<field name="typeSelect"/>
<field name="amount"/>
<field name="fromDate" onChange="action-forecast-generator-validate-dates"/>
<field name="toDate" onChange="action-forecast-generator-validate-dates"/>
<field name="periodicitySelect"/>
<field name="forecastReason"/>
<field name="realizedSelect" widget="RadioSelect"/>
<field name="comments" colSpan="12"/>
<panel-dashlet name="forecastListPanel" title="Forecasts generated" action="action-forecast-generator-view-show-forecast-list" showIf="id" colSpan="12"/>
</panel>
</form>
<action-record name="action-forecast-generator-record-default-on-new" model="com.axelor.apps.cash.management.db.ForecastGenerator">
<field name="company" expr="eval: __user__.activeCompany"/>
<field name="bankDetails" expr="eval: __user__.activeCompany?.defaultBankDetails" if="__user__.activeCompany?.defaultBankDetails?.active"/>
</action-record>
<action-record name="action-forecast-generator-record-bank" model="com.axelor.apps.cash.management.db.ForecastGenerator">
<field name="bankDetails" expr="eval: company?.defaultBankDetails" if="company?.defaultBankDetails?.active"/>
</action-record>
<action-attrs name="action-forecast-generator-attrs-title-generate">
<attribute name="title" for="generateBtn" expr="Actualize"/>
</action-attrs>
<action-method name="action-forecast-generator-method-generate">
<call class="com.axelor.apps.cash.management.web.ForecastController" method="generate"/>
</action-method>
<action-validate name="action-forecast-generator-validate-dates">
<error message="Invalid dates" if="toDate != null &amp;&amp; fromDate != null &amp;&amp; toDate &lt; fromDate" action="action-forecast-generator-null-toDate"/>
</action-validate>
<action-record name="action-forecast-generator-null-toDate" model="com.axelor.apps.cash.management.db.ForecastGenerator">
<field name="toDate" expr="eval: null"/>
</action-record>
<action-view name="action-forecast-generator-view-show-forecast-list" title="Forecasts generated" model="com.axelor.apps.cash.management.db.Forecast">
<view type="grid" name="forecast-grid"/>
<view type="form" name="forecast-form"/>
<domain>self.forecastGenerator.id = :forecastGeneratorId</domain>
<context name="forecastGeneratorId" expr="eval: __self__?.id"/>
</action-view>
</object-views>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="forecast-reason-grid" title="Forecast reasons" model="com.axelor.apps.cash.management.db.ForecastReason">
<field name="reason"/>
</grid>
<form name="forecast-reason-form" title="Forecast reason" model="com.axelor.apps.cash.management.db.ForecastReason">
<panel name="mainPanel" >
<field name="reason" colSpan="12"/>
</panel>
</form>
</object-views>

View File

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="forecast-recap-grid" title="Forecast Recaps" model="com.axelor.apps.cash.management.db.ForecastRecap">
<field name="company" if="__config__.app.getApp('base').getEnableMultiCompany()"/>
<field name="bankDetails" if="__config__.app.getApp('base').getManageMultiBanks()"/>
<field name="fromDate"/>
<field name="toDate"/>
</grid>
<form name="forecast-recap-form" title="Forecast Recap" model="com.axelor.apps.cash.management.db.ForecastRecap"
onNew="action-forecast-recap-record-default-on-new" width="large">
<toolbar>
<button name="printBtn" title="Print" icon="fa-print" onClick="save,action-forecast-recap-view-reports-wizard"/>
</toolbar>
<panel name="mainPanel" >
<panel name="seqPanel" colSpan="12">
<field name="forecastRecapSeq" showTitle="false" colSpan="12" css="label-bold bold large"/>
</panel>
<field name="company" canEdit="false" onChange="action-forecast-record-bank, action-forecast-recap-record-currency"/>
<field name="bankDetails" onSelect="action-accounting-batch-attrs-bank-details-domain" if="__config__.app.getApp('base').getManageMultiBanks()"/>
<field name="fromDate" onChange="action-forecast-recap-validate-dates"/>
<field name="toDate" onChange="action-forecast-recap-validate-dates"/>
<field name="opportunitiesTypeSelect"/>
<field name="startingBalance"/>
<button name="populateRecapBtn" title="Populate" onClick="action-forecast-recap-validate-dates-before-populate,save,action-forecast-recap-method-populate"/>
<panel-dashlet name="forecastRecapLineListPanel" showIf="id" height="500" action="action-forecast-recap-view-show-forecast-recap-line-list" colSpan="12"/>
<field name="endingBalance" readonly="true" colSpan="4"/>
<field name="currency" readonly="true" colSpan="4"/>
<field name="calculationDate" colSpan="4"/>
<field name="isReport" hidden="true"/>
</panel>
</form>
<form model="com.axelor.apps.base.db.Wizard" title="Reports" name="forecast-recap-print-wizard-form">
<panel name="mainPanel">
<field name="$reportTypeSelect" title="Format" selection="forecast.recap.report.type.select" colSpan="3" type="string"/>
<button name="printBtn" title="Print" onClick="action-forecast-recap-method-print" readonlyIf="$reportTypeSelect == null" colSpan="3"/>
</panel>
</form>
<grid name="forecast-report-grid" title="Forecast Reports" model="com.axelor.apps.cash.management.db.ForecastRecap">
<field name="company"/>
<field name="bankDetails" if="__config__.app.getApp('base').getManageMultiBanks()"/>
<field name="fromDate"/>
<field name="toDate"/>
</grid>
<form name="forecast-report-form" title="Forecast Report" model="com.axelor.apps.cash.management.db.ForecastRecap"
onNew="action-forecast-report-record-default-on-new">
<panel name="mainPanel" >
<field name="company" canEdit="false" onChange="action-forecast-record-bank, action-forecast-recap-record-currency" colSpan="4" required="true"/>
<field name="bankDetails" onSelect="action-accounting-batch-attrs-bank-details-domain" if="__config__.app.getApp('base').getManageMultiBanks()" colSpan="4"/>
<field name="salesMan" canNew="false" canEdit="false" canView="false" colSpan="4"/>
<field name="fromDate" onChange="action-forecast-recap-validate-dates" required="true"/>
<field name="toDate" onChange="action-forecast-recap-validate-dates" required="true"/>
<field name="opportunitiesTypeSelect" colSpan="12" width="50%"/>
<field name="displayTypeSelect"/>
<button name="updateBtn" title="Update" onClick="save, action-forecast-report-refresh"/>
<panel-dashlet name="reportDashletSalesPanel" action="forecast.report.sales.dashlet" colSpan="12" hideIf="displayTypeSelect == 2"/>
<panel-dashlet name="reportDashletSpendingPanel" action="forecast.report.spending.dashlet" colSpan="12" hideIf="displayTypeSelect == 1"/>
<panel-dashlet name="reportDashletMargesPanel" action="forecast.report.marges.dashlet" colSpan="12" hideIf="displayTypeSelect != 3"/>
<field name="isReport" hidden="true"/>
</panel>
</form>
<action-view title="Sales" name="forecast.report.sales.dashlet">
<view type="chart" name="chart.forecast.report.sales"/>
<context name="_id" expr="eval: id" />
</action-view>
<action-view title="Spending" name="forecast.report.spending.dashlet">
<view type="chart" name="chart.forecast.report.spending"/>
<context name="_id" expr="eval: id" />
</action-view>
<action-view title="Marges" name="forecast.report.marges.dashlet">
<view type="chart" name="chart.forecast.report.marges"/>
<context name="_id" expr="eval: id" />
</action-view>
<action-view name="action-forecast-recap-view-show-forecast-recap-line-list" title="Details" model="com.axelor.apps.cash.management.db.ForecastRecapLine">
<view type="grid" name="forecast-recap-line-grid"/>
<view type="form" name="forecast-recap-line-form"/>
<view-param name="limit" value="100"/>
<domain>self.forecastRecap.id = :forecastRecap</domain>
<context name="forecastRecap" expr="eval: __self__?.id"/>
</action-view>
<action-attrs name="action-forecast-report-refresh">
<attribute for="reportDashlet" name="refresh" expr="true"/>
</action-attrs>
<action-record name="action-forecast-recap-record-currency" model="com.axelor.apps.cash.management.db.ForecastRecap">
<field name="currency" expr="company?.currency"/>
</action-record>
<action-record name="action-forecast-recap-record-default-on-new" model="com.axelor.apps.cash.management.db.ForecastRecap">
<field name="company" expr="eval: __user__.activeCompany"/>
<field name="currency" expr="eval: __user__.activeCompany?.currency"/>
<field name="isReport" expr="eval: false"/>
</action-record>
<action-record name="action-forecast-report-record-default-on-new" model="com.axelor.apps.cash.management.db.ForecastRecap">
<field name="company" expr="eval: __user__.activeCompany"/>
<field name="currency" expr="eval: __user__.activeCompany?.currency"/>
<field name="isReport" expr="eval: true"/>
</action-record>
<action-validate name="action-forecast-recap-validate-dates">
<error message="Invalid dates" if="toDate != null &amp;&amp; fromDate != null &amp;&amp; toDate &lt; fromDate" action="action-forecast-recap-null-toDate"/>
</action-validate>
<action-record name="action-forecast-recap-null-toDate" model="com.axelor.apps.cash.management.db.ForecastRecap">
<field name="toDate" expr="eval: null"/>
</action-record>
<action-validate name="action-forecast-recap-validate-dates-before-populate">
<error message="Invalid dates" if="toDate == null || fromDate == null"/>
</action-validate>
<action-method name="action-forecast-recap-method-populate">
<call class="com.axelor.apps.cash.management.web.ForecastRecapController" method="populate"/>
</action-method>
<action-view name="action-forecast-recap-view-reports-wizard" title="Reports"
model="com.axelor.apps.cash.management.db.ForecastRecap" >
<view type="form" name="forecast-recap-print-wizard-form" />
<view-param name="popup" value="true"/>
<view-param name="show-toolbar" value="false"/>
<view-param name="show-confirm" value="false" />
<view-param name="popup-save" value="false"/>
<context name="_forecastRecapId" expr="eval: id"/>
</action-view>
<action-method name="action-forecast-recap-method-print">
<call class="com.axelor.apps.cash.management.web.ForecastRecapController" method="print"/>
</action-method>
</object-views>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<grid name="forecast-recap-line-grid" title="Lines" model="com.axelor.apps.cash.management.db.ForecastRecapLine" orderBy="estimatedDate,typeSelect,id">
<field name="estimatedDate"/>
<field name="typeSelect"/>
<field name="relatedToSelectName"/>
<field name="amount" aggregate="sum"/>
<field name="balance"/>
</grid>
<form name="forecast-recap-line-form" title="Line" model="com.axelor.apps.cash.management.db.ForecastRecapLine">
<panel name="mainPanel" >
<field name="estimatedDate"/>
<field name="typeSelect"/>
<field name="relatedToSelect" widget="RefSelect" x-related="relatedToSelectId" readonly="true"/>
<field name="amount"/>
<field name="balance"/>
</panel>
</form>
</object-views>

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<menuitem name="forecast-root" title="Cash management" order="-86" if="__config__.app.isApp('cash-management')"
icon="fa-money" icon-background="#e0a83c"/>
<menuitem name="forecast-root-forecast" order="10" parent="forecast-root"
title="Forecasts" action="forecast.root.forecast" />
<action-view name="forecast.root.forecast" title="Forecasts"
model="com.axelor.apps.cash.management.db.Forecast" >
<view type="grid" name="forecast-grid" />
<view type="form" name="forecast-form" />
</action-view>
<menuitem name="forecast-root-forecast-recap" order="20" parent="forecast-root"
title="Forecast Recaps" action="forecast.root.forecast.recap" />
<action-view name="forecast.root.forecast.recap" title="Forecast Recaps"
model="com.axelor.apps.cash.management.db.ForecastRecap" >
<view type="grid" name="forecast-recap-grid" />
<view type="form" name="forecast-recap-form" />
<domain>self.isReport != true</domain>
</action-view>
<menuitem name="forecast-root-forecast-report" order="30" parent="forecast-root" title="Forecast Reports" action="forecast.root.forecast.report" icon="fa-bar-chart"/>
<action-view name="forecast.root.forecast.report" title="Forecast Reports"
model="com.axelor.apps.cash.management.db.ForecastRecap" >
<view type="grid" name="forecast-report-grid" />
<view type="form" name="forecast-report-form" />
<domain>self.isReport = true</domain>
</action-view>
<menuitem name="forecast-conf" title="Configuration" order="200" parent="forecast-root" icon="fa-cog"/>
<menuitem name="forecast-conf-forecast-generator" order="10" parent="forecast-conf"
title="Forecast Assistants" action="forecast.conf.forecast.generator" />
<action-view name="forecast.conf.forecast.generator" title="Forecast Assistants"
model="com.axelor.apps.cash.management.db.ForecastGenerator" >
<view type="grid" name="forecast-generator-grid" />
<view type="form" name="forecast-generator-form" />
</action-view>
<menuitem name="forecast-conf-forecast-reason" order="20" parent="forecast-conf"
title="Forecast Reasons" action="forecast.conf.forecast.reason" />
<action-view name="forecast.conf.forecast.reason" title="Forecast Reasons"
model="com.axelor.apps.cash.management.db.ForecastReason" >
<view type="grid" name="forecast-reason-grid" />
<view type="form" name="forecast-reason-form" />
</action-view>
</object-views>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<action-record name="action-partner-record-set-default-cash-management" model="com.axelor.apps.base.db.Partner" if-module="axelor-cash-management">
<field name="paymentDelay" expr="eval: __user__.activeCompany?.customerPaymentDelay" if="_isCustomer"/>
<field name="paymentDelay" expr="eval: __user__.activeCompany?.supplierPaymentDelay" if="_isSupplier"/>
</action-record>
</object-views>

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object-views xmlns="http://axelor.com/xml/ns/object-views"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/object-views http://axelor.com/xml/ns/object-views/object-views_5.2.xsd">
<selection name="forecast.realized.select">
<option value="1">Yes</option>
<option value="2">No</option>
<option value="3">Auto</option>
</selection>
<selection name="forecast.opportunities.type.select">
<option value="1">No</option>
<option value="2">Base</option>
<option value="3">Worst</option>
<option value="4">Best</option>
</selection>
<selection name="display.type.select">
<option value="1">Sales</option>
<option value="2">Spending</option>
<option value="3">Both</option>
</selection>
<selection name="forecast.recap.line.related.to.select">
<option value="com.axelor.apps.sale.db.SaleOrder" data-grid="sale-order-grid" data-form="sale-order-form">Sale order</option>
<option value="com.axelor.apps.purchase.db.PurchaseOrder" data-grid="purchase-order-grid" data-form="purchase-order-form">Purchase order</option>
<option value="com.axelor.apps.account.db.Invoice" data-grid="invoice-grid" data-form="invoice-form">Invoice</option>
<option value="com.axelor.apps.hr.db.Expense" data-grid="expense-grid" data-form="expense-form">Expense</option>
<option value="com.axelor.apps.cash.management.db.ForecastReason" data-grid="forecast-reason-grid" data-form="forecast-reason-form">Forecast reason</option>
</selection>
<selection name="sequence.generic.code.select" id="cash.management.sequence.generic.code.select">
<option value="forecastRecap">Forecast Recap</option>
</selection>
<selection name="forecast.recap.report.type.select">
<option value="pdf">PDF</option>
<option value="xlsx">XLS</option>
<option value="ods">ODS</option>
</selection>
</object-views>